Unless you're a fresh-faced, glistening newbie to the gaming world, you've probably got a stack of titles on a shelf that you never play anymore. They might include old hits like MechWarrior 2, Quake, Duke Nukem 3D, Doom II, NHL 99, and a slew of other titles.
And on a rainy day, you might want to actually load one up and run it for old time's sake. Then you'll discover that loading and running one of these relics is far from easy. The sound is screwy. The game crashes on startup. You get inexplicable error messages. What's going on?
Running MS-DOS- and Windows 9x-based games on Windows XP can be tricky. But with some experimentation, knowledge of compatibility options, and luck, you can get at least some of those glorious older games to run happily on Windows XP.
In this column, I'll explain why older games often don't work on the newer operating system. Then I'll provide tips on getting MS-DOS-based games and Windows 9x-based games to run on Windows XP. I'll cover using the Program Compatibility Wizard, searching for user-created fixes, finding product updates and patches, and introduce a couple of tools that can help improve your gaming experience.
Why Some Games Won't Run on Windows XP
When you upgraded from Windows 95 or Windows 98 or Windows Me to Windows XP, or when you ditched that old computer altogether and got a new, Windows XP-fueled monster, your operating system underwent a major change. Even though the Windows XP interface resembles the older versions of Windows, the back end, the part of Windows that you don't see, is very different.
MS-DOS was a 16-bit platform. Windows 3.1 ran on top of MS- DOS and was also a 16-bit platform. Lots of software was written for MS-DOS and Windows 3.1. When Microsoft released Windows 95, which was a 32-bit operating system, it maintained backward compatibility so that older, 16-bit programs would still run on Windows 95.
Windows 95 meshed 16-bit and 32-bit code with MS-DOS at its core. Most 16-bit MS-DOS- and Windows 3.1-based programs would work fine on Windows 95, and programmers were free to write 32-bit programs for the newer operating system. Windows 95, 98, and Me were all based on the same core technology (called kernel), and all had about the same tolerance for running older applications.
Windows XP is based on a completely different kernel. It's built on code that was introduced in Windows NT, evolved into Windows 2000, and was enhanced for Windows XP. The Windows NT kernel doesn't have any MS-DOS components in it at all—it's a pure 32-bit beast. It includes a 16-bit emulator and a command prompt mode that looks like MS-DOS.
Most games run well on Windows XP, but some games that were created specifically for a 16-bit operating system may not run well or at all on Windows XP. However, I'll give you some tips on improving the odds of getting your older game to go.
Top of page
How to Run Windows 9x-based Games with Windows XP
In some cases, there's nothing you can do to get games designed for Windows 95, Windows 98, and Windows Me to run on Windows XP. Famously, EA Sports games prior to the 2001 incarnations (including titles like NHL 99 and Tiger Woods PGA Tour 2000) just will not run on Windows 2000 or Windows XP. Period.
But with some effort and luck, you can work around problems. The first thing to do is to consult the game documentation. Look for hints about running the game in a pure 32-bit environment. Or you may find out that it's simply incompatible.
Next, look for patches and updates for your game. Bring the game up to its very latest version. Read the Readme file that comes with the update to see if it specifically addresses the problems you're having trying to run the game on Windows XP.
Finally, check out the Web at large. Do a Web search for your game's title followed by Windows XP. Hit fan sites, message boards, and any other resources that you can find that indicate whether anyone has had success running your game under Windows XP. Read how he or she accomplished this.
When you run a Windows 9x game, you'll sometimes encounter an error message like the one shown in Figure 1.
Figure 1
If you receive an error message like this, open the Program Compatibility Wizard to help you test compatibility settings that may fix the problem.
To open the Program Compatibility Wizard
1.
Click Start, click Help and Support, click Fixing a problem.
2.
Click Application and software problems.
3.
Click Getting older programs to run on Windows XP.
4.
Click the Start the Program Compatibility Wizard link.
Follow the prompts to choose the program that's giving you trouble. Then choose a compatibility mode. Your choices are shown in Figure 2.
Figure 2
On the next page, you can select whether to run the program in 256 color mode, to run it at a screen resolution of 640 x 480, and to disable visual themes. Windows XP themes can disrupt games designed for older operating systems. If the game you're trying to run looks odd when you run it, experiment with these options.
Another way to set the compatibility options for a given game is to locate it in Windows Explorer and make change to its properties. To do so, navigate to the game's program file and right-click it. Then click Properties, and on the Compatibility tab, tweak the options shown in Figure 3.
Figure 3
Top of page
How to Run MS-DOS-based Games on Windows XP
Running MS-DOS-based games on Windows XP can be even trickier than running Windows 9x-based games. Windows XP was simply not made to run MS-DOS-based programs. But that doesn't mean all hope is lost. Many MS-DOS-based games will run on Windows XP and a community out there is dedicated to smoothing the way.
MS-DOS-based games don't have the friendly installers found in the Windows 9x-based games. You should install MS-DOS-based games from a command prompt.
To open a command prompt
•
Click Start, click Run, type cmd in the text box, and press ENTER.
A black box with white lettering opens, which resembles an MS-DOS screen. From there, you can install the game according to its instructions.
Set the sound in the DOS game to SoundBlaster defaults. That's your best bet for getting audio to work without a special program, which we'll touch on in a few minutes.
Next, create a shortcut to run the MS-DOS-based game, by following these steps:
1.
Right-click the desktop, point to New, and then click Shortcut.
2.
Type or browse to the location of the game's startup program, and then click Next.
3.
Type a name for the shortcut, and then click Next.
4.
Choose an icon for the shortcut, and then click Finish.
Now you have a shortcut to your MS-DOS-based game, which you can tweak to make the Windows XP environment more hospitable:
•
Right-click the shortcut and click Properties.
You'll see a window with the following tabs:
•
General: Basic information about the shortcut.
•
Program: Location of the shortcut and a few other odds and ends.
•
Font: You can choose the font properties for the command prompt window that the MS-DOS-based program runs in.
•
Memory: Some MS-DOS-based programs require various types of extended or expanded memory. You can adjust those settings here. In most cases, you can leave the defaults alone, but if your program gives you an error indicating that it needs a certain amount of a certain type of memory, you can allocate that resource here.
•
Screen: Specify whether you want the program run full-screen or windowed (the former is usually better), and whether to use fast ROM emulation (you usually do) and dynamic memory allocation (you usually also want).
•
Misc: There are several options in this tab, including the option to allow the screen saver (I always disable this, because some MS-DOS-based programs don't gracefully deal with it), and which Windows shortcuts to allow (I disable them all).
•
Compatibility: Same as the Program Compatibility Wizard options discussed above.
•
Summary: You can enter notes about the shortcut here.
You may need to experiment with several of the settings in the shortcut's Properties dialog box to get the MS-DOS-based game to run happily.
TIP: As I mentioned with Windows 9x games, do lots of research. Check for fan-created builds of old game code designed to run on newer operating system. For example, Doomworld suggests downloading and using one of several source code ports of the game Doom's code in lieu of getting the original to run on Windows XP.
One of the trickiest parts of making MS-DOS-based games to run on Windows XP is getting the sound to work. Some sound cards come with feeble emulation of legacy drivers, but they rarely work to perfection. They usually use the default SoundBlaster resource allocations (stuff like IRQ and DMA settings). You might find your MS-DOS-based game's sound is skipping, cutting out, and having all sorts of problems.
I recommend a tool called VDMSound. VDMsound is a software sound emulator. After you install it, VDMSound integrates with Windows XP to make using it a cinch:
•
Navigate to the MS-DOS game's Start program, right-click it, and then click Run with VDMS.
Then run your game with its audio resources set to the default SoundBlaster values.
Top of page
Fix Older Games that Run Too Fast
Sometimes, you'll finally get a game to work only to have it run too fast to be playable. The sounds will be scrambled, animation will be ridiculously fast, and you'll simply be unable to keep up with the game. If that happens, you need a slowdown tool like the awesome Cpukiller. Cpukiller 3 is a shareware program that runs in the background and eats up CPU cycles. This limits CPU power and effectively slows it down. You can turn it on and off at your discretion, so it only needs to work when you're running those legacy games.
Succeeding at getting your ancient games up and running on Windows XP can be as rewarding as playing the game itself! At the very least, it's a good way to spend a rainy afternoon.