HOW TO: Coax retro DOS games to play on Vista

James Bannan13 October 2006, 2:38 PM

In the interests of regressing to my childhood (and in a bout of geek-fuelled masochism), I tried to get some classics up and running on Windows Vista. Space Quest I, Commander Keen, Duke Nukem...


640KB Is Enough For Anyone

Remember all those awesome games back in the pre-Windows days? Space Quest, Commander Keen, Doom…no-one had heard of Blizzard, and Sierra ruled supreme.

Of course, it wasn’t all sweetness and light. Those games could be quite finicky about the machines they played on, so many hours were devoted to tweaking those AUTOEXEC.BAT and CONFIG.SYS files, trying to load as much into HIMEM as possible, all in the interests of squeezing an extra 10KB out of that precious 640KB base memory.

I think the best I ever managed was every driver loaded with 632KB base memory left over. It was a good day.

And then Windows came along, just to complicate things. Luckily, Windows 3x wasn’t really an operating system, rather a collection of applications which sat on top of DOS. So to get around that we started writing long and complex AUTOEXEC scripts, with a boot/memory configuration to meet each and every need. Man, there was a LOT of rebooting those days. However the hardware wasn’t too complex, so the restarts were actually faster. Funny how things “develop”, isn’t it?

dos02_small.png

Anyhoo, nowadays we don’t have to worry about one game wanting EMS while another wanted as much XMS as you could throw at it - the game installs and Windows takes care of the rest (assuming your drivers are OK, but that’s a modern-day headache).

But what about all those awesome games? I remember devoting hours to Death Knights of Krynn, Wing Commander and every Sierra adventure I could lay my hands on. Of course they’re incredibly dated by today’s gaming standards, but from a pure gameplay perspective, they still have lots to offer (if you can get past the graphics).

Unfortunately for our reminiscences, time has not been friendly to the old DOS games. Windows has become increasingly incapable of supporting them. Windows 9x wasn’t too bad, but then it still had quite a lot of embedded 16-bit architecture. Ungenerously, it was a GUI for DOS. Once the NT-based builds started to dominate, however, time was ticking down for my old pixellated friends.

dos01_small.png

So in the interests of regressing to my childhood (and geek-fuelled masochism), I tried to get some classics up and running on Windows Vista.

Tweak Central

Vista’s approach to application compatibility is very much the same as Windows XP. Any application can be run in compatibility mode, whereby Windows emulates an earlier operating system (Windows, obviously) to try and get things running. It’s almost like virtualisation - the host OS presents the client with a hardware configuration it thinks it can handle.

In Vista, compatibility is managed by right-clicking on either the main application EXE, or a shortcut to that EXE, and then click the Compatibility tab.

Vista can emulate anything from Windows 95 to Windows 2003 SP1, all of which is very funky, but none of which directly helps you with DOS.

In fact for DOS apps, the only one of any help is “Run the program as an administrator”. This is actually very necessary - DOS had a very direct approach to hardware and knew nothing of user accounts or security, whereas Vista seems to run on little else.

Standard administrative access to the box won’t cut it, and the app is guaranteed to crash citing an NTVDM.EXE error. Run it as administrator and this won’t be a problem.

However, that’s not the end of your woes. Vista recognises that the app you’re looking at is DOS-based, and it tried to come to the party with options for running the program, configuring memory, fonts and screen settings, and you can get happily lost tweaking to your heart’s delight, even to the extent of editing the AUTOEXEC and CONFIG files (yes, they still exist - hidden away as .NT files in \Windows\System32).

But, it seems to be mostly in vain. I tried a few apps which weren’t even that old, by DOS standards - One Must Fall: 2097 and Space Quest 1 (the updated version). OMF2097 did run, but half the key mappings were missing and performance was woeful. Space Quest just bombed constantly.

dos03_small.png

So, it does appear that in it’s ever-reaching quest for perfection (cough splutter), Microsoft has left the old warhorses out in the pasture.

But all is by no means lost. My new favourite application and cause of hours of lost productivity is DOSBox. This opensource application runs up a shell window which emulates a DOS environment perfectly. The major advantage of DOSBox is that it handles all requests between Windows and the DOS window, so you don’t need to worry about compatibility. And yes, Vista runs it perfectly.

It’s doesn’t worry about memory allocation - that’s all done automatically. What you can do is tweak how it emulates x86 hardware - graphics type, sound card emulation, key mapping and so on. It’s a seriously robust shell which doesn’t have a negative impact on the host OS at all. You can pause the shell without affecting the game, and even capture the shell into a movie. It rocks.

