You can kill the background for speed, if you wish.[x]

Saturday, April 25, 2009

VirtualBox: Reliving the Glory Days

I cut my teeth on good old DOS, with Word Perfect 5.1. I have distinct memories of watching my dad in his office, and vividly remember watching him type on his laptop and have words come up on the screen - I thought it was fascinating, and always wanted to play with this machine - something about pushing the buttons and having them come up on the screen was just mind-blowing to my 4-year-old brain. And this wasn't any old computer - it was a laptop! A good old Bondwell B200 - it had a 3-color screen (blue, white, and bluish-white), dual 720k 3.5" floppy drives, and no hard drive. What a wonder it was. We had two of them - I think, hope, perhaps, that we still have one somewhere in the garage.
As I grew in my tinkering, I remember seeing e-mails (on the Windows for Workgroups 3.11 machine we had back home) where you scrolled down, and the text would animate itself, and recombine...the one I remember played with the "GOD IS NOWHERE"/"GOD IS NOW HERE" trick (I was a preacher's kid), and some other things. I figured out how these worked, and dabbled with creating them myself, of course on the good old Bondwell. Unfortunately, the scrolling was far too slow and choppy to actually accomplish anything.
I also would make shapes (crocodiles, I remember particularly) out of the mysterious "Blocking" that Word Perfect 5.1 had, and was confused as to why they never printed out. I also still to this day don't know how to get the menu to show up - Helen, my dad's secretary, always had it up, and I could never remember how she did it, which was the cause of much vexation.
I even wrote poems and stories - one in particular I remember involved Betelgeuse and stegosauruses. Even now I can't spell either one, although I'm pretty sure I got it right back in the day. I'm going to have to dig through some old hard drives and floppies, to see if I can find any of this stuff.
But anyway...what inspired this trip down memory lane? Well, I have for a long time used the excellent VirtualBox to run Windows XP inside of my Ubuntu install, but recently decided to meddle around with trying to get some older OSes running on it - initially Window 98SE, just to have a smaller, faster OS for basic stuff. Well, I still don't have 98 up and running, but thanks to the awesome folks over at VetusWare, I have managed to get my old friend, WFW 3.11, up and running. It took a bit of doing, because the download included folders for each disk, but I needed floppy images to mount in VirtualBox. Since I'm in Linux, however, that's not too difficult of a procedure:
joel@geekmobile:~$ dd bs=512 count=2800 if=/dev/zero of=floppy.img
joel@geekmobile:~$ mkfs.msdos floppy.img 
joel@geekmobile:~$ sudo losetup /dev/loop0 floppy.img
joel@geekmobile:~$ sudo mkdir /media/floppy/
joel@geekmobile:~$ sudo mount /dev/loop0 /media/floppy/
Line by line, this:
  1. Creates a 1.4MB floppy image file, initialized to zeroes (copy 2800 blocks of 512 bytes from /dev/zero into floppy.img)
  2. Initialize it with an MSDOS filesystem
  3. Set up a local loop with the new image
  4. Create a mount point for it
  5. Mount the new loop at /media/floppy
A floppy then shows up in my Disk Mounter applet (highly recommended, otherwise it'll be in your Places menu). I can then copy the contents of each folder into the floppy, copy off the image file somewhere (I created a "WFW311" folder in a "Source Images" folder in my ~/.VirtualBox folder, to keep things nice and organized), clear the floppy, copy the second folder in, rinse and repeat. This gave me image files for all eight setup floppies. After installing DOS 6.22 from a Boot Floppy image, I mounted each WIN311 image and ran through the install fairly painlessly.
I did hit a couple snags, though. After a bit of work, I got it to support 1024x768 using some handy instructions over at the VirtualBox forums. The instructions there for CD-ROM support, however, were less helpful, which was unfortunate, because my next quest - installing the infamous Microsoft BOB - required more than just a floppy could handle.
I finally got it working, and I think the thing that made it work was just throwing the CD-ROM driver in C:\, and not any subfolder. The significant parts of my final CONFIG.SYS and AUTOEXEC.BAT looked like this:
A few things to note:
  • The thing after the /D: is just a string. It can be whatever you want. "MSCD001","IDECD000","KITTENS"...anything, as long as it matches in both CONFIG.SYS and AUTOEXEC.BAT, and isn't more than 8 characters.
  • I ended up using VIDE-CDD.SYS, which you can find in this list, under "ACER". I think the one I found came with a setup program, but I can't seem to find it again. Just the driver should work, though.
  • I thought perhaps just copying it into the C:\ directory had fixed it, but it appears that VirtualBox still hangs, at least with the OAKCDROM.SYS that I tried. So stick with the VIDE-CDD.SYS
  • The PROMPT line is just for fun, it modifies the classic C:\> prompt. I remember our computer had some scripture I think, it's always fun to play with. See the ancient article over at Smart Computing for more info on that.
  • I'm not sure if the EMM386 part is necessary, but it doesn't hurt anything.
Now, I will note that I did actually try "KITTENS", and it does indeed work. Here's proof:
Something about "Drive D: = Driver KITTENS unit 0" makes me chuckle a bit. I think I'll leave it that way.
Anyway, once I got the CD support working, it was pretty straightforward to install BOB - VetusWare, of course, had it available, so I unzipped it, created an ISO out of it with Brasero, the default disc burner in Ubuntu, by simply creating a data project, hitting "Burn", and telling it to make it an ISO (putting it, of course, in my "Source Images" folder). Mounting that CD in VirtualBox and running the Setup from DOS automatically booted Windows and, after hitting Ctrl-Alt-Delete and Esc (the 1024x768 setup is troublesome, but that little hack fixes it), and telling it my name (which is only slightly creepy), I was greeted with this happy little button: I cheerily clicked it, it did the install with ads telling me how wonderful it would make my life, and how great of a company Microsoft is, I found a program group for Microsoft Bob. Double-clicking it opened up a very trippy, very long display test of some sort, that I'm convinced is actually designed to mess with your brain to get you ready for the experience that is MSBOB. These little red tubules squirmed and was quite the experience: Once it started up, after some annoying input validation, I selected the Sun Room for my private area, and went in: A quick scan through and...WHAT IS THIS? GEOSAFARI? I have very fond memories of real, physical GeoSafari units from my childhood...this Microsoft Bob thing might not be bad after all! After some fiddling, I realized I hadn't enabled sound in VirtualBox. After setting VirtualBox to SoundBlaster16 and ALSA output, I installed the SoundBlaster 1.5 driver in Windows 3.1, with Port 220 and IRQ 5, and hurrah! It speaks! After a rousing game of GeoSafari (which was obnoxiously slow, I might add, and kind of creepy) involving, oddly enough, the capital of my birthstate, it's time to head to sleep...the little square clock in my sun room informs me that it is approaching 5:00am. I bid farewell to a sad little puppy, and look forward to adventures with my old friend Word Perfect 5.1 to come.

No comments: