in Geezer, Mr. Fixit, X-Geek

I now remember why I left DOS behind

This is harder to emulate than you think.

Because I apparently haven’t had enough technical challenges to solve, this weekend I decided to return to my little side project of getting my old DOS-based PCBoard BBS running in a virtual machine. For this project I’m using oVirt as the VM host and booting FreeDOS 1.2.

Needless to say, I’m running into some challenges. My first thought is: oh my God what a kludgy mess DOS is! It’s a half-assed solution on top of a half-assed solution on top of a half-assed solution. Device drivers up the wazoo. More than 640K memory? Gotta load EMM drivers. Want to use a CD? Load an ATAPI driver. Want USB? Hah, not available! Want networking? Find a packet driver for your specific network card and ensure you use the right interrupts. Oh, and you’ll still need to load a separate TCP/IP stack! With so many parts to the puzzle it’s a miracle anything ever worked at all!

It took me a little while but I finally did get my DOS VM networked via TCP/IP. Then when I loaded PCBoard it initially seemed to be looking for a (non-existent) modem. Subsequent runs had it complaining about “Cannot run as a child of BASIC” before exiting. I am assuming this is a problem with the way PCBoard was compiled using QuickBASIC and QuickBASIC (QB) might not be playing nicely with FreeDOS. I’ve seen others say QB works fine with FreeDOS but I don’t know if that applies to the compiled programs or not.

So, now I’m on to installing a DOS VM using MS-DOS 6.22. I can’t imagine QuickBASIC not liking MS-DOS.

The project continues. It may or may not be worth the trouble but at the very least it is a reminder of just how far we’ve come with operating systems!