Template:Short description Template:Redirect Template:Good article Template:Use mdy dates {{#invoke:Infobox|infobox}}Template:Template other{{#invoke:Check for unknown parameters | check | showblankpositional=1 | unknown = Template:Main other | preview = Page using Template:Infobox software with unknown parameter "_VALUE_"|ignoreblank=y | AsOf | author | background | bodystyle | caption | collapsetext | collapsible | developer | discontinued | engine | engines | genre | included with | language | language count | language footnote | latest preview date | latest preview version | latest release date | latest release version | latest_preview_date | latest_preview_version | latest_release_date | latest_release_version | licence | license | logo | logo alt | logo caption | logo upright | logo size | logo title | logo_alt | logo_caption | logo_upright | logo_size | logo_title | middleware | module | name | operating system | operating_system | other_names | platform | programming language | programming_language | released | replaced_by | replaces | repo | screenshot | screenshot alt | screenshot upright | screenshot size | screenshot title | screenshot_alt | screenshot_upright | screenshot_size | screenshot_title | service_name | size | standard | title | ver layout | website | qid }}Template:Main other

DOSBox is a free and open-source MS-DOS emulator. It supports running programs Template:Endash primarily video games Template:Endash that are otherwise inaccessible since hardware for running a compatible disk operating system (DOS) is obsolete and generally unavailable today.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> It was first released in 2002, when DOS technology was becoming obsolete. Its adoption for running DOS games is relatively widespread; partially driven by its use in commercial re-releases of games.

DevelopmentEdit

Before Windows XP, consumer-oriented versions of Windows were based on MS-DOS. Windows 3.0 and its updates were operating environments that ran on top of MS-DOS, and the Windows 9x series consisted of operating systems that were still based on MS-DOS.Template:Sfn These versions of Windows could run DOS applications. Conversely, the Windows 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 XP could emulate DOS, it could not run many of its applications as they ran only in real mode to directly access the computer's hardware, and Windows XP's protected mode prevented such direct access for security reasons.<ref name="56Fa6">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref name="D0qCI">Template:Cite book</ref> MS-DOS continued to receive support until the end of 2001,<ref name=Windows-7>Template:Cite book</ref> and all support for any DOS-based Windows operating system ended on July 11, 2006.<ref name=ITPro-2006>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

The development of DOSBox began around the launch of Windows 2000—a Windows NT systemTemplate:Sfn—when its creators,Template:Sfn 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 to SourceForge and released for beta testing on July 22, 2002.<ref name="Nizlk">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

FeaturesEdit

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.Template:Sfn

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,Template:Sfn and as of the latest version the primary focus has been on DOS gaming. The basic version does not support long filenames, most versions of DOS do not support them, and filenames must follow the 8.3 name.extension pattern: a maximum of 8 characters for the name and up to 3 characters for the extension. Otherwise, filenames will be altered to fit the pattern.<ref name=cuni>Template:Cite thesis</ref><ref name=Plesniarski>Template:Cite book</ref>

There are versions available on the DOSBox website that support long filenames, at the cost of possible incompatibility with some older programs.<ref name="CVN">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> The focus of the vanilla version is on gaming, and features such as support for Ctrl-Break<ref name=carlos-iii>Template:Cite thesis</ref> may be missing.<ref name=Virtualization>Template:Cite book</ref> Some of the alternative versions support features not present in the vanilla version such as APM power off, direct parallel port passthrough for printing, and support for East Asian characters.<ref name="CVN" /> 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.<ref name=Hack.lu>Template:Cite thesis</ref>

Users can also capture screenshots and record videos of DOS sessions, although a codec is required to play the videos.<ref name=Kajaani>Template:Cite thesis</ref> It is also possible to record OPL sound card and MIDI commands, as well as save sound output on a WAV file.Template:Sfn Keyboard keys and the buttons of a game controller can be mapped to other keys and combinations thereof.Template:Sfn

OS emulationEdit

DOSBox is a full-system emulator that provides BIOS interrupts<ref>Template:Cite book</ref> 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 found in COMMAND.COM are supported,Template:Sfn but many of the more advanced commands found in the latest MS-DOS versions are not.<ref name=Glasgow>Template:Cite journal</ref> In addition to its internal shell, it also supports running image files of games and software originally intended to start without any operating system.Template:Sfn Besides emulating DOS, users can also run Windows 3.0 and applications designed for it,Template:Sfn as well as versions of Windows within the Windows 9x family.<ref name=Win9x>Template:Cite magazine
{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

When the DOSBox application is opened, it automatically mounts to a virtual, permanentTemplate:Sfn Z: drive that stores DOSBox commands and utilities.<ref name=Haines>Template:Cite book</ref> The reasons for the virtual drive are related to security,<ref name=Koldyrkaev>Template:Cite magazine</ref> 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 its AUTOEXEC section can be used to respectively configure DOSBox settings and execute DOS commands at startup.Template:Sfn

Hardware emulationEdit

DOSBox is capable of running DOS programs that require the CPU to be in real mode or protected mode.<ref name="Interview">Template:Cite interview</ref> Since DOSBox can emulate its CPU by interpretation, the environment it emulates is completely independent of the host CPU.<ref name="Interview" /> On systems which provide the x86, ARM, or other RISC instruction sets, however, DOSBox can use dynamic instruction translation to accelerate execution.<ref name=Hack.lu/>Template:Sfn 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.<ref name="6fLMS">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

DOSBox uses the Simple DirectMedia Layer external library to handle graphics, audio, and input devices.<ref name=pc-welt>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Graphically, it can use the DirectDraw or OpenGL APIs, and can also use bilinear interpolation and scale graphics for computers with modern displays.<ref name=PC-Games>Template:Cite magazine</ref> Graphical emulation includes text mode, Hercules, CGA, EGA, VGA, VESA, S3 Trio 64,<ref name=PVW>Template:Cite report</ref> and Tandy.Template:Sfn Sound emulation includes the PC speaker, AdLib, Gravis Ultrasound, Sound Blaster, Disney Sound Source, Tandy, and MPU-401. However, because DOSBox does not come packaged with Gravis Ultrasound drivers, they need to be installed separately for full support.<ref name=Koldyrkaev/>Template:Sfn

DOSBox can simulate serial null modems using the TCP/IP protocol and IPX network tunneling, which allows for DOS multiplayer games using one of them to be played over local area networks or the Internet.<ref name=Castle>Template:Cite magazine</ref> It can also simulate the PC joystick port, with limited options being to emulate one joystick with four axes and four buttons; one gamepad with two axes and six buttons; two joysticks each with two axes and two buttons; a Thrustmaster Flight Control System joystick that has three axes, four buttons, and a hat 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.Template:Sfn<ref name=Gravis-Gamepad>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

ReceptionEdit

DOSBox has become the de facto standard for running DOS games.Template:Sfn<ref name=No-Fuss>Template:Cite magazine</ref> 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.<ref name=RPS>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> 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 both save states and user-friendly control over the emulator during runtime, even with the front ends available at the time of his review.<ref name=FSM>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> DOSBox was named SourceForge's Project of the Month in May 2009<ref name="Nizlk"/> and again in January 2013, making it the first project in the website's history to receive two Project of the Month awards.<ref name="AW4Vm">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> On the SourceForge website, it reached 10 million downloads on July 21, 2008,<ref name="Nizlk"/> and was downloaded more than 25 million times as of October 2015.<ref name=Mellon>Template:Cite report</ref>

UsageEdit

Since January 2011, the developers of the Wine compatibility layer have integrated DOSBox into Wine to facilitate running DOS programs that are not supported natively by the Wine Virtual DOS machine.<ref name=Wine>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Since January 2015, the Internet Archive has added thousands of DOS games to its software library. Template:As of, the DOS library contained 6,934 games.<ref name=Archive-2019>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> The collection is provided for "scholarship and research purposes only".<ref name="fSBGg">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

ForksEdit

  • Em-DOSBox<ref name=Archive-2015>{{#invoke:citation/CS1|citation

|CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> uses Emscripten to convert the emulator's C++ code<ref name=MCDC>Template:Cite journal</ref> to JavaScript, making the games playable in a web browser.<ref name=Emscripten>Template:Cite book</ref>

  • DOSBox-X<ref>{{#invoke:citation/CS1|citation

|CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> aims to be compatible with all pre-2000 DOS and Windows 9x based hardware scenarios.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

  • DOSBox Staging<ref>{{#invoke:citation/CS1|citation

|CitationClass=web }}</ref> aims to be a modern continuation of DOSBox; with modern coding practices and advanced features.

  • DOSBox Pure<ref>{{#invoke:citation/CS1|citation

|CitationClass=web }}</ref> is a libretro core that implements DOSBox, with some additional features such as state saving and rewind.

  • jDOSBox<ref>{{#invoke:citation/CS1|citation

|CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> 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.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

CommercialEdit

Template:See also

DOSBox has also been both the most used DOS emulator and, because of the straightforward process of making the games work on modern computers,<ref name=Escapist>Template:Cite magazine</ref> the most popular emulation software for developers re-releasing legacy versions of their games.<ref name=demonization>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> id Software has used DOSBox to re-release vintage games such as Wolfenstein 3D and Commander Keen on Valve's Steam. 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.<ref name="rDkqD">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Activision Blizzard has also used it to re-release Sierra Entertainment's DOS games.<ref name=Activision-Blizzard>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> LucasArts used it to rerelease Star Wars: Dark Forces and Star Wars: TIE Fighter for modern machines on Steam and GOG.com.<ref name="LucasArts">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> 2K Games producer Jason Bergman stated the company used DOSBox for Steam rereleases of certain installments of the XCOM series.<ref name="dRxYY">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Bethesda Softworks has recommended DOSBox and provided a link to the DOSBox website on the downloads page for The Elder Scrolls: Arena and The Elder Scrolls II: Daggerfall.<ref name=Daggerfall>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> It also included DOSBox with both games in The Elder Scrolls Anthology release.<ref name=ES-Anthology>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Electronic Arts' Origin client uses DOSBox for the platform's DOS games,<ref name=PC-Games/> including Electronic Arts titles such as Syndicate<ref name=Syndicate>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> and SimCity 2000.<ref name=SimCity-2000>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

See alsoEdit

ReferencesEdit

Template:Reflist

SourcesEdit

Template:Refbegin

Template:Refend

External linksEdit

Template:Sister project

Template:Virtualization software Template:Portal bar