DOSBox is a
command-line program, configured either by a set of command-line arguments or by editing a
plain text configuration file. For ease of use, several graphical
front-ends have been developed by the user community.
A popular feature of DOSBox is its ability to capture
screenshots and record gameplay footage. The video is
compressed using the
lossless Zip Motion Block Video codec.
 In its uncompressed state the footage is almost an exact replica of the actual program. The video recording feature was added in version 0.65. In earlier versions, one had to rely on custom modifications and a third-party screen recorder to record video, but the quality and emulator performance was generally very poor.
The DOSBox project has a policy of not adding features that aren't used by DOS games if they take significant effort to implement, are likely to be a source of bugs or portability problems, and/or impact performance. Perhaps the most common hardware feature of DOS-era PCs that the official version of DOSBox doesn't emulate is the
parallel port that was used to connect printers. As an alternative, the
PrintScreen function of modern OSs can be used to capture the output of DOSBox. For similar reasons, no support for
long filenames and
Ctrl-Break is added into official versions, though support for them is available in some unofficial enhanced SVN builds.
DOSBox is a full
CPU emulator, capable of running DOS programs that require the CPU to be in
real mode or
 Other similar programs, such as
VDMs for Windows and OS/2, provide
compatibility layers and rely on virtualization capabilities of the
386 family processors. Since DOSBox can emulate its CPU by interpretation, the environment it emulates is completely independent of the host CPU.
 On systems which provide the
instruction set, however, DOSBox can use
dynamic instruction translation to accelerate execution several times faster than interpretive CPU emulation. The emulated CPU speed of DOSBox is also manually adjustable by the user to accommodate for the speed of the systems DOS programs were originally written for.
DOSBox can emulate a wide range of graphics and sound hardware. Graphics emulation includes
CGA (including some composite modes and the 160x100x16 tweaked modes),
Mode X and other tweaks),
VESA, and full
S3 Trio 64 emulation.
 Sound hardware that can be emulated includes the
PC speaker (played back through the host's standard sound output, not its physical internal PC speaker),
Creative Music System/GameBlaster,
Sound Blaster 1.x/2.0/Pro/16, and
Disney Sound Source.
MIDI output through an emulated
MPU-401 interface is available if the host is equipped with a physical MIDI-Out connector or a suitable software MIDI synthesizer. (
CM-32L emulation is included in unofficial enhanced builds,
 but not in the official source code repository due to need for copyrighted
ROM images.) Storage is handled by mapping (either through the configuration file or through a command within the emulator) a drive letter in the emulator to a directory, image file, floppy disk drive, or CDROM drive on the host. A permanently mapped Z: drive stores DOSBox commands and startup scripts.
Voodoo cards is in development . This should give not only support for games that use the Glide API, but also provide Direct3D support to Win9x guests.
DOSBox, unlike many other emulators, can simulate
Intranet networking. This includes
modem simulation over
TCP/IP, allowing for DOS modem games to be played over modern LANs or the Internet, and
IPX network tunneling, which allows for old IPX DOS multiplayer games to be played as
UDP/IP over modern
LANs or the Internet.
Win32 and Linux specific builds support direct
serial port access. Some third-party patches also allow DOSBox to emulate an
network interface card as a passthrough to the host computer's own network card, essentially allowing full internet connectivity (for example, using Windows 3.1 and
Trumpet Winsock) and web browsing using programs such as
Netscape Navigator, although this is more of a curiosity than a useful feature.
DOSBox is capable of timing-compatible implementation of the serial ports, which can enable older hardware and software dependent on serial port timing to work; however, some
USB devices that are supported by the host OS can act as a replacement for older serial port devices when using the emulator.
DOSBox provides a high level emulation of the DOS and BIOS interrupts, and contains its own internal DOS-like
shell. This means that it can be used without owning a license to any real DOS operating system. Most commands that are typically used in installer
batch files are supported, but many of the more advanced commands of later DOS versions (e.g. post-
Windows 98 DOS shells) are not. In addition to its internal shell, it also supports running image files of games and software originally intended to start without any
operating system. The DOS emulation enables DOSBox to mount folders of the host OS as virtual drives.
It can also boot disk images with real DOS environments (e.g.
FreeDOS) as well as other operating systems, including
Windows 3.1x, and
Windows 95. Since DOSBox is not optimized for this mode of operation, booting any real OS inside DOSBox entails the loss of the use of directory-based virtual hard drives and some other enhancements that aren't directly compatible with the way real operating systems access hardware. For the kinds of hardware (such as disk drive controllers and computer mice) that are almost always accessed by DOS-based games through DOS and/or through the BIOS and/or through a software driver, rather than through direct access to hardware registers, DOSBox generally provides no hardware-level emulation. This means that the direct use of copy-protected physical media or of floppy disks in non-standard formats is generally not possible from DOSBox.
The DOSBox installer under Windows creates shorthand links to launch DOSBox options, console mode, noconsole mode, recordings, and keyboard mappings. DOSBox can automatically handle most host keyboard and mouse events, and also offers to define special mappings, e.g.,
Ctrl-Alt-Del or the Ctrl-F10 "host key" to release a mouse captured in the guest
VDM cannot be used directly in the guest. Another example is to emulate a
QWERTY-layout in the guest with a
QWERTZ-keyboard in the host, or vice versa, if the DOSBox default for the host does not work in an old application.
Under Windows the DOSBox console window shows
stderr text messages for a running guest VDM. The DOSBox noconsole shorthand link uses command line option
-noconsole to disable this console window, redirecting any console messages to host files
The options shorthand link allows users to edit the (per user) DOSBox configuration, an ordinary text file with sections for the emulated machine, video, sound, and so on. The
[autoexec] section is executed as
AUTOEXEC.BAT after showing the DOSBox intro message. The
[autoexec] section could
CLS the intro message, query or set the emulated
VER (default: 5.00 as in
Windows NT 5.x
VDMs), MOUNT folders or devices as DOS drives (e.g.,
mount a a:\ -t floppy), IMGMOUNT an
ISO image, switch the current drive from DOSBox Z: to a mounted C:, set the
PATH, etc. Special DOSBox commands allow manipulating configuration options within a guest VDM, there is no corresponding virtual
The optional first argument of DOSBox in a shorthand link or on the command line can give a host directory or file. This has the same effect as explicitly mounting the host folder as drive
C: in the guest VDM, switch to this drive, and start the DOS-executable file. Command line option
-exit can automatically terminate DOSBox after this executable file. Command line options
-c something or
-c "make it so" can specify commands run before this executable file, e.g., set
This approach covers many common scenarios without editing configuration files, and it allows users to share one DOSBox configuration file with several DOS applications. For applications supporting their own command line arguments such as
DEBUG a DOSBox command line option
-c "c:\debug arguments" can be used.
Command line option
-securemode disables the
[autoexec] section in the configuration, and does not offer to MOUNT host folders within the guest VDM.