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?
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 allit'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.
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
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.
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.