DOS Games & Windows XP

By Roger Gann 27-08-2002

When Microsoft released Windows XP in October 2001, it was its first consumer operating system that wasn't based in any way on the legacy MS-DOS OS.

For most users, this was good news as it promised a more stable and user-friendly experience. And despite the absence of DOS, XP is still capable of running most older 16 bit code and DOS applications perfectly well with its DOS NTVDM.EXE) and 16 bit Windows ( WOWEXEC.EXE) emulators. It even makes a decent stab at running DOS games, which can be tricky.

Sound is typically the biggest problem. It's complicated by the fact that many DOS games treat music (MIDI) and sound effects (digital audio or recordings) as separate issues and you may wind up getting one and not the other. Luckily, there are ways to get round some of these game snafus.
 

DOS vs Windows NT

But its DOS emulator (NTVDM.EXE) isn't perfect; it can run some games but not others, or maybe run the graphics but not the sound or vice versa.

Before attempting the steps below, if there is a Windows version of the game try it. If necessary try various settings on the compatibility tab, to trick it into thinking it is running under Windows 9x.

If a DOS game doesn't run properly, the odds are that its program window will open and close so quickly you can't even see its contents. Since you can't troubleshoot a program without seeing the error message it's giving you, you need to access the MS-DOS shortcut for it so you can modify its run parameters.

To do so, right-click the game's executable, choose Properties and disable the Close on exit checkbox found on the Programs tab. Once you've set this option, try opening your DOS game's executable again.

This time the DOS window should remain open after the program bombs out, allowing you to see the error. Sometimes this will be something that Windows XP can't get around, but other problems are fixable. If it's a memory problem, usually having to do with not enough XMS or EMS memory, there's a simple fix.
 

DOS Memory and XP

Since many DOS games required what was then a lot of memory, and DOS could only offer 640KB of Conventional memory, you had to use commands such as himem.sys and emm386.exe to give your games use of Extended and Expanded memory. If a game is going to have memory problems, you'll typically get some form of no Expanded/Extended memory error when you try to run it.

To try to fix this problem, right-click the program and select Properties. This time, choose the Memory tab. On this tab are sections for configuring Conventional, Expanded, Extended and Protected memory.

By default, you should find that the dropdown list in the Total field of the Conventional memory area is set to 'Auto'. You'll also find that the dropdown lists for Expanded and Extended memory are set to None and 0, respectively. Choose 'Auto' for both of these options and click OK to close out of the Properties window.

The initial environment should also be set to its highest setting of 4096. Under the Total dropdown box is a box labeled 'Protected'. This protects the system memory from modifications made by the selected program and should be checked. If this doesn't solve your memory problems, there's still one trick up XP's sleeve - AUTOEXEC.NT and CONFIG.NT files.

See here for more Memory Help
 

AUTOEXEC.NT and CONFIG.NT

Those of us old enough to remember the twin evils of autoexec.bat and config.sys DOS configuration files will remember the constant tweaking of command lines, attribute settings and so on in order to squeeze the last ounce of performance from our machines. Well, these old files haven't completely gone away, they've just assumed new identities.

If you open My Computer and go to your Windows/System32 folder, you'll find them disguised as config.nt and autoexec.nt and, guess what, you can tweak them just like you could tweak their predecessors and each game can also have its own private copies of these files.

As a precaution, copy these files into your DOS games directory before making changes to them. It's important to remember that the autoexec.bat and config.sys files in your root directory have nothing to do with DOS programs.

To make a DOS game use a new set of config and autoexec files, right-click its executable file and choose Properties. This time, return to the Program tab and click the Advanced button. This opens a dialogue box labeled Windows PIF Settings, which contains two fields: one for an autoexec filename and one for config.

By default these two fields point to your %SystemRoot%/System32 directory but, if you put copies of your config and autoexec files in a 'Games' directory, then you'd change them to: C:/GAMES/AUTOEXEC.NT and C:/GAMES/CONFIG.NT in these two fields.

To edit the contents of config.nt or autoexec.nt, you can use Notepad or any other ASCII text editor. You will find that both files are well commented. Unfortunately, the changes you can make here are somewhat limited, mainly confined to things such as the EMM=RAM command. Some games require this option to be set before they'll recognize Expanded Memory.

See here for more help with AUTOEXEC.NT and CONFIG.NT.
 

Speed Problems

The XP environment is not the only problem that you may encounter. Modern hardware poses its own set of problems. If you find when playing a DOS game that its speed is way too fast, or if you get lockups or crashes form timer bugs, you can go to the DOS program properties dialog box and click the advanced settings button and try enabling the Compatible Timer Hardware Emulation checkbox that appears at the bottom of the Windows PIF dialog box. You may have to resort to DOSBox or a slow down utility. For some games there are now some fan made patches for these old classics.

See here for more Speed Issue Help.
 

Audio Problems

If you're experiencing audio problems, you can also try to alternate settings for the existing Set Blaster command in autoexec.nt. This command tells your emulated DOS box what settings your audio card has; what memory address, IRQ and DMA settings it uses and which type of card it is (the format for these settings and a list of SoundBlaster card types are included in the file).

Typical audio card settings that DOS games look for are address 220, IRQ 5 or 7, DMA 1 and Type 3 (SoundBlaster 2). This means the Set Blaster command in your autoexec file should be: SET BLASTER=A220 I5 D1 T3. General Midi support defaults to an address of 330.

Sound and video issues Windows XP has SoundBlaster emulation built into the NTVDM (NT Virtual DOS Machine - the part of XP that runs DOS apps), meaning you get almost full support for sound in old DOS games. It's not perfect (you don't get OPLx emulation if your sound card doesn't have an OPLx chip on it, and some DSP functions don't work), but it works for most things.

For clean audio, using General Midi or your PC's internal speaker is your best bet. Even with a SoundBlaster card, choosing 'SoundBlaster' rarely results in flawless functionality. If you have the option, enable as few separate audio streams as possible, preferably just one. This helps avoid some of the slowdowns that occur in some titles when using 'SoundBlaster' for sound effects.

If you're having problems getting your 'SoundBlaster' card to work then you'll need Vlad Romascanu's VDMSound program. Not only does VDMSound provide 'SoundBlaster' emulation in software (which works with any Windows-supported sound card), and not only does that emulation con DOS programs into thinking they're talking to a kosher 'SounDBlaster', but VDMSound makes configuring XP's DOS subsystem fairly easy. Download this tool here.

See here for more Audio Help.
 

Video Problems

The video modes available on your graphics card can also affect whether a game is going to run or not: 'VESA Compatibility' is important here.

Some newer DOS games (such as Duke Nukem 3D) use VESA, the nearest DOS has to DirectX, for high-resolution graphics. As with Soundblasters, using VESA requires talking direct to the graphics card, bypassing Windows.

Microsoft has implemented VESA support in the XP kernel, meaning DOS games ought to run flawlessly. Alternatively, use the VGATest utility.

Tools for graphics issues can be found here.
 

Long File Names

Finally, don't forget the '8.3' naming limits of DOS , so keep the names of folders containing DOS games under nine characters. Also, Windows XP can't make DOS shortcuts from batch files or other non-executables so, if your game runs from a CD and uses a batch file on the hard drive to launch, your configuration options (including memory management) are going to be very limited.

More information on file naming can be found here.

 


by helping to defray some of the costs of hosting this site. If it has been of help to you, please consider contributing to help keep it online.
Thank you.
pixe
Top

© 2006 to present The Sierra Help Pages. All rights reserved. All Sierra games, artwork and music © Sierra.