It was 30 years ago today…


IBM released the PC onto the world.


For the occasion here is 86-DOS fished out from  This is what was sold to Microsoft as the basis for MS-DOS.

You too can behold this ancient gem here.

Maybe I should do something about the various versions and hunt out something capable of running MS-DOS 1.25..  I’m sure Peter has something for the  occasion!

Oh and I have to add this bit from

“Out of today’s mail:  Electronics, June 16, 1981:Under the heading (pg. 33) “Xerox to market personal computer…”
with the announcement of the 820 which most of you may have seen already, is “… with IBM to follow suit” Called Chess, it is an 8088-based system priced between $3-4K, and includes two DSDD 5-1/4 Tandon floppy drives, a detachable keyboard.  An OS “similar to CP/M” from Microsoft (IBM Personal Computer DOS), from 64K to 256K RAM, and a “600-by-400-line” B&W display and able to handle eight colors with a resolution of 400×200 pixels or four colors at 800×400.  Look for it to be announced next month and check out Sears, Computerland, and maybe J.C. Penney.”

The first mention of the IBM PC on usenet…

Neko screen saver via QEMU

A while back I found this post on IBM of all places on making a Windows screen saver out of Qemu.

I’ve always wanted to play with this but never really got around to it.  So I figured I’d give it a shot today, and whoa what a LOT of work.  First of all back then they were using Qemu 0.72 which… sucks compared to 0.14.1!

Next things have changed a *LOT* so it did take a bit of work to get this thing to go.  I’m not terribly happy with this but the upshot is that I did manage to create a CD-ROM ISO image that can:

Boot up, load the windows 3.0 demo which then kicks off Neko!

After exiting the demo, it’ll do an APM shutdown of the VM killing Qemu and returning you back to Windows.

