Before reading further... Are you looking for great Linux hosting from a company that cares about GNU/Linux? Pick Dreamhost hosting, get a 10% bonus to the disk space (and support Free Software Magazine in the meantime!)

DOSBox, a multiplatform PC emulator

Take a trip back to the begining of the PC game revolution

Download the whole article as PDF

Write a full post in response to this!


DOSBox is a freely available, cross-platform PC emulator. Rather than attempting to be the technology leader as a business-orientated virtualization environment like VMware or Qemu, DOSBox instead offers a rich set of features aimed at closely recreating the behaviour of a retro gaming PC. To this end, it offers a selection of accurate sound card emulations and facilities to throttle the emulation speed back to vintage PC levels, along with other features designed to make sure that the old games run properly and accurately within a protected environment.

The problem defined

Many old games do not run (or do not run properly) on modern PCs. Until Windows became the most popular platform for PC gaming, DOS was the environment under which PC games had to operate. The majority of DOS-based games will run into problems on a modern system, if they will run at all.

Given a sufficient level of demand, a new (and equivalent) productivity application will be created, but the situation for games is different. Games are, to an extent, artistic works, and one artistic work cannot easily be replaced by another.

Why run old games?

Let’s be clear: not every old game is worth revisiting. As a general rule, about eighty percent of everything, in all media, is rubbish. If not actually rubbish, entertainment media can be so tied to the time in which it was made that it cannot survive the transition into a later era.

However, there are games that are worth hunting down and re-playing.

An old game might employ a gameplay style that has no modern equivalent, or a much-loved old game might have a nostalgic attachment for a gamer. Sometimes, the gamer wishes to try out a game that they passed over at the time of release. Finally, some old games are simply great games and are worth playing in their own right.

A sad aspect of computer gaming as a type of entertainment media is that a lot of great content is lost due to inaccessibility. The aspects of a great game that make the experience meaningful—the characters, plots, music, etc—can be locked away due to technological obsolescence. This can prevent both personal re-enjoyment of the game and the potential to share a gaming experience with someone else.

A solution: emulation

An emulator is a piece of software that simulates the functions of another system. In theory any type of computer system could be emulated in software. The downside of emulation is performance, because the host system must be considerably more powerful than the target.

Most emulators are of one of two types: they are either orientated towards the running of serious applications or the running of games. Emulators designed to unlock access to the library of serious applications on a foreign platform usually focus on execution speed. Game oriented emulators tend to place greater importance on aesthetic accuracy.

As an emulation target, the PC is a relatively straightforward one.

When IBM created the original PC, they made the decision to build it out of off-the-shelf components. This led to the design being comparatively open, a fact which allowed other manufacturers to create PC clones. As a result, the PC architecture is extremely well documented.

Emulator vs real hardware

Anyone who wants to run old games faces a dilemma: should they emulate it with software or attempt to obtain the real hardware and run that?

For a lot of hobbies that involve a collection, the physical object and its idiosyncrasies are part of the fun, so running a program isn’t always as good.

However, an emulator like DOSBox offers many conveniences that would not be possible with a real, physical, vintage PC: unlike a real computer, DOSBox is free, takes up no space and requires no physical maintenance; DOSBox allows the user to specify a system with many possible add-ons, and at no extra cost; using DOSBox, the user can perform all of the file maintenance within the host operating system.

In addition, DOSBox is able to actually enhance some aspects of the original games.

Introducing DOSBox

DOSBox attempts to recreate the character and feature-set of a period-correct vintage PC.

DOSBox is a cross platform application and can be run on Mac OS X, GNU/Linux and Windows, amongst others. Users of all platforms can obtain the latest version, as a free software download, directly from the DOSBox website. As it exists within the package repository of most popular distributions, GNU/Linux users might prefer to install it via their package manager.

It’s worth mentioning that DOSBox has an enthusiastic and active community behind it. People sometimes forget to check out the associated community before investing the time needed to learn a new piece of software. For one thing, it’s easier to get help when you’re stuck if the community is vibrant and supported by decent forum facilities.

The DOSBox website also hosts a searchable games database that documents the level of success that users have had with various games.

What is emulated?

Conceptually, the components of a PC could be split into three parts: the hardware, the operating system and the applications. DOSBox simulates the hardware of a i486 compatible PC with a sound card and VGA graphics. It also provides a built-in DOS-like operating system substitute.

The CPU

The upper performance limit of DOSBox depends upon the overall processing power of the host machine. Using some subjective testing, I estimated that my modest single core 1.7GHz AMD equipped PC allows DOSBox to emulate a PC equivalent in performance to a low-end 486. This makes a game like Doom, for example, very playable.

In theory, there is no limit to how fast the emulated PC could go if you had a sufficiently powerful computer on which to run it.

DOSBox has two modes of CPU emulation: “Normal” and “Dynamic”. Normal mode is slower but more rigorously compatible. Dynamic mode gives the emulator a considerable speed boost but might break compatibility with some games.

When running vintage games, a facility to slow down the emulator is often important. Many older games were designed in a short-sighted manner, and as a result, run too quickly on later machines. So for example, some games that were created for a 286 class machine ran unreasonably quickly on a 386. In DOSBox, a key combination is used to “throttle” or slow down the emulator.

The memory game

DOS based PCs had quite a complicated memory layout, and as a result, the DOS gamer had to become a bit of an expert in memory configuration.

Don't miss out on the other pages!
123next ›last »

Write a full post in response to this!

Similar articles

2

Do you like this post?
Vote for it!

Copyright information

This article is made available under the "Attribution-NonCommercial-NoDerivs" Creative Commons License 3.0 available from http://creativecommons.org/licenses/by-nc-nd/3.0/.

Biography

Michael Reed: Michael Reed is a writer, musician and geek. See his website for thrilling stories of his continuing adventures. http://www.unmusic.co.uk/