Here we have some general tips to make old PC games run on modern systems. For more detailed and game-specific lists of fixes, workarounds, and performance tips, check out the PC Gaming Wiki.
Old Windows games with graphical issues in modern Windows
The colors of certain old games may look fucked up if you are using Windows XP or newer. Example in these pics, Starcraft: Brood War.
The cause: the game tried to set its own 256-color palette, but explorer.exe (aka the Windows shell) is resetting the palette.
The simple solution: run the game, summon the task manager (ctrl+shift+esc), close the "explorer.exe" process.
A more elegant solution: create a batch file to close explorer.exe and run the game at the same time. It's easy, just create a new text file (Notepad will do) and paste this:
taskkill /f /IM explorer.exe
C:\"Program Files (x86)"\"StarCraft"\"Starcraft.exe"
Of course, if the path to the game is different in your machine, modify the middle line accordingly. Then save as "Starcraft.bat"
This method works for several old games, such as Age of Empires or Star Wars: Galactic Battlegrounds.
Old Windows games incompatible with modern Windows
Some old games, especially those from the 95/98 era, may be incompatible with newer versions of Windows. Usually, this is easy to fix: just set it to run under compatibility mode (right-click > Properties > Compatibility tab). If this fails, try checking the PC Gaming Wiki, where you can find workarounds and tweaks for thousands of games.
Yet, quite often, there is just no way to run certain old programs under modern Windows (notably 16-bit programs on a 64-bit system). A very popular solution is to simply keep an old PC for retro gaming. But if you don't have room for that, don't worry: you can still have another machine, a virtual machine, on which you can run older versions of Windows (or even completely different systems). Just install VMWare Player, which is free, and grab a CD or ISO of Windows 98 or XP somewhere. (Tip: WinWorld's library has several obsolete operating systems for download.)
Here is a step by step guide:
- 1. Create New Virtual Machine.
- 2. Select install from disc if you have the old OS in your CD/DVD Drive or browse for your ISO
- 3. Type in the serial you have, select disc space on you hdd that you will allocate for the virtual OS, and then install
- 4. You can customize the specs of your virtual machine by selecting customize hardware. Don't be stupid and select 64 gigs of ram, 8 cores, etc. for an old ass Win98 machine. Find the guest system's recommended hardware, and use some common sense.
- 5. Click finish and the Virtual OS will run, should be easy to figure out how to get back to your desktop (hint: the big ass toolbar at the top). Anyway, the virtual machine will now proceed to actually install windows XP on the space you allocated on your hdd earlier.
- 6. Browse /v/, do whatever, wait for the installation to finish.
- 7. Select your resolution and it should run like normal windows.
- NOTE: The virtual OS has direct access to your CD/DVD drive but not your hard drive. If you want it to have direct access to your hard drive, you have to use the tool bar above. Player --> Manage --> virtual machine settings --> Add... --> Hard Disc --> Use a physical Disc --> select your physical HDD or wherever your game is on --> finish. Now your Virtual OS has direct access to your physical HDD.
- 8. Install desired game and enjoy!
DOS games incompatible with modern Windows
Like the situation above, installing DOS inside a virtual machine is possible. But that's overkill, as you can simply use the DOSBox emulator. In fact, as Windows pre-95 ran on top of DOS, you can run it under DOSBox as well. While DOSBox itself is not very noob-friendly, there are frontends that automate the whole process.
Old Windows games require 3Dfx Voodoo video card
Before OpenGL and Direct3D became the standard, each video card had its own API for 3D acceleration. 3Dfx's Voodoo family was tremendously popular in the mid-90s, so chances are you will come across old games that require it. Don't fret, just use nGlide.
OpenGL games may crash on nVidia cards
Some games that use OpenGL renderer like Anachronox may crash immediately on modern cards/drivers. It seems to help to modify "Extension limit" parameter, whatever it could mean. First, go to regular nVidia control panel and create new profile for game's exe file. You may want to also set antialiasing and vsync while you're there. Next, get the latest nVidia Inspector, go to driver settings, select your game profile, click "Show unknown settings" (magnifying glass) and set "Extension limit" under Common to 0x000011A8 (pick from dropdown list to not to screw up). That's it.
Some games are only compatible with Xinput (Xbox 360) controllers. If you come across this situation, contact the developers and berate them for such gross incompetence. Meanwhile, use x360ce to make the game read your regular DirectInput gamepad as a Xinput device. If that does not work, try anything from this list. If you have a DualShock 4, try Input Mapper or DS4Windows.