Virtualization Just Isn't Cool Enough

That's right, folks, you heard me: As awesome as it is to be able cram two racks of servers into a few U, sometimes virtual environments just don't cut the mustard. And sometimes, they're just not that cool.

As technology advances and the wow-whiz-bang things of yesterday seem to slide into obscurity, a little voice buried deep in the back of my head gets louder and louder.  It doesn't tell me to kill or burn or maim (often), instead it puts forth the postulate that if those of us who spent many hours tinkering with once-great things don't bother to remember them, then who will?

When that voice first became audible a couple years ago, it lead to this: How to run a Virtual DOS BBS with Qemu.  At the time I was living in an apartment which seemingly ran off 2 15 amp circuits, so power was at a premium and I decided that instead of bucking new ideas (as I am very often wont to do) I'd set up my BBS in a virtual DOS machine instead of on a physical one.  The result?  It worked perfectly.  I was able to run all the BBS software I tried (PCBoard, Telegard and Renegade) without any problems and most of the better-written door games ran equally as flawlessly. In spite of what would appear to be a victory, all was not well, however: I was limited to only one node.

No matter what I tried or how I tinkered, I couldn't get QuarterDeck's QEMM to work properly which pretty much destroyed DesqView's ability to multitask, leaving me with something that wasn't much better than running the BBS directly from the DOS prompt.  Dejected, I wrote the article above more as a reference for myself and put my BBS project on hold until earlier this year.  I set up a virtual Windows 2003 server to play around with SharePoint using VMWare Server and decided I'd see how it did with DOS.

Much as Betty Botter discovered, the better butter did make the batter better: The BBS was much more responsive, didn't have the occasional freezes or lost characters I was experiencing with Qemu and it was considerably lighter on the processor.  The only difference between getting things rolling in VMWare Server vs. Qemu was replacing the packet driver (Qemu's emulated NIC is NE2000-compatible while VMware emulates an AMD PCNET 32, packet driver here). One big problem still remained, however: QEMM absolutely refused to work.

- Point Break

You guessed it, after trying a great many things (even using VirtualBox as a host) it became clear that the old adage still held true: Newer isn't always better.  I grabbed the old Pentium 166 I had stashed in the basement for just this occasion, rolled an MS-DOS 6.22 bootable CD containing the dist/ directory from the Qemu instructions and went to town.  After replacing the CMOS battery (thankfully a 2032 and not one of those 1/2AA things) and the broken NIC, she took to her new task like a duck to water (sorry for the crappy pix, cell phone's not cooperating today):

BBS Machine (front view)BBS machine (rear view)BBS Machine (guts)

Model: Packard Bell Platinum XI
Processor: Pentium 166/MMX
Memory: 16mb
Hard Drive: 1.6gb IDE
CD-ROM: Probably 8x ATAPI
Network: 3com Etherlink XL PCI (3C900-TPO)
OS: MS-DOS 6.22 + DESQview 2.8 + QEMM 8.03
BBS: Renegade 9-30.6

Note that this machine is a Pentium 166. I've had faster slide through my fingers over the years but the reason I clung so voraciously to this machine is a lot of door games are written in Borland's TurboPascal 6 and seem to have problems running on 200MHz and faster machines.  Either way, while I know it'll never run Crysis, it's currently humming away quite merrily running 4 Renegade call-in nodes (based on Big Dos in DESQView's launcher) and a Big Dos session where I can run a 5th local-only node or mess around with TheDraw.

One piece of advice I will give you that I overlooked should you decide to try this yourself: Be drunk, but don't be impulsive.  I wound up having to burn a second CD with the 3c900's packet driver to get the BBS going, plus NCSA Telnet and doslynx to make it easier to get files onto the machine.  You also have to remember that you need to start DESQView from rlfossil's command line for everything to work, so I created this bbs.bat and call it from autoexec.bat after loading the packet driver:


So now what?

Now it's time for the fun part: Setting it up.  ANSI screens to make, door games to install and set up...  All the stuff that made taking the shrinkwrap off that new BBS great.  I'm going to be passing around the connection info to some of the usual suspects over the next couple days to see if maybe we can get us a BRE or TradeWars game going.  I may even launch a search for the 128mb of 72pin SIMMs I have kicking around the house somewhere.

In retrospect, I think I really might have too much time on my hands.