Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/mwexler/public_html/tp/textpattern/lib/txplib_db.php on line 14
The Net Takeaway: DOS the way, Uh Huh, Uh Huh, I like it...


Danny Flamberg's Blog
Danny has been marketing for a while, and his articles and work reflect great understanding of data driven marketing.

Eric Peterson the Demystifier
Eric gets metrics, analytics, interactive, and the real world. His advice is worth taking...

Geeking with Greg
Greg Linden created Amazon's recommendation system, so imagine what can write about...

Ned Batchelder's Blog
Ned just finds and writes interesting things. I don't know how he does it.

R at LoyaltyMatrix
Jim Porzak tells of his real-life use of R for marketing analysis.






DOS the way, Uh Huh, Uh Huh, I like it... · 07/31/2007 12:45 PM, Tech

Yes, that was decrepit. Sorry.

Anyway, in cleaning out the basement, I unpacked a box and found a stack of floppies… around 200 or so. Mixed in with the 8” disk (a collector’s item!) were a few 5 1/4” and the rest were 3.5”. Once I opened the next box and found an old floppy drive, I was able to read most of them: a collection of games and toys from when games had to have good gameplay and didn’t cost as much to make (or buy) as a movie.

So, my adventures to try to revisit the days of Tyrian (and yes, its now free as Tyrian 2000), Raptor, and Zoop.
(Trivia: Zoop is a great game; did you know that Joel Spolsky (of JoelOnSoftware fame) worked on this project? See his Java applet version. Other versions can be seen at

I. In which Windows compatibility mode is found to be incompatible.
Windows XP has the ability to store metadata around an executable to modify its environment to more resemble the old days (right click on the exe, properties, go to “compatibility” tab). However, practically none of these games worked properly. Some had memory issues, sound rarely worked, and timing was way off. There are programs like Mo Slow to slow down old programs, and VDMSound for SoundBlaster emulation, but at the end of the day, its a bunch of work. BTW, if you want to try, a whole list of these tips are at Running DOS games in XP. But beware: these games assume they are running on dedicated hardware. I got my first Windows XP BSOD from doing this.

II. In which we Virtually attempt to achieve runtime

IIa. We return to DOS thrilling days of yesteryear…
Next obvious step… whip up Virtual PC (yes, I still haven’t switched to VMWare) and pop into DOS... oh wait, not only do I not have a DOS, there are no preconfigured images for VPC since it’s considered to suck. (Yes, lots of trial and preconfigured MS specific stuff at but nothing of any use: no linux, no DOS, no old windows. Sigh).

So, I grabbed FreeDos... and that was the waste of 6 good hours. FreeDos is admirable in its attempt to duplicate DOS (well, kernel aims for DOS 3.3, support apps aim for DOS 6.2). But, like every other open source project, the docs completely suck. Besides assuming that you code with DOS every day, besides assuming that you already have every driver you could ever need, there is just no documentation other than historical pointers. For example, here’s the entire documentation on setting up networking: HowToDosNetworking give a history of networking from the 80s, including things called “modem”, a necessity in these modern times. Oh, you wanted things like How To setup? How To Configure? How To work around errors? What would those be doing in a How To?

I’m a DOS expert from way back, but FreeDos couldn’t even document the differences between MSDOS and their incarnation, so things that should work just don’t.

Great idea, pathetic implementation. If you aren’t a DOS programmer from the 80s, this is a waste of time. Makes Linux Docs look like the Encyclopedia Britannica. Very disappointing.


IIb. Even the real DOS lacks a shell of value
A bit of hunting revealed that the old MS DOS disks are actually still floating around out there. (So is “DOS 7.1”, a version cobbled together of files from Win95 and a bunch of utility apps. I didn’t really get it to work, but clever idea.)

Grabbing those (sure its legal, I purchased the MS DOS 6.22 upgrade back in 80 or 90 or something), I installed those into VirtualPC and actually got it booting. But, of course, to really work with VirtualPC (and VMWare), you need some “Additions”, which enable things like file sharing outside of the virtual machine (how else to get your files into it? There are ways, but they are a pain (make an iso with your files, make a real floppy, etc.).

VirtualPC2007 includes these additions on an ISO, and its easy to mount (if you remembered to include the cd driver in the config.sys, edit config.sys, edit autoexec.bat, reboot, remount). However, the smart cats at MS never tested this ISO with DOS 6.22, because 6.22 can’t handle ISO lower case. (Remember? All the shareware CDs had to have 8 chars, all upper case. (You’d put mac and unix stuff in lower case so the DOS system wouldn’t be tempted to run them). So, you literally can’t get to the additions. Turns out that MS doesn’t care; DOS is no longer an “officially supported OS” on VPC; neither is Win95.

Sigh. Turns out that in VPC2004, the additions were on a Floppy image, and those worked fine. But where to get them? One of the best sites for solving these problems is EssJae’s VPC Page where he has kindly linked to them. (Also, consider searching for “DOS Virtual Machine Additions.vfd” if that link is down.)

Ok, got the VFD, mounted and ran the handy batch installer (missing from the VPC2007 ISO, would it have hurt to have added the 300 byte batch file?). Now, I could share files. I mounted the Zoop directory, changed to the drive, ran gload.exe…

And got an interrupt error. No game.

III. In which we learn about DOS Extenders and other nasty-sounding words
Zoop crashed right after the DOS/4G extender loaded. Now, for those who don’t remember, the early days of DOS kept it in the 640k region, and all those extra megs (not gigs) of memory were first Expanded (EMS) and then Extended (XMS) memory. Various configurators and tools were available to configure the memory, but programs had a terrible time managing it all. Some programmers used their own addins to manage memory, and the two most popular were the PharLap 386 extender and the DOS/4G & DOS/4GW extenders, initially by “Rational Systems” who renamed to “Trenberry” (great choice).

( and give much more info.)

Zoop used this DOS/4G, and said to use DOS/32A instead. Ok, what’s that? Turns out that some folks made an open source improvement and drop-in replacement for the DOS4G tools. DOS/32A is an easy download, but installing it varies depending on the game.

For more docs on this, I stumbled across which tells exactly how to work it into games. And so, for Zoop, I replaced the DOS4G with this, went back to VPC, and …

It worked. Plain and simple. It just worked.

Of course, it was molasses slow. VPC had turned this arcade game into a strategy board game.

So, VPC is too slow to run this. Time to load up VMWare… wait a second.

What page was that Dos32a stuff on? DosBox? I remember that…

IV. In which we learn that I am not alone in my plight, and DosBox is the bridge
DosBox is a great little project. A group set out to emulate only enough of DOS to get games to run. So, its fast, its easy, and it drops the ball on things like networking, database access, and all that other business stuff that a game doesn’t really need. For example, you get very few “command line utilities”, etc.

Its a fast install, and basically loads up to give you a mini DOS prompt. But what a difference from FreeDos and the rest… on loadup, it tells you everything you need to know:

Just simple. I mounted Zoop, and…

It was great. Speedy, sound worked, everything was as it should be. Hard to believe it’s open source.

V. In which all rejoice, but look ahead to future disquiet

So, in summary:
a) VPC can be great. But they sure make it hard
b) Open Source continues to be written by developers for developers. This will hold back the world til they get over this mental block. FreeDos epitomizes this plight.
c) Sometimes, folks just get it. DosBox shows what happens when you recognize who your audience is. (Yes, its docs need help too, but at least they make the offering as straightforward as they can).
d) Games from the 90s really are a ton of fun. The “Casual Gaming” movement, the return of retro arcade, this all points back to a movement against “event” games and back to “hey, this isn’t supposed be work or my 2nd life, its supposed to be fun”.

And that was the end of that leg of my journey. But there’s lots more to do:

* * *


  Textile Help
Please note that your email will be obfuscated via entities, so its ok to put a real one if you feel like it...

powered by Textpattern 4.0.4 (r1956)