DOSBox
DOSBox icon | |
DOSBox 0.74-3 opening screen | |
| Original author(s) | Peter "Qbix" Veenstra, Sjoerd "Harekiet" van der Berg |
|---|---|
| Developer(s) | The DOSBox Team |
| Initial release | July 22, 2002 |
| Stable release | 0.74-3 (June 26, 2019[1]) [±] |
| Preview release | SVN r4336 (April 12, 2020[2][3][4]) [±] |
| Repository | sourceforge |
| Written in | C++[5] |
| Operating system | Windows, macOS, Linux, BeOS, FreeBSD, OpenBSD, OS/2, RISC OS, Solaris |
| Available in | English (but supports alternate keyboard layouts) |
| Type | Virtual machine, emulator |
| License | GNU General Public License[6] |
| Website | www |
DOSBox is a free and open-source emulator of an Intel x86 personal computer designed primarily for the purpose of running software created for disk operating systems on IBM PC compatibles. It was first released in 2002, during which time DOS technology was becoming obsolete. It is notable for its widespread use for running DOS video games, as well as being used in commercial rereleases of those games.
Development[edit]
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.[7] These versions of Windows could run DOS applications. Conversely, the Windows NT operating systems were not based on DOS. A member of the series is Windows XP, which debuted in October 25, 2001, to become 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 those applications 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.[8][9]
The development of DOSBox began around the launch of Windows 2000—a Windows NT system[10]—when its creators,[11] two 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.[12]
Features[edit]
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.[11]
The DOSBox project aims to be fully compatible with all DOS programs,[13] and tries to replicate the experience as accurately as possible. In the plain/vanilla version long filenames are not supported; because DOS does not support long filenames -- filenames must follow the 8.3 naming convention, with a maximum of 8 characters before the full stop, followed by up to 3 characters for the file extension. Otherwise, they will be aliased to follow the convention.[14][15]
There are versions available on the DOSBox website that support long filenames, at the cost of possible incompatibility with some older programs.[16] The focus of the plain/vanilla version is on gaming, and features such as support for Ctrl-Break[17] may be missing.[18] Some of the alternate versions support features not supported by the plain/vanilla version such as APM power off, direct parallel port passthrough for printing, and support for East Asian characters.[16] Because DOSBox accesses the host computer's file system, there thus is a risk 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.[19]
Users can also capture screenshots and record videos of DOS sessions, although a codec is required to play the videos.[6] It is also possible to record OPL sound card and MIDI commands, as well as save sound output on a WAV file.[20] Keyboard keys and the buttons of a game controller can be mapped to other keys and combinations thereof.[21]
OS emulation[edit]
DOSBox is a full-system emulator that provides BIOS interrupts[22] 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.[citation needed] Besides emulating DOS, users can also run Windows 3.0 and applications designed for it,[23] as well as versions of Windows within the Windows 9x family.[24] A configuration file and its AUTOEXEC section can be used to respectively configure DOSBox settings and run DOS commands at startup. Storage is handled by mapping a drive letter in the emulator to a directory, image file, floppy disk drive, or CD-ROM drive on the host.[25] A permanently mapped[25] Z: drive stores DOSBox commands and utilities.[26]
Hardware emulation[edit]
DOSBox is a full CPU emulator, capable of running DOS programs that require the CPU to be in real mode or protected mode.[27] Other similar programs, such as DOSEMU or 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.[27] On systems which provide the x86, ARM, or RISC instruction sets, however, DOSBox can use dynamic instruction translation to accelerate execution.[19][28] 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.[29]
DOSBox uses the Simple DirectMedia Layer external library to not only build new versions of DOSBox from source,[6] but also handle graphics, audio, and input devices.[30] Graphically, it can use the DirectDraw or OpenGL APIs, and can also use bilinear interpolation and scale graphics for computers with modern displays.[31] Graphical emulation includes text mode, Hercules, CGA, EGA, VGA, VESA, S3 Trio 64,[32] and Tandy.[33] Sound emulation includes the PC speaker, AdLib, Gravis Ultrasound, Sound Blaster, Disney Sound Source, Tandy, and MPU-401.[34] Emulation of Voodoo graphics cards is in development as of October 2010[update]. This should give not only support for games that use the Glide API, but also provide Direct3D support to Windows 9x guests.[35][needs update]
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.[36] It can also simulate the PC joystick port, with limited options being to emulate one joystick with 4 axes and 4 buttons; one gamepad with 2 axes and 6 buttons; two joysticks each with 2 axes and 2 buttons; a Thrustmaster Flight Control System joystick that has 3 axes, 4 buttons, and a hat switch; and a CH Flightstick with 4 axes, 6 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.[37][38]
Reception[edit]
DOSBox has become the de facto standard for running DOS software.[11][39] 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.[40] DOSBox was named SourceForge's Project of the Month in May 2009[12] and again in January 2013, making it the first project in the website's history to receive two Project of the Month awards.[41]
Usage[edit]
This section relies too much on references to primary sources. (December 2020) (Learn how and when to remove this template message) |
As of 23 December 2014, the Internet Archive hosts thousands of PC games that can be played in a browser, using the Em-DOSBox port.[42][43][44] The collection is provided for "scholarship and research purposes only".[45]
Starting with version 1.3.12, the developers of the Wine compatibility layer have begun the process of integrating DOSBox into Wine to facilitate running DOS programs that are not supported natively by the Wine Virtual DOS machine (winevdm).[46]
Commercial[edit]
DOSBox has also been both the most used DOS emulator and, because of the straightforward process of making the games work on modern computers,[47] the most popular emulation software for developers rereleasing legacy versions of their games.[48] id Software has used DOSBox to rerelease 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; the breach, which was reported as an oversight, was promptly resolved.[49][50] Activision Blizzard has also used it to rerelease Sierra Entertainment's DOS games.[51] LucasArts used it to rerelease Star Wars: Dark Forces and Star Wars: TIE Fighter for modern machines on Steam and GOG.com.[52] 2K Games producer Jason Bergman stated the company used DOSBox for Steam rereleases of certain installments of the XCOM series.[53] 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.[54] It also included DOSBox with both games in The Elder Scrolls Anthology release.[55]
Electronic Arts' Origin client uses DOSBox for the platform's DOS games,[31] including Electronic Arts titles such as Syndicate[56] and SimCity 2000.[57]
dBase LLC utilizes DOSBox in their dbDOS product since 2012.[citation needed]
Notes[edit]
- ^ https://sourceforge.net/projects/dosbox/files/dosbox/0.74-3/ SourceForge Binaries Available (Release Version)
- ^ "SVN changelog (DOSBox Home web)".
- ^ "DOSBox Wiki - SVN Builds Info". Dosbox.com.
- ^ "EmuCR Compiled Binaries - DOSBox official & unofficial builds".
- ^ Szűgyi, Zalán; Porkoláb, Zoltán (December 2013). "Comparison of DC and MC/DC code coverages". Department of Programming Languages and Compilers. Acta Electrotechnica et Informatica. Eötvös Loránd University: 60. doi:10.15546/aeei-2013-0050. ISSN 1338-3957.
- ^ a b c Hietala, Otto (April 26, 2011). Developing a Game Engine With SDL (PDF) (Thesis). Kajaani University of Applied Sciences. p. 15. urn:NBN:fi:amk-2011053010299. Retrieved November 19, 2020.
- ^ Norton 2004, p. 286.
- ^ Hoffman, Chris (May 11, 2014). "PCs Before Windows: What Using MS-DOS Was Actually Like". How-To Geek. Retrieved November 2, 2020.
- ^ Regan, Patrick (March 8, 2011). "Introduction to Windows 7 – The Road to Windows 7". MCTS 70-680 Exam Cram: Microsoft Windows 7, Configuring. Pearson Education. ISBN 9780132603201. Retrieved November 2, 2020.
- ^ Norton 2004, p. 288.
- ^ a b c Loguidice & Barton 2014, p. 103.
- ^ a b "Project of the Month, May 2009". SourceForge. Archived from the original on November 17, 2009. Retrieved January 17, 2013.
- ^ Manual 2019, NOTE.
- ^ Váša, Kryštof (2013). Modular Objective-C Run-Time Library (Thesis). Charles University. p. 84. Retrieved November 3, 2020.
- ^ Wright, Byron; Plesniarski, Leon (October 4, 2010). MCTS Guide to Microsoft Windows 7 (Exam # 70-680). Cengage Learning. p. 201. ISBN 9781111309770. Retrieved November 3, 2020.
- ^ a b "DOSBox Enhanced SVN builds". DOSBox. Retrieved December 3, 2020.
- ^ Ramírez García, Aníbal (May 2012). Diseño e implementación de un Sistema Operativo para fines didácticos [Design and implementation of an Operating System for educational purposes] (PDF) (Thesis) (in Spanish). Charles III University of Madrid. p. 168. hdl:10016/15584. Retrieved December 4, 2020.
- ^ Wolf, Chris; Halter, Erick M. (November 3, 2006). Virtualization: From the Desktop to the Enterprise. Apress. p. 4. ISBN 1430200278. Retrieved December 4, 2020.
- ^ a b Bartel, Alexandre (October 24, 2019). DOS Software Security: Is there Anyone Left to Patch a 25-year old Vulnerability? (PDF) (Thesis). Hack.lu. p. 1–2, 18. Retrieved December 2, 2020.
- ^ Manual 2019, 5. Special Keys.
- ^ Manual 2019, 7. KeyMapper.
- ^ Black, Michael David; Komala, Priyadarshini (March 2011). "A full system x86 simulator for teaching computer organization". SIGCSE. Association for Computing Machinery: 365–366. doi:10.1145/1953163.1953272. Retrieved November 16, 2020.
- ^ Loguidice & Barton 2014, p. 241.
- ^ Barbera, Diego (February 15, 2019). "Videogiochi vintage, i migliori emulatori per pc, Mac e Linux" [Vintage video games, the best emulators for PC, Mac and Linux]. Wired (in Italian). Retrieved November 11, 2020.
Drake, Nate (June 25, 2018). "How to get the Windows 98 experience on today's PCs". TechRadar. p. 3. Retrieved November 11, 2020. - ^ a b Manual 2019, 4. Internal Programs.
- ^ Haines, Nathan (August 25, 2017). Beginning Ubuntu for Windows and Mac Users: Start your Journey into Free and Open Source Software. Apress. p. 131. ISBN 9781484230008. Retrieved November 9, 2020.
- ^ a b Qbix (April 30, 2008). "Interview with Qbix" (Interview). Interviewed by Classic Dos Games. Archived from the original on February 1, 2020. Retrieved January 3, 2009.
- ^ Manual 2019, 10. How to speed up/slow down DOSBox.
- ^ Hoffman, Chris (October 5, 2015). "How To Use DOSBox To Run DOS Games and Old Apps". How-To Geek. Retrieved February 9, 2017.
- ^ Wolski, David (June 3, 2020). "DOS-Box: Spiele-Klassiker in Linux wiederbeleben" [DOSBox: Revive classic games on Linux]. PC-Welt (in German). Retrieved November 6, 2020.
- ^ a b Bikoulis, Alexandros (October 2, 2018). "Flatrate-Gaming à la EA". PC Games Hardware (in German). pp. 112–113. Retrieved December 8, 2020.
- ^ McDonough, Jerome; Olendorf, Robert; Kirschenbaum, Matthew; Kraus, Kari; Reside, Doug; Donahue, Rachel; Phelps, Andrew; Egert, Christopher; Lowood, Henry; Rojo, Susan (August 31, 2010). Preserving Virtual Worlds Final Report (Report). University of Illinois. p. 77. hdl:2142/17097. Retrieved November 3, 2020.
- ^ Manual 2019, 3. Command Line Parameters.
- ^ Koldyrkaev, Nikolay (January 2008). "Apple Virtualization". PC World (in Russian). No. 61. p. 36. Retrieved November 3, 2020.
- ^ Lendino, Jamie (October 20, 2010). "3dfx Voodoo Emulator In the Works". ExtremeTech. Retrieved November 8, 2020.
- ^ Castle, Alex (August 2010). "Run All Your Old Games Using DOSBox". Maximum PC. p. 67. Retrieved November 9, 2020.
- ^ Manual 2019, 6. Joystick/Gamepad.
- ^ Edwards, Benj (June 6, 2020). "How the Gravis PC GamePad Transformed PC Gaming in the '90s". How-To Geek. Retrieved November 23, 2020.
- ^ Aamoth, Doug (May 9, 2014). "5 Great No-Fuss Sites for Finding Classic Computer Games". Time. Retrieved November 8, 2020.
- ^ Meer, Alec (May 28, 2009). "DOSBox, We Salute You". Rock, Paper, Shotgun. Retrieved November 8, 2020.
- ^ "Project of the Month, January 2013". SourceForge. Archived from the original on February 22, 2013. Retrieved January 17, 2013.
- ^ Ohlheiser, Abby (January 5, 2015). "You can now play nearly 2,400 MS-DOS video games in your browser". Washington Post. Retrieved January 8, 2015.
- ^ Each New Boot a Miracle by Jason Scott (December 23, 2014)
- ^ collection:softwarelibrary_msdos in the Internet Archive (2014-12-29)
- ^ "Internet Archive's Terms of Use, Privacy Policy, and Copyright Policy". December 31, 2014. Retrieved January 8, 2015.
Access to the Archive’s Collections is provided at no cost to you and is granted for scholarship and research purposes only.
- ^ "Wine 1.3.12 Brings Initial DOSBox Integration". January 21, 2011. Retrieved August 26, 2011.
- ^ Au, Alan (June 7, 2011). "Everything Good Old is New Again". The Escapist. No. 309.
- ^ Orland, Kyle (March 20, 2016). "How the demonization of emulation devalues gaming's heritage". Ars Technica. Retrieved November 9, 2020.
- ^ "Are id Software and Valve Thieves?". Softpedia. August 6, 2007. Retrieved January 3, 2009.
- ^ Purchese, Rob (August 7, 2007). "id sorts GPL Steam issue". Eurogamer. Retrieved January 3, 2009.
- ^ Dasgupta, Julian (July 23, 2009). "Activision Blizzard: Veröffentlicht Sierra-Oldies". 4Players. Retrieved December 11, 2020.
- ^ "The 10 best Star Wars games on PC". Rock, Paper, Shotgun. November 13, 2019. Retrieved December 6, 2020.
- ^ Bergman, Jason (September 4, 2008). "Comments-morning discussion". Shacknews. Retrieved January 3, 2009.
- ^ Haynes, Jeff (July 9, 2009). "Bethesda's Free Daggerfall". IGN. Retrieved December 11, 2020.
- ^ Peel, Jeremy (September 17, 2014). "The Elder Scrolls Anthology is a cross-section of PC gaming history, now available in Europe". PCGamesN. Retrieved December 11, 2020.
- ^ Chalk, Andy (March 3, 2015). "The original Syndicate is Origin's new On the House freebie". PC Gamer. Retrieved December 8, 2020.
- ^ Walker, John (December 10, 2014). "Sim City 2000 Is 20 Years Old And Free". Rock, Paper, Shotgun. Retrieved December 8, 2020.
References[edit]
- DOSBox v0.74-3 Manual. The DOSBox Team. 2019. Retrieved November 9, 2020.
- Norton, Peter (December 30, 2004). Peter Norton's Intro to Computers 6/e. McGraw-Hill Education. ISBN 0072978902. Retrieved November 2, 2020.
- Loguidice, Bill; Barton, Matt (February 24, 2014). Vintage Game Consoles: An Inside Look at Apple, Atari, Commodore, Nintendo, and the Greatest Gaming Platforms of All Time. CRC Press. ISBN 9781135006518. Retrieved November 8, 2020.
External links[edit]
| Wikimedia Commons has media related to DOSBox. |