BEFORE GETTING STUCK
into the manybranched methodology of old game necromancy, let’s examine why this problem exists. After all, if a PC can run TheWitcher3 at a dreamy 60fps, why does it struggle to render 1999 tactical shooter RainbowSix:RogueSpear at anything above single figures? And why is it so hard to get certain games even installed?
Essentially, it all comes down to operating systems. Whenever a piece of software or PC game is developed, its creators make a series of assumptions about the environment it’ll be used in. The developers of 1999, for example, might reasonably have expected that most users would be installing their game on to a Windows 98 or Windows 95 PC, both based around the 16-bit DOS operating system. That, in turn, means an assumption about the file libraries and drivers contained within those operating systems, and the kind of hardware that might be running it. Those developers couldn’t anticipate that later versions of Windows, from Win 2000 onward, would only emulate DOS, rather than running it natively, and that the code that installs and runs the game on DOSbased operating systems would eventually become gibberish to Windows 10. And they couldn’t have known—how could anyone?— what a monumental pain in the posterior UAC would prove in later, more securityconscious Windows iterations.
Generally, then, programs don’t work on modern machines because those modern machines are running a recent OS. Hardware tends to play only an indirect role in incompatibility. For example, because 32bit systems recognize only a 4GB maximum of memory, most of us run 64-bit operating systems to accommodate more RAM. But unlike 32-bit versions, 64-bit Windows doesn’t include 16-bit emulation. That means it can’t fool a Windows 95 application that’s searching for recognizable libraries in order to install itself correctly. The same goes for today’s graphics cards and processors: It isn’t that they’re inherently too powerful for old software, but that the old software can’t interpret and harness their power correctly, because they don’t understand the drivers installed.
The stumbling block for one particular vintage game might be DOS, driver support, missing libraries, security issues, or incompatibility beyond 16-bit systems, but the root cause is fairly universal: It’s the software environment. The obvious solution is to modify that software environment so the old game has enough information and security privileges to function. And that’s something you can go big or small with. Since we’re doing this methodically, it makes sense to begin with the small measures, such as patches and DOSBox, and work up to more drastic solutions, such as running a virtual Windows XP machine.
SCOUR FOR UPDATES
If a game installs on your PC but won’t run, first check online for official developer patches, and unofficial patches created by users who experienced similar issues. Perhaps you’ll strike lucky with a game like Vampire:TheMasquerade—Redemption. First released in 2004, it’s long since been regarded as a cult classic, but shipped with more bugs than a mail order ant farm. Developer Troika was still releasing patches for it five years later, and the community took it even further with an unofficial patch, which still receives updates in 2017. Try the original disc, and you’ll have problems, but with those two downloads, it runs perfectly on Windows 10.
Elsewhere, community modders have addressed issues pertaining to entire game engines, fixing a whole suite of titles in the process. Black Isle’s Infinity Engine hosted many of role-playing’s all-time greats, such as Baldur’sGateI and II,IcewindDale, and PlanescapeTorment, but relies on Microsoft’s defunct DirectDraw API, and thus has all manner of issues on modern machines. Aqrit’s DDrawFix resolves those issues in nine games with one 5MB download. There are other solutions, but this is certainly more elegant than running an entire OS in a virtual machine just to access DirectDraw.
COMPATIBILITY MODE OPTIONS
Windows doesn’t have a great reputation for the efficacy of its compatibility mode, but in certain circumstances, a checked box here and a drag-down menu option there might be all it takes to solve your problem, whether it be installing or running the old game in question. When you right-click on a program or installer, and navigate to the compatibility tab, you’ll see several options to emulate different Windows versions and alter display settings. When you run an application in compatibility mode, you’re telling your current version of Windows to lie to that application, and it does so by placing a layer of alternate code, known as a shim, between the application loader and Windows. File paths are translated from new to old, so C:\Users\You\Documents becomes C:\Documents and Settings\You\ My Documents. It modifies the functions of certain .dlls so the application returns the expected information. For example, the GetVersionEx function used to determine which version of Windows an application’s working with would return data from the shim, rather than the true kernel32.dll’s information. In other words, when the application asks “Which version of Windows is this?” compatibility mode steps in and says “Windows XP, honest!” before your actual OS has chance to blurt out “Windows 10,” and give the game away.
In reality, setting the right compatibility mode options can often be part of the solution, but it’s rarely your one-stop
shop. As a rule of thumb, it’s best to start by selecting the predominant OS at the time the game was released (Windows 98 for Half-Life, let’s say), and running as an Administrator. This helps the application do what it needs to without Windows stepping in and halting it at an unexpected juncture. From there, you can experiment with 256 colors and 640x480 resolution limiting, but it’s often best to move on and look for other solutions, rather than troubleshooting exclusively in the compatibility tab.
DOS AND DON’TS
Paradoxically, the further back you go with PC games, the easier it becomes to run them on modern machinery. That’s in large part thanks to DOSBox, which emulates an Intel x86-based system, complete with graphics and sound cards, mouse support, and a modem. DOSBox should be the first port of call when running any pre-Windows XP game, which means it opens up about 20 years of gaming, from the CommanderKeen days to late-nineties gems designed for DOS-based Windows. Since it’s effectively a virtual machine, and you probably don’t have a floppy disk drive in your machine, you need disk image files of the games you want to play. DOS games are generally considered abandonware now, so although it isn’t legal to download them, it isn’t likely to get you into trouble (see “Abandonware, all ye who enter” over the page).
DOSBox works by mounting a virtual C drive created by the user, then navigating around using command prompts. For example, C:\DOSGAMES becomes your DOSBox’s virtual root drive with the command line “mount c c:\dosgames.” For convenience’s sake, it’s worth keeping all your DOS game image files within this directory, each in individual folders. The “cd” command changes directory, which means you can type “cd [game name folder]” to navigate to your chosen game, then type
the executable name to run it. Of all the methods available, DOSBox is one of the easiest and most reliable, and only requires a few command lines to get things up and running. Its limitations make themselves apparent when running 3D games that were considered demanding at the time, such as Tomb Raider, Quake, or Carmageddon. DOSBox runs these using its own software renderer, so for more advanced graphics, you need to seek out a 3DFX/Glide emulator designed for use in DOSBox. Some custom builds of the program, such as DOSBox SVM Daum, come with Direct3D, Glide, and other advanced features baked in, so are the best bet for running later DOS games that made use of graphics cards. Ah, the Voodoo days—brings a tear to the eye. And just to hammer the point home, don’t rule out DOSBox if you’re trying to run a game that was released for Win 95 or Win 98—they were DOS-based OSes, after all.
VIRTUAL INSANITY
If you want to take this vintage gaming thing to a greater extreme, it’s time to consider running a virtual machine with an older OS installed. Broadly, this isn’t too different an approach from running DOSBox, but if you find yourself playing a lot of games from that awkward post-DOS, pre-Win 7 era, it might end up being more convenient. Plus, there’s the heady nostalgia hit of seeing the old OS’s desktop, and enjoying all the sound effects—remember when performing almost any action on a PC came with its own bespoke sound effect?
VirtualBox is the go-to application for this. It’s relatively easy to install even dusty old Windows 3.1 on a virtual machine, complete with the required
virtual hardware, although you either need an install disc and product key for the OS, or a disk image. Once again, we’re in the murky waters of abandonware here, but you can find Windows XP and older versions for free online, and Microsoft hasn’t pursued any legal action against their distribution.
It’s certainly preferable to be greeted by a familiar old interface when booting up games than it is to deal with DOSBox’s black and white prompt windows, but VirtualBox does have something of an Achilles heel: 3D graphics support. Its native support is “experimental” (read: doesn’t really work with games), and its developers have long maintained that if the community wants 3DFX/Glide virtualization, it’s up to them to open-source it. Some members of that community have done exactly that (VirtualBox refers to this as Guest Addition content), but it’s not a simple task to install it, particularly when working in older operating systems. Having installed your OS via disc or image, restart in safe mode with networking, navigate to the Guest Additions file on VirtualBox’s site, then unzip and install it. Sounds simple, but if you’re on Win 95, there are many compatibility hurdles to overcome when using an unzipper program or downloading the file. Even when successfully installed, 3D acceleration can be prone to crashing in VirtualBox, and has major performance issues that will impact your enjoyment of the game. If you had your heart set on experiencing old games through a trusty old OS, though, there is another way.
PARTITION LIKE IT’S 1999
Yep—partitioning your storage drive and installing an older operating system on to it might do the trick. This is overkill for the vast majority of troublesome retro games, because it’s a complicated task that risks data loss if performed incorrectly. But if you really want those old Win 98 themes and your favorite games, create a partition on your chosen disk, and mark it as active by navigating to the “Boot” tab in Windows System Configuration, highlighting the desired partition, and selecting “Set as default.” Then reboot and use an old OS disk to install it to the partition; http://thpc. info has a clear step-by-step guide on how to do this. Beware, though: Windows 98 and older won’t have a clue what to make of your modern hardware. You will have countless driver issues and ACPI conflicts. You will have to spend hours getting it to recognize your graphics card. But for some, the satisfaction of achieving a resolution beyond 640x480 when those issues are resolved is reward in itself.
Summoning the gaming greats of yore can be a knotty problem, then, and there are many ways to untangle those knots. If the game in question falls under the DOS era, DOSBox should be the first port of call; if it doesn’t, try searching for patches and fan fixes. Next, try compatibility mode. And if all else fails, well, your parents might still have that hearing-aid-beige Packard Bell tower in the attic.