Emulating the Good Old Days
For those of us who were around to drool over the Amiga, but at least got lucky enough to own an XT (perhaps with a mighty EGA) we sometimes long for the good old simple days of gaming. It is also our duty to teach the younger generation what truly makes a game classic. How do we do that? Emulators.
Emulators are programs designed to duplicate a physical computer system in software. So software written for one machine can be tricked into believing it is actually running on the hardware or OS ot was designed to run, while it is in fact running under a program, an emulator.
Over time many people with the knowledge and skills have written emulators for their favorite platform, primarily in order to run with today's PCs. Apart from the emulators for the micros (ZX, Amstrad, C64, Amiga, Atari ST, BBC Micro etc.), the consoles (Atari 2600, NES, Master System etc.) and the arcades (or coin-ops), there exist emulators for the MS-DOS operating system, since even though Windows is the successor to DOS, for various technical reasons the internal emulator for DOS applications doesn't work very well with most DOS games.
DOSBox is a x86 (Intel compatible) emulator that has been around for some time now (10 million people had downloaded it by July 21st, 2008), is quite stable and offers full graphics and audio compatibility, as well as CD support for some of the first (and last) DOS games that came in CDs. It is free as it is open source software, and supported on many other platforms other than Windows (Linux,Mac OS X, BSD, OS/2, BeOS.
Though its developers continue to enhance it in order to achieve total and perfect emulation of all processors and features, DOSBox remains the best available option for emulating DOS and more importantly, playing DOS games. Its only disadvantage is that it has no graphical configuration and all options have to be given at run time or edited by hand in its configuration file.
Fortunately, there are lots of front-ends out there that simplify the task of running a game through Dosbox immensely. Probably the best of those is D-Fend, recently revamped as D-Fend Reloaded. D-Fend provides total control over Dosbox for the advanced and knowledgeable user but at the same time is easy enough for the novices and first-time users.
D-Fend has a very nice and straightforward wizard to help you create a game profile.
Let's see the steps. Pressing F3 or selecting Profile -> Add with Wizard, we start creating the profile for our game. We'll input a name for the profile. Let's say I input "pirates", because I want to play Sid Meier's all-time classic, and plunder the Caribbean, old-school style.
Then on the next screen we select the game executable. We probably don't need to run a setup executable first (usually to setup sound for the game), but if we do, we can also select one here.
The third screen is where we choose some readily available configurations for Dosbox. We can choose the "Use user-defined auto setup template" pull-down menu, which are ready templates for many well-known DOS games. Just pick the game title and you should be ready. Alternatively, we can use a more generic template from the "Use user-defined template" menu, like normal DOS games, simple DOS games, or complex DOS games. We can also use the default wizard template for an even more generic approach.
In the next step we can fill our information to catalogue our game and not have to look through our whole list of game profile each time we want to play one.
Finally we check the list of mounted drive mountings that will be available when we run our game (or application). A drive mounting maps a directory or drive from our computer into a DOS directory or drive that will be available when we run our game. You shouldn't have to change anything here. Just click Ok and double click your newly created game profile to play.
Be generous when selecting a performance profile for your game, since modern hardware outperforms anything that was around at the same time as DOS. But keep in mind that some games are sensitive to timing issues that have to do with CPU cycles (hence the Cycles used for configuring the CPU speed) and might be unplayable at higher settings. Lower the cycles by editing the profile.
In any case, there are tons of options that you might want to tweak or change. There is contextual help on most tooltips and you can always use the help and manual available. In most cases, you won't have to meddle with the profile to make a game work.
If the video quality seems weird or fuzzy or ugly you can change the Scale option in the Graphics section in the profile editor.
If you don't know where to get old games, and you don't already have access to a nice collection, D-Fend has a nice list of sites to help you find some real gems. Freeware, shareware, open source, and commercial games now available for free, from a variety of sites. You can find that list under Help -> Old Games.
As a nice bonus, D-Fend also works with ScummVM, an interpreter for SCUMM, the LucasArts scripting engine of old, which supports a quite large collection of classic adventure games like Loom, Monkey Island, Day of the Tentacle, and many others from other companies, like Sierra and Adventuresoft. ScummVM is highly portable and even runs on portable systems like PocketOS, PalmOS, Symbian, and the PSP among others.
If you're running Linux and have a x86 CPU (most people do, unless you have an older Mac or Sun, in which case you'd know you can only use DOSBox), you could try DOSemu, as it's faster and more complete, since it is more of a virtual machine (a technicality but a significant one). DOSemu has a wealth of options and is available for most Linux distributions, but hand editing its (rather extensive) configuration file might prove difficult even though it is heavily commented. You can always use DOSBox, and though D-Fend is only available for Linux there are other frontends for Linux and even cross-platform ones written in Java.
You can get D-Fend packaged with DOSBox from its official site. The official DOSBox site is here, useful for updates as well as extensive documentation should you be interested, as well for its list of frontends.