DOSBox is a relatively new PC emulator with a focus on running old MS-DOS-based games. It uses SDL as its display system and is free software under the GNU GPL. It is quite portable; versions for Windows, Unix (including Mac OS X through Fink), and BeOS are available. The feature which makes DOSBox unique among x86 PC emulators is its built-in DOS clone. When DOSBox is run for the first time, it brings up a fully-operational DOS system, albeit one with no available disk drives. This is similar to the method used by the commercial Apple Macintosh emulator Executor, although the simplicity of DOS and the PC BIOS make the job for DOSBox considerably easier. DOSBox also makes life easier for the user by eschewing disk images in favour of being able to attach drive letters to directories on the host operating system's file system. This transparency makes it easier to install games for use with DOSBox and to fix problems when something goes wrong.

Currently, the CPU emulation in DOSBox contains a complete emulation of 286 real mode and a mostly complete emulation of 386 real mode, 386 protected mode and 387 floating point extensions, the latter two only being present in recent (>0.60) versions. At this point, it effectively emulates a 486. Memory issues generally do not cause problems problem, as DOSBox provides an effectively unlimited supply of both EMS and XMS, and the integration of the emulator and DOS allows all of the hardware drivers and DOS code to live outside the 640K of conventional memory. Recent versions can run Windows 3.x, albeit only in standard (non-386) mode.

Several important peripherals are also emulated. CGA, Hercules, EGA, and VGA graphics are all emulated with reasonable completeness. The Scale2X algorithm for increasing graphics resolution is available and improves the appearance of the old games considerably. AdLib synthesiser support, PC speaker support, SoundBlaster 16 support, limited Gravis UltraSound support, and Disney Sound Source support are all implemented, with GUS as the least complete because it is the newest of the five. Mouse and joystick support are available, and CDROM support is incomplete but available. None of these are 100% complete, as DOSBox is still beta software. The eventual 1.0 release should contain working and reliable peripheral emulation.

The emulated DOS works well, although it is somewhat bare-bones. The basic DOS commands are available, but the more complicated programs which came with DOS, such as deltree and edit, are not available. The omission of many of these programs is justified by the virtual filesystem being accessible from the host OS, and thus on Unix-like systems the lack of deltree and edit can be rectified with rm -rf and nano. In the latest version, the DOS command shell has history and tab-completion features like in Unix shells and Windows NT's cmd.exe, which makes it just that much easier to get around.

DOSBox is not perfect, but it is the most usable emulator for old PC games currently available. The current version is 0.63, and it is available at the project homepage, http://dosbox.sourceforge.net/.


(CC)
This writeup is copyright 2003-2005 D.G. Roberge and is released under the Creative Commons Attribution-NonCommercial-ShareAlike licence. Details can be found at http://creativecommons.org/licenses/by-nc-sa/2.0/ .