So yes, in effect it is a neko screensaver using Windows 3.0 & Neko from 1991.  The installation is manual, the ISO has to live in C:\ .  There is no install program, and I don’t think it works on x86_64 machines.  Also the neat Windows preview thing doesn’t work (in the small window OR full screen preview..  And full screen textmode in Qemu is broken so while it’s doing the MS-DOS shuffle you’ll get garbage until it comes up in it’s VGA glory.

I’m kind of hesitant to release this but it it’s been driving me mad.  Also the changes to vl.c are in the ISO for the 2 or 3 people that care about how to remove the madding CLI options from Qemu and perhaps either read a config file, or hardcode it what to do.

So for those of you who think you can handle it, it’s right here.


Oh and the patch is like this in vl.c

    /* second pass of option parsing */
    optind = 1;
for(;;) {
        if (optind >= argc)
        if (argv[optind][0] != '-') {
              /* Going to run as a Windows screen saver */
              full_screen = 1 ;
                data_dir = ".";
              ram_size=16*1024*1024 ;
                no_reboot = 1;
                drive_add(IF_DEFAULT, 2, "c:\\neko.iso", CDROM_OPTS);

    optind--;       //turn off the 2nd uneeded flag...?
              rtc_utc = 0;
              optind += 1 ;
                else {
            hda_opts = drive_add(IF_DEFAULT, 0, argv[optind++], HD_OPTS);


2.11 BSD Unix for PIC32, build #826:
     Compiled 2011-08-07 by [email protected]:
phys mem  = 128 kbytes
user mem  = 96 kbytes
root dev  = (0,0)
root size = 16384 kbytes
swap size = 2048 kbytes
standard daemons: update.
Sun Aug  7 16:47:45 PST 2011

2.11 BSD UNIX (pic32) (console)

login: root
Welcome to RetroBSD!
# _

Wow isn’t that cool? Who needs a ‘basic stamp’ if you can have UNIX!  Not to mention it’s from Serge Vakulenko, of DEMOS fame!

From the main site:

RetroBSD is a port of 2.11BSD Unix intended for embedded systems with fixed memory mapping. The current target is Microchip PIC32microcontroller with 128 kbytes of RAM and 512 kbytes of Flash. PIC32 processor has MIPS M4K architecture, executable data memory and flexible RAM partitioning between user and kernel modes.

Main features:

  • Small resource requirements. RetroBSD requires only 128 kbytes of RAM to be up and running user applications.
  • Memory protection. Kernel memory is fully protected from user application using hardware mechanisms.
  • Open functionality. Usually, user application is fixed in Flash memory – but in case of RetroBSD, any number of applications could be placed into SD card, and run as required.
  • Real multitasking. Standard POSIX API is implemented (fork, exec, wait4 etc).
  • Development system on-board. It is possible to have C compiler in the system, and to recompile the user application (or the whole operating system) when needed.

Running Qemu as a Windows service …

Long story short I’m doing some work with a network that suffers a lot of ‘you can’t get there from here’.  They’ve given me VPN access and yet even the VPN cannot get to a lot of stuff.

The solution for them is to use this old server and ssh out from there to the rest of everything.  Which for the most part works fine, but if more then 2 people need to leapfrog suddenly you are waiting in line, or constantly knocking people off.

So I figured I’d do something different, install a QEMU virtual machine on the server during my allotted hour, and then launch it as a service so that I could leap in/out through the VM leaving the console free.

While I am going to add Qemu as a service, it is still somewhat stealthy as I don’t need device drivers, and I can run it nested as I know this machine is slated to be migrated to VMWare ESX.  And the best part of that is that it’ll continue to run.

So how do we set this kind of thing up?

The first thing you’ll need is srvany.exe instsrv.exe which both can be found in the Windows 2003 resource kit.

Installation is very straightforward, just remember to use complete paths for your Qemu, BIOS, and disk files.  Installation goes like this from the command line:

InstSrv qemu c:\qemu-0.15.0\srvany.exe

This will create a service entry named Qemu, which will in turn kick off the srvany executable from the resource kit.  Now I know what you are thinking, what about Qemu?  Well we have to specify that using regedit.  Also remember that because you are going to run this as a service you don’t want the SDL display popping up and scaring some poor hapless user.  So the first thing I’d recommend is to work out the flags that you want to start with.  Something like this:

c:\qemu-0.15.0\qemu -L c:\qemu-0.15.0\qemu\pc-bios -hda mydisk -net nic -net user -redir tcp:2222::22 -vnc w.x.y.z:2223

This will redirect tcp port 2222 into the VM for ssh, and sits the VNC display on port 2223 …

So we fire up regedit and navagate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Qemu

There we add a new key “Parameters”.  Then add an ASCII key of “Application” then just paste in the all of the qemu flags as mentioned above (or changed as needed by you).

Then you can simply start/stop the thing using the net start/net stop.

I suppose this is a little subversive (lol) but sometimes you’ve got work to do and the best way through it to piggyback on someone else’s computer.  Also I really fail to see the ‘wisdom’ in creating ACLs that only permit you to access your routers/switches from your desktop when you could easily *NOT* be in the office.  Or this guy just likes the excuse of not being able to work from home.

Anyways not to ramble but that’s how I ‘fixed’ the issue without ruffling too many feathers.

Qemu 0.15.0 released!

Here is the changelog.

I haven’t had that much time to review it myself, but I did manage to get some binaries built!

For 99% of the people out there this is the i386 & x86_64 emulators.

I’ve moved the default NE2000 to 0x320 IRQ 10 (as always), and included support for my quick control-alt-delete & reset via control-alt-d & control-alt-r. I’ve also included the adlib emulation to go along with the SoundBlaster support (why is this left off by default?).

And for those who need the other CPU types (ARM/PowerPC/MIPS/M68k/S390) you can download it here.

All of these were built with MinGW, and are all Win32 exe’s.

Someone had mentioned dinosaurs …


Once upon a time Novell had been an unstoppable force.  Then something happened they stopped innovating, and laughed as a ‘desktop’ unix killer did just that and ate the mid range/server PC market.

With all that’s been happening to RIM and all the cash they are sitting on I wonder if they’ll end up like Novell.

Time will tell no doubt.



Linux on Qemu’s s390x-softmmu

It’s getting there….!

With a bit of poking around in the latest Qemu 0.15.0 rc2 beta, the S390x now builds by default.  Finding something for it to run was a bit of a stretch but I should have figured that Debian would have something.

It does take a few seconds to boot up, and by default you’ll just be sitting at a blank screen until you toggle to the virtcon0 screen.

But it’s VERY snappy… I haven’t gotten it to install (unsupported NIC?!) but I’m pretty positive it’s 100% my fault.  I’m just happy I saw it boot.  And it runs the busybox stuff just fine so it’s tentatively working.

If anyone wants to give it a whirl, download my exe, and the kernel/init.rd I’ve found that at least boot up here.

I’m hoping this will spur someone to spell out how/what to install onto it, and maybe if things like MUSIC/SP and CMS will run on it… That’d be fantastic!

In the meantime I’d imagine this combined with KVM on people with accelerated configs will enjoy some SERIOUS competition to the IBM Mainframe monopoly!


Sorry for the outage.

But the people I rent this VM from have had troubles.  I know it kind of feels like that week long blogger outage all over again…. 😐

But I do like these guys in that they are far more open & honest about what is going on.

For the two or three people that care, their report on the outage is here.

Since we are running on some kind of USB dongal it is a hint that more outages are about to be ahead… I guess the hint here is to BACK UP!… So let’s hope this Uncle Joe’s EZPC OCB is going to work.. !