One of the major problems of playing DOS games on modern hardware is addressed - that of CPU speed. Some games, when they DO load on a modern system, are running so fast that’s it’s impossible to play. DOSBox even emulates the processor, and can ramp the available CPU cycles up or down without having to quit the shell. The default value is 3000 cycles - I found on Pentium 4 3.0-3.8GHz machines, that 10000-11000 cycles ran things pretty smoothly.

dos05_small.png

The only thing to watch out for with DOSBox are Windows Sticky Keys. These are accessibility features for physically-handicapped users, and they are activated by pressing a particular combination of keys which a normal user wouldn’t be likely to stumble across. However, hitting SHIFT five times in a row is more than probable during gameplay, and DOSBox doesn’t partitition keyboard or mouse activity away from the host OS. So be sure to use this key combination to bring up Sticky Keys and disable it, before it pops up mid-game and drops DOSBox’s focus, giving your opponent a great opportunity to beat you into the ground.

dos04_small.png

So, download DOSBox and load up some abandonware! Of course, that’s a highly immoral thing to do, but if your morals are feeling frayed or in need of a holiday, take yourself off to http://www.abandonia.com and relive the good ‘ol days.

Post your comment



Comments

RSS feed Email alert

Kelvin:

I find the best DOS game to challenge backwards compatibility is Ultima VII and its Serpent Isle sequel. Origin Systems used a proprietary memory manager which strictly required >600Kb in base memory and no usage of EMM386. Even with a true retro MS-DOS machine it was a challenge to achieve, after loading SMARTDRV and your mouse driver!

The other sticking point with running DOS games is sound support. Quite a few had very strict limitations on the port address and IRQs for sound cards, and quite often I find that the 'virtual' Sound Blasters in DOS emulation just didn't work. Even back in their day some games were finicky, eg. Syndicate just sounded weird on a genuine Sound Blaster 16 and worked best with a Sound Blaster 8-bit mono card.

If you're willing to look around on the internet you will find freeware loaders which allow you to run some old games in a new Windows-based engine. ScummVM can run a lot of the LucasArts adventures, and there's a few emulation layers specifically designed for the Origin Ultima series.

29 February 2008, 8:29 PM (5 years ago)report abuse Send to a friend reply

someone:

Any solution for running Win16 API apps on x64 Windows since NTVDM is removed?

29 February 2008, 8:29 PM (5 years ago)report abuse Send to a friend reply

Dominus:

16bit windows programs can be run on Dosbox as well, as long as you care to install a Windows 3.x version IN Dosbox. After that you run 16bit windows programs inside Windows 3.x which runs in DosBox which runs in Vista :)

29 February 2008, 8:29 PM (5 years ago)report abuse Send to a friend reply

jake (New user):

i have windows 3.1 instaled on dosbox

15 May 2008, 12:59 AM (5 years ago)report abuse Send to a friend reply

felix:

Install 3.1, 9X, XP 32-bit into the virtual machine / emulated environment. Dosbox will only work up to WfW 3.11, but Qemu, VPC, VmWare will run almost anything.

29 February 2008, 8:29 PM (5 years ago)report abuse Send to a friend reply

jake (New user):

lol i can fit ova 256 dos games on a cd
funny that

14 April 2008, 2:37 AM (5 years ago)report abuse Send to a friend reply

jake (New user):

i havent had any problem playing any of my over 256 dos games on vista
lol i van fit ova 256 dos games on a cd
funny that but i have dosbox with windows 3.1 just in case it dont work

14 April 2008, 2:40 AM (5 years ago)report abuse Send to a friend reply

jake (New user):

i love dosbox probably because it can run ancient stuff
and i like to know about old computers and there software

15 May 2008, 12:57 AM (5 years ago)report abuse Send to a friend reply

jake (New user):

was there eva 8 bit apps?

15 May 2008, 1:02 AM (5 years ago)report abuse Send to a friend reply

anime master (New user):

I take offense to the comment "no-one had heard of Blizzard" I installed the original warcraft off floppies and ran in dos, warcraft two was also a dos game originally. Blizzard was quite popular during the dos days in the circles I hung around.
And microsoft virtual pc is the easiest way to run dos in vista. It runs allot faster than dosbox too.

24 December 2008, 6:44 PM (4 years ago)report abuse Send to a friend reply

anonymous user Anonymous user

APC May 2013

May 
APC
out now!

Tags