You are here: The Oldskool PC/The Guides/Getting Old Software Running on Newer PCs/Appendix A: Windows 9x Options |
The following is an expanded and updated version of a piece I wrote for PC Gamer (July 2000 issue) to help support running older games. It should cover most problems you'll have getting old games to run under Windows 95/98, but if there is a glaring omission, let me know and I'll see if I can address it.
One of the technical reasons we run games under Windows is because it standardizes the environment -- memory management, a common driver API, etc. But the programmers of old games didn't have those luxuries in DOS, so they had to drive hardware directly and deal with the DOS 640K memory limit. Old games aren't flexible enough to deal with newer environments, so a little tweaking of Windows 95/98 is sometimes necessary to match the environment they're expecting. The three most common adjustments that need to be made are sound card legacy support, freeing up RAM, and utilizing "pure" MS-DOS mode. Those last two birds can be killed with one stone, as you'll see below.
There are various other problems you can run into, like mouse support, but I'll attempt to cover those as well.
Sound Support
Most older games run just fine if you disable their sound. But where's the fun in that? Until you've heard the whimsical pirate soundtrack of Monkey Island or the creepy atmosphere of Out Of This World, you haven't lived! Unfortunately, getting sound working isn't a simple matter. Modern PCI sound cards vary wildly in the strength of their legacy Sound Blaster support; they either work perfectly, or require extensive help from resident drivers to hear anything at all. If you have the latter and hear silence, stuttering sound, or your machine locks up, you're at the mercy of your sound card and must modify your configuration.
The first thing to do is to check driver settings in the System -> Devices -> Sound and Music Devices section of the Control Panel. Most PCI cards either have a "Sound Blaster Compatible" driver, or a compatibility section in other driver settings. Make sure whatever you have is not only enabled, but also set to the standard settings of Port 220, IRQ 5, and DMA 1. Also add a line to your AUTOEXEC.BAT that reads "SET BLASTER=A220 I5 D1", as many older games look for this variable to drive the card correctly. If you don't have a compatibility section in your driver setup, feel free to contact your card's tech support regarding legacy games, as that might have been improved since you purchased your card.
If changing settings doesn't help, then try configuring the game to use Adlib (FM Synthesis) only, which most sound cards emulate. You won't hear digitized sound effects, but it's better than silence. You can also try forcing the game to support Roland MT-32 support; this is a long shot, but if it works, you'll be rewarded by your sound card doing an impromptu Roland-to-General MIDI conversion, which uses the wavetable capabilities of your sound card and usually sounds better than straight Adlib synthesis. As a last resort, you can re-install that old legacy Sound Blaster. Just set it to the standard settings listed above and make the AUTOEXEC.BAT change and you're ready to go. (Just make sure you disable any emulation settings and alter your existing card's resources to avoid conflicts.)
Memory Limits and MS-DOS Mode
Remember the wonderful time you used to have tweaking memory usage, spending hours in front of CONFIG.SYS and AUTOEXEC.BAT files? No, we didn't think so. Fortunately for this day and age, Windows 95/98 handles the 640K memory limitations of DOS quite well. If your CONFIG.SYS file is empty, Windows defaults to loading the DOS kernel into upper RAM and emulating the XMS and EMS memory standards. This provides about 590K free DOS memory, and should cover most games run from within Windows.
A select few games might require even more free RAM -- or worse, refuse to run properly while Windows is active. Thankfully, Windows also handles this gracefully with its "MS-DOS mode" support. A custom configuration for problematic games is as simple as right-clicking on the program's .EXE file and choosing Properties, then the Program tab, then Advanced. Check MS-DOS mode, then select Specify a new MS-DOS configuration to activate custom CONFIG.SYS and AUTOEXEC.BAT files. Click Configuration and make sure that Expanded Memory (EMS) is checked, then click OK three times to activate all the changes. The next time you double-click on the program, Windows will reboot with your custom configuration to run it, then reboot back to your old configuration when it's done. This should not give you maximum free RAM in the DOS 640K area, provide XMS and EMS memory to games and legacy-support sound drivers that need it. This also enables loading drivers into upper RAM using the "LH" prefix (example: "LH MOUSE.COM") in the custom AUTOEXEC.BAT file, freeing up even more precious memory. Finally, it gives the program unfettered access to your PC's hardware -- just like DOS used to.
USB Mice
USB mice are a godsend to those who want to shed their PC of legacy components. They're also smoother and faster than traditional mice. But there's one thing you can expect for eons to come: USB peripherals will never be supported in DOS or MS-DOS mode.
As harsh a reality as that is, it doesn't mean you're totally screwed. If you need to get a legacy DOS game running and all you have is a USB mouse, you typically have two options: