VPC (Microsoft Virtual PC) and QNX 2

I had an interesting experience yesterday with VPC and QNX 2 that I’d like to share. I’ve been looking for a way to migrate my QNX 2 development system off of the Pentium 1 that it now resides on. Eventually that hardware will die, and then I’ll have no way to access the years of work I put into QNX 2. I know a little bit about VMware, but the $1000 price tag has kept me away so far. So I happened to read about Microsoft VPC, which is a free download and I thought I would try it.
I downloaded it and installed on a Celeron PIV 2.4Ghz running XP Professional.

First some good news. QNX 2 will boot off of a floppy, or a virtual floppy which you can set up with this software. I tried to have it boot off of a virtual disk. The disk parameters came up very strange, 114 heads or something similar. Getting QNX 2 to boot off of a hard drive was always a bit of a black art. You had to load the current driver with the exact parameters that the bios would see at boot time. For old AT drives this was obvious, but for LBA drives there can be problems. Booting QNX 2 off of a floppy is really no different from booting it off of a hard drive except for the time involved, so I conceeded this technicality. Otherwise it mostly seems to work. Networking is pretty much out of the question until Microsoft decides to support a virtual QNX QNET Arcnet card. There’s a very curious problem/bug with keyboard input to the shell. Sometimes when typing quickly, I see the wrong charactor, a duplicate of a previous one, but the data is still entered correctly. This does not happen with the full screen ed program. What is most curious about this, is that I seem to recall seeing the same problem years ago when not running in a virtual machine, something that was ultimately fixed. I’ll bet it is a race condition that only appears because this is now running 50 times faster than it was ever expected to.

I have about 60Meg of stuff that I’d like to bring over to this machine. Ok, how hard could it be to move this stuff over? Well CD-ROM is not possible. I can create the CD using QNX 4 and qnx2fsys, but QNX 2 can’t read a CD. The install software has a feature that looked promising, configuring a virtual hard drive to point at a real hard drive. This too turned out to be too good to be true. I’m not sure how this is supposed to work, but it seems that the hard drive needs to have some windows readable format, not a QNX 2 format. I even tried converting this type of drive to a virtual drive. The conversion took a long time and in the end was not readable by QNX 2.

My next idea was to use the virtual parallel port to connect to a Zip drive.
I wrote the driver, and I thought that this would be a snap. In fact, the driver did load and was able to access a Zip disk with the QNX 2 file system on it. When I tried to back this up to my hard drive, it would run for a while, maybe 30-60 seconds, and then it would always freeze, probably another race condition. The result was always a corrupted disk. I could fix this using chkfsys and continue loading, but to load the whole 60Meg would have taken hours. I considered trying to debug the driver problem, but then thought of better uses of my time, like washing my hair.

All this time I had an absolute backup plan. I would connect the two machines using the virtual serial connection, and use qtalk to move all the data over. This would take a long time, but it would work automatically.

files 3:/ -v >xfile
stty baud=38400 >$mdm
and off I went.

A few hours later, all was complete. One nice side to this arrangement is that I can now easily save the virtual machine and disks to a CD, preserving it for as long as Microsoft provides VPC, and Intel makes x86 processors. It’s not possible to write more than 1.44 Meg to a floppy, so I hope I never need to get anything off of this system. I didn’t check whether I could format a diskette, but I can always use XP to format the diskette and then use dinit to make it a QNX 2 diskette.

This whole operation reminds me of a joke I heard when I was an IBM mainframe programmer. 1950’s vintage computers sit in museums, while 1950’s software is loaded each night to process payroll.

vmware server is free.
You can install it on your Windows XP machine, or Linux box. I have QNX 6 running in my Linux box under the desk, and I can ssh to the QNX 6 remotely, or use vmware client to connect to the console of the virtual machine.

VMware Workstation sells for 189$ list price. Don’t know where you got the 1000$ price.

With Vwmare I was able to install a QNX2 application ( including QNX2 itself) from floppies onto a hardrive. It should also be no problem to read ( and even boot) from an already existing hardrive with QNX2 on it.

I got the price at their website, but I think it was VMware Infrastructure. I’ll look at the (free) VMware server when I get a chance.

Wow, VMware (server) seems so far to be a much better product, and for free no less. I went through the same process as with VPC but it took 1/10th the time. Should I be surprised? I don’t think so.

The Iomega Zip driver has a bi-directional parallel port, and it runs without a glitch.