DOSBox is afree and open-sourceemulator which runs software forMS-DOS compatible disk operating systems—primarily video games.[5] It was first released in 2002, when DOS technology was becoming obsolete. Its adoption for running DOS games is widespread, with it being used in commercial re-releases of those games as well.
BeforeWindows XP, consumer-oriented versions of Windows were based onMS-DOS.Windows 3.0 and its updates wereoperating environments that ran on top of MS-DOS, and theWindows 9x series consisted of operating systems that were still based on MS-DOS.[6] These versions of Windows could run DOS applications. Conversely, theWindows NT operating systems were not based on DOS. A member of the series, Windows XP, debuted on October 25, 2001, and became the first consumer-oriented version of Windows to not use DOS. Although Windows XPcould emulate DOS, it could not run many of its applications as they ran only inreal mode to directly access the computer's hardware, and Windows XP'sprotected mode prevented such direct access for security reasons.[7][8] MS-DOS continued to receive support until the end of 2001,[9] and all support for any DOS-based Windows operating system ended on July 11, 2006.[10]
The development of DOSBox began around the launch ofWindows 2000—a Windows NT system[11]—when its creators,[12] Dutch programmers Peter Veenstra and Sjoerd van der Berg, discovered that the operating system had dropped much of its support for DOS software. The two knew of solutions at the time, but they could not run the applications in windowed mode or scale the graphics. The project was first uploaded toSourceForge and released for beta testing on July 22, 2002.[13]
DOSBox is acommand-line program, configured either by a set of command-line arguments or by editing aplain text configuration file. For ease of use, several graphicalfront ends have been developed by the user community.[12]
While the DOSBox project hopes that one day the emulator will run all programs ever made for the PC, the goal is not yet reached,[14] and as of the latest version the primary focus has been on DOS gaming. The basic version does not supportlong filenames, most versions of DOS do not support them, and filenames must follow the8.3 name.extension pattern: a maximum of 8 characters for the name and up to 3 characters for theextension. Otherwise, filenames will be altered to fit the pattern.[15][16]
There are versions available on the DOSBox website that support long filenames, at the cost of possible incompatibility with some older programs.[17]The focus of the vanilla version is on gaming, and features such as support forCtrl-Break[18] may be missing.[19] Some of the alternative versions support features not present in the vanilla version such asAPM power off, direct parallel port passthrough for printing, and support for East Asian characters.[17] Because DOSBox accesses the host computer's file system, there thus is a risk of DOS malware exploiting the emulator's security vulnerabilities and causing damage to the host machine, although these vulnerabilities continue to be patched with new DOSBox updates.[20]
Users can also capture screenshots and record videos of DOS sessions, although acodec is required to play the videos.[4] It is also possible to record OPL sound card andMIDI commands, as well as save sound output on aWAV file.[21] Keyboard keys and the buttons of a game controller can be mapped to other keys and combinations thereof.[22]
DOSBox is a full-system emulator that providesBIOS interrupts[23] and contains its own internal DOS-likeshell. This means that it can be used without owning a license to any real DOS operating system. Most commands that are found inCOMMAND.COM are supported,[24] but many of the more advanced commands found in the latest MS-DOS versions are not.[25] In addition to its internal shell, it also supports running image files of games and software originally intended to start without anyoperating system.[24] Besides emulating DOS, users can also runWindows 3.0 and applications designed for it,[26] as well as versions of Windows within theWindows 9x family.[27]
When the DOSBox application is opened, it automaticallymounts to a virtual, permanent[24]Z: drive that stores DOSBox commands and utilities.[28] The reasons for the virtual drive are related to security,[29] but the user can mount a different drive letter in the emulator to a directory, image file, floppy disk drive, or CD-ROM drive on the host to access its data. A configuration file and itsAUTOEXEC section can be used to respectively configure DOSBox settings and execute DOS commands at startup.[24]
DOSBox is capable of running DOS programs that require theCPU to be inreal mode orprotected mode.[30] Since DOSBox can emulate its CPU by interpretation, the environment it emulates is completely independent of the host CPU.[30] On systems which provide the x86,ARM, or otherRISCinstruction sets, however, DOSBox can usedynamic instruction translation to accelerate execution.[20][31] The emulated CPU speed of DOSBox is also manually adjustable by the user to accommodate the speed of the systems for which DOS programs were originally written.[32]
DOSBox can simulate serialnull modems using theTCP/IP protocol andIPX network tunneling, which allows for DOS multiplayer games using one of them to be played overlocal area networks or the Internet.[38] It can also simulate thePC joystick port, with limited options being to emulate onejoystick with four axes and four buttons; onegamepad with two axes and six buttons; two joysticks each with two axes and two buttons; aThrustmaster Flight Control System joystick that has three axes, four buttons, and ahat switch; and a CH Flightstick with four axes, six buttons that can be pressed only one at a time, and a hat switch. Newer joysticks and gamepads will need to use one of these configurations to function.[39][40]
DOSBox has become thede facto standard for running DOS games.[12][41]Rock, Paper, Shotgun positively remarked on the project's continual reception of updates, its influence on PC gaming, and some front ends designed to facilitate using it.[42] Freelance writer Michael Reed lauded the quality of scaled graphics and the project's overall focus on compatibility and accurate emulation, but criticized the lack of bothsave states and user-friendly control over the emulator during runtime, even with the front ends available at the time of his review.[43] DOSBox was named SourceForge's Project of the Month in May 2009[13] and again in January 2013, making it the first project in the website's history to receive two Project of the Month awards.[44] On the SourceForge website, it reached 10 million downloads on July 21, 2008,[13] and was downloaded more than 25 million times as of October 2015.[45]
Since January 2011, the developers of theWinecompatibility layer have integrated DOSBox into Wine to facilitate running DOS programs that are not supported natively by the WineVirtual DOS machine.[46]
Since January 2015, theInternet Archive has added thousands of DOS games to its software library. As of October 2019[update], the DOS library contained 6,934 games.[47] The collection is provided for "scholarship and research purposes only".[48]
DOSBox-X[53][54] aims to be compatible with all pre-2000 DOS and Windows 9x based hardware scenarios.[55]
DOSBox Staging[56] aims to be a modern continuation of DOSBox; with modern coding practices and advanced features.
DOSBox Pure[57] is alibretro core that implements DOSBox, with some additional features such as state saving and rewind.
jDOSBox[58][59] is a pure Java x86 emulator based on DOSBox. It was created to run all DOS games as well as DOSBox, but in the browser (before Java applets were discontinued). In addition, it will boot up Windows 95/98, Windows NT 4.0, Windows XP, ReactOS and some flavors of Linux such as DSL.[60]
DOSBox has also been both the most used DOS emulator and, because of the straightforward process of making the games work on modern computers,[61] the most popular emulation software for developers re-releasing legacy versions of their games.[62]id Software has used DOSBox to re-release vintage games such asWolfenstein 3D andCommander Keen onValve'sSteam. In the process, it was reported they violated the program's license, the GNU GPL, by not packaging the license text; the breach, which was reported as an oversight, was promptly resolved.[63]Activision Blizzard has also used it to re-releaseSierra Entertainment's DOS games.[64]LucasArts used it to rereleaseStar Wars: Dark Forces andStar Wars: TIE Fighter for modern machines on Steam andGOG.com.[65]2K Games producer Jason Bergman stated the company used DOSBox for Steam rereleases of certain installments of theXCOM series.[66]Bethesda Softworks has recommended DOSBox and provided a link to the DOSBox website on the downloads page forThe Elder Scrolls: Arena andThe Elder Scrolls II: Daggerfall.[67] It also included DOSBox with both games inThe Elder Scrolls Anthology release.[68]
^abQbix (April 30, 2008)."Interview with Qbix" (Interview). Interviewed by Classic Dos Games. Archived fromthe original on February 1, 2020. RetrievedJanuary 3, 2009.
^Manual 2019, 10. How to speed up/slow down DOSBox.
^Pošvic, Kamil (January 24, 2011)."Wine začíná implementovat DOSBox" [Wine is starting to implement DOSBox].Root.cz (in Czech). RetrievedDecember 13, 2020.
^Kaltman, Eric; Osborn, Joseph; Wardrip-Fruin, Noah; Mateas, Michael (August 14–17, 2017). "Getting the GISST: A toolkit for the creation, analysis and reference of game studies resources".Proceedings of the 12th International Conference on the Foundations of Digital Games.Association for Computing Machinery. p. 5.doi:10.1145/3102071.3102092.ISBN978-1-4503-5319-9.