Difference between revisions of "DOSBox"

From Emulation General Wiki
Jump to navigation Jump to search
m (Protected "DOSBox" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite)))
(38 intermediate revisions by 20 users not shown)
Line 2: Line 2:
 
|title = DOSBox
 
|title = DOSBox
 
|logo = DOSBox.png
 
|logo = DOSBox.png
|logowidth = 265
+
|logowidth = 120
|version = 0.74-2
+
|version = 0.74-3
 
|active = Yes
 
|active = Yes
 
|fate =  
 
|fate =  
|platform = Windows, Linux, FreeBSD and more
+
|platform = [[Emulators on Windows|Windows]]<br/>[[Emulators on Linux|Linux]]<br/>FreeBSD and more
|target = [[86/286/386/486/Pentium/Pentium II|286 and 386]]
+
|target = [[Intel CPUs|286 and 386]]
 
|prog-lang = C++
 
|prog-lang = C++
|developer = [http://www.dosbox.com/crew.php DOSBox Crew]
+
|developer = [https://www.dosbox.com/crew.php DOSBox Crew]
|website = [http://www.dosbox.com DOSBox.com]
+
|website = [https://www.dosbox.com DOSBox.com]
 
|source = [http://source.dosbox.com/dosboxsvn.tgz tgz]
 
|source = [http://source.dosbox.com/dosboxsvn.tgz tgz]
 +
|license = GNU GPLv2
 
}}
 
}}
'''DOSBox''' is an open-source, command-line, [[High/Low level emulation|high-level]] [[86/286/386/486/Pentium/Pentium II|286 and 386 emulator]] written in C++.
+
 
 +
'''DOSBox''' is an open-source, [[High/Low level emulation|high-level]] [[Intel CPUs|286 and 386 emulator]] written in C++.
  
 
==Downloads==
 
==Downloads==
*[http://www.dosbox.com/wiki/SVN_Builds#List_of_SVN_Builds DOSBox Dev Builds]
+
{| cellpadding="4"
*[http://www.dosbox.com/download.php?main=1 DOSBox Stable Builds]
+
|-
 +
|align=center|{{Icon|Win|Lin|Mac}}
 +
|'''[https://www.dosbox.com/wiki/SVN_Builds#List_of_SVN_Builds Latest Dev Builds]'''
 +
|-
 +
|align=center|{{Icon|Win|Lin|Mac|BSD|RiscOS|OS2}}
 +
|'''[https://www.dosbox.com/download.php?main=1 Latest Stable Builds]'''
 +
|-
 +
|align=center|{{Icon|Pyra-big}}
 +
|'''[https://pyra-handheld.com/repo/apps/23 Pyra build]'''
 +
|}
  
==Features==
+
==Overview==
 
DOSBox is capable of emulating many older computer games that are otherwise very difficult if not impossible to play on modern operating systems and hardware. It has very high compatibility, as it can be configured to emulate the environment of many machines, with support for various display modes, including CGA, EGA, Hercules, Tandy, and VGA. With some work, it is even possible to install and load old Windows operating systems, such as Windows 3.11 and Windows 95, thus potentially being able to play games made for those platforms.
 
DOSBox is capable of emulating many older computer games that are otherwise very difficult if not impossible to play on modern operating systems and hardware. It has very high compatibility, as it can be configured to emulate the environment of many machines, with support for various display modes, including CGA, EGA, Hercules, Tandy, and VGA. With some work, it is even possible to install and load old Windows operating systems, such as Windows 3.11 and Windows 95, thus potentially being able to play games made for those platforms.
  
==Frontends==
+
===Frontends===
===[http://www.launchbox-app.com/ LaunchBox]===
+
Because DOSBox doesn't have a GUI, two projects were made to fulfill that role.
*Portable Box-Art-Based Games Database and Launcher for DOSBox, Emulators, and PC Games
+
 
 +
;[http://dfendreloaded.sourceforge.net D-Fend Reloaded]
 +
:A great frontend which allows custom per-game configurations to cut back on fiddling with settings just to run specific games well. It also lets you use your own build of DOSBox instead of the one it comes with, so it can be used with forks as well.
 +
 
 +
;[https://dbgl.org DOSBox Game Launcher]
 +
:Another frontend based on Java that is said to be inspired by the D-Fend's.
 +
 
 +
==Forks==
 +
DOSBox has many forks over the years. This section attempts to list the most notable ones. [http://www.dosbox.com/wiki/SVN_Builds#Enhanced_SVN_builds DOSBox's official wiki] also has a partial list of DOSBox forks. Even more forks are listed in the [https://github.com/dosbox-staging/dosbox-staging/wiki/DOSBox-forks DOSBox forks page] of DOSBox Staging's GitHub wiki.
 +
 
 +
{| class="wikitable" style="text-align:center;"
 +
! scope="col"|Name
 +
! scope="col"|Platform(s)
 +
! scope="col"|Latest Version
 +
! scope="col"|[[libretro|Libretro Core]]
 +
! scope="col"|Active
 +
! scope="col"|[[Recommended Emulators|Recommended]]
 +
|-
 +
! colspan="8"|PC / x86
 +
|-
 +
| DOSBox Staging
 +
| align=left|{{Icon|Windows|Linux|macOS}}
 +
| [https://dosbox-staging.github.io {{DOSBoxStagingVer}}]
 +
| {{✗}} ||{{✓}} ||{{✓}}
 +
|-
 +
| DOSBox-X
 +
| align=left|{{Icon|Windows|Linux|macOS|DOS}}
 +
| [https://dosbox-x.com {{DOSBox-XVer}}]
 +
| {{✗}} ||{{✓}} ||{{✓}}
 +
|-
 +
| [https://dosboxece.yesterplay.net DOSBox ECE]
 +
| align=left|{{Icon|Windows|Linux}}
 +
| [https://dosboxece.yesterplay.net SVN]
 +
| {{✗}} ||{{✓}} ||{{✗}}
 +
|-
 +
| DOSBox Pure
 +
| align=left|{{Icon|Windows|Linux|}}
 +
| [https://github.com/schellingb/dosbox-pure git]
 +
| {{✓}} ||{{✓}} ||{{TBD}}
 +
|}
 +
 
 +
===Active forks===
 +
{{Infobox emulator
 +
|title = DOSBox-X
 +
|screenshot = DOSBox-X-screenshot-sdl2.png
 +
|screenshotwidth = 250px
 +
|screenshotcaption = The SDL2 UI on Windows 10. DOSBox-X also has versions for SDL1 and MinGW in the installer.
 +
|developer = Jonathan Campbell<br/>(Project maintainer)<br/>Wengier, and others
 +
|version = {{Version|DOSBox-X}}
 +
|platform = [[Emulators on Windows|Windows]]<br/>[[Emulators on macOS|macOS]]<br/>[[Emulators on Linux|Linux]]<br/>[[Emulators on DOS|DOS]]
 +
|target = [[Intel CPUs]]<br/>[[NEC PC-9800 series|NEC PC-98]]
 +
|active = Yes
 +
|website = [https://dosbox-x.com dosbox-x.com]
 +
|license = GNU GPLv2
 +
|source = [https://github.com/joncampbell123/dosbox-x GitHub]
 +
}}
 +
 
 +
;[https://dosbox-x.com DOSBox-X]:
 +
:DOSBox-X is vastly different from other DOSBox forks in that it aims to be a complete DOS emulation package. It features more flexibility by way of config options and an accompanying frontend to customize the DOS VM further, and beyond games it also supports standard software for DOS, as well as DOS-based Windows including Windows 3.x and 9x/ME (which it should be able to accelerate in the future). The project also has its own [https://dosbox-x.com/wiki wiki] which contains extensive documentation on DOSBox-X, and a summary of notable added features can be seen [https://dosbox-x.com/wiki/DOSBox%E2%80%90X’s-Feature-Highlights here]. The project is also accessible from the [https://github.com/joncampbell123/dosbox-x GitHub website].
 +
 
 +
:While DOSBox-X currently supports the [[Intel CPUs|IBM PC/XT/AT]], Tandy, PCjr, and [[NEC PC-9800 series|NEC PC-98]] the maintainer, Jonathan Campbell, does not plan to add any other MS-DOS system. This limitation is mainly done to prevent bloating of the codebase, keeping it at a manageable level for himself while also staying organized. However, the codebase does contain stubbed source files for [[FM Towns emulators|FM Towns]] emulation in the event that other programmers want to add that functionality.
  
===[http://ykhwong.x-y.net/ DOSBox SVN Daum]===
+
;[https://dosbox-staging.github.io DOSBox Staging]:
*This is an enhanced build of DOSBox by ykhwong, with support for Direct3D and HLSL shaders, Glide, ethernet, and many other features not found in the official version. Unlike vanilla DOSBox, it has a menu for on-the-fly configuration. Has not been updated in years, however. According to the [http://www.dosbox.com/wiki/SVN_Builds#Enhanced_SVN_builds DOSBox wiki]: "The last version broke this build in various places and uses out of date and not fully working changes of the DOSBox-X branch. It is no longer recommended to use it."
+
:DOSBox Staging attempts to "revitalize DOSBox's development process". It bills itself as a "fork to end all forks" but, unlike DOSBox-X, still focuses on DOS games for the most part.
  
===[http://dfendreloaded.sourceforge.net/ D-Fend Reloaded]===
+
;[https://dosbox-staging.github.io DOSBox ECE]:
*A great frontend which allows custom per-game configurations to cut back on fiddling with settings just to run specific games well. It also lets you use your own build of DOSBox instead of the one it comes with, so it can be used in conjunction with DOSBox SVN Daum.
+
:DOSBox ECE is a DOSBox fork that is based on DOSBox SVN commits but with some additional patches such as MT32, FluidSynth and Voodoo/Glide support.
  
===[http://members.quicknet.nl/blankendaalr/dbgl/ DOSBox Game Launcher]===
+
;[https://github.com/schellingb/dosbox-pure DOSBox Pure]:
*A frontend based on Java, and has a UI inspired by the original D-Fend
+
:DOSBox Pure is a new DOSBox fork specifically built for RetroArch/Libretro. According to its project description it aims for simplicity and ease of use.
  
==Versions==
+
===Others===
===9xbox===
+
;[http://web.archive.org/web/20161230025119/http://home.arcor.de/h-a-l-9000/ DOSBox Mega Build]
There has been some interest in creating a version of DOSBox that incorporates compatibility with Windows 95/98/ME. As of 02/09/13, it has not passed the theoretical stage and no work has been done.
+
:Was an enhanced build of DOSBox focused on serial/networking support. Contains the NE2000 patch, parallel port passthrough, virtual printer, OPL passthrough, and others. However, it hasn't been updated in years, and most of what it added was covered by the actively maintained [[#Active forks |DOSBox-X]] fork.
  
http://win9xbox.sourceforge.net/
+
;[http://ykhwong.x-y.net DOSBox SVN Daum]
 +
:Was an enhanced build of DOSBox by ykhwong, with support for Direct3D and HLSL shaders, Glide, Ethernet, virtual printer, and a built-in UI. However, it hasn't been updated in years, and most of what it added was covered by the actively maintained [[#Active forks |DOSBox-X]] fork.
  
===DOSBox-X===
+
;[http://www.columbia.edu/~em36/win31dosbox.html Win31DOSBox]:
DOSBox-X is a fork of the original DOSBox project. It does what DOSBox does, but goes further, with a focus on accurate emulation of pre-2000 PC hardware and includes many more ways to tweak and configure the DOS virtual machine. The aim is for DOSBox-X to be a complete emulation package that covers all pre-2000 DOS and Windows 9x based hardware needs, including peripherals, motherboards, CPUs, and all manner of hardware that was made for PC hardware of that time. The emulator should in the future have full support and acceleration of Windows 3.x, 95, 98 and ME and software that was written for those versions of Windows.
+
:Win31DOSBox aims to be an easy method of running Windows 3.x games through a customized version of DOSBox-X or DOSBox SVN. Among its many features, it adds an easy setup program and the ability to print from Windows 3.11. The maintainer of Win31DOSBox has since recommended using [[WineVDM]] instead.
  
:http://dosbox-x.com/
+
:To get started, you first need a copy of either Windows 3.11 or WfW (Windows for Workgroups) 3.11. Once you have that, you need to put in either the 6 (Windows 3.11) or 9 (WfW 3.11) floppy images, or the ISO file, or the MSDN self-extracting .exe. After that, running InstallWin31DOSBox.exe which will automatically install Windows 3.x for you. Once it's finished, check that everything works and then install Video for Windows and Quicktime which is located in the Video folder in Program Manager. It is also recommended to install WinG and Win32s as well.
:https://github.com/joncampbell123/dosbox-x
 
:[http://dosbox-x.com/doxygen/html/index.html Documentation]
 
  
====Systems====
+
:There are multiple ways to get software onto the system. For folders and files, you can drag them into the C-DRIVE folder. If you have a physical CD you can just insert it into your CD drive. If it's a CD image you need to mount it using a software like Virtual CloneDrive. If it's a floppy disk image you need to drag the respective images over the Extract to A-Drive Folder.exe program which will extract them to the A-DRIVE folder.
DOSBox-X aims to maintain the code to emulate the '''IBM PC/XT/AT, Tandy, PCjr''', and '''[[PC-98 emulators|NEC PC-98]]'''. It does not plan to emulate any other MS-DOS system and, in the main author's (Jon Campbell) words, only the aforementioned systems will be considered for development in DOSBox-X. This restriction prevents stretching of the codebase to an unmanageable level and helps keep the code base organized.
 
:'''However''', the author has stated that other coders are strongly encouraged to fork out the main DOSBox-X project so they can work to develop MS-DOS emulation on any other platform or emulate other unique MS-DOS based system(s). He has provided stubs to enable '''FM-Towns''' emulation in such a branch for any interested programmers.
 
  
 +
;[http://win9xbox.sourceforge.net 9xbox]
 +
:There was some interest in creating a version of DOSBox that would improve compatibility with Windows 95/98/ME. However, it never passed the theoretical stage.
 +
<!--
 +
==References==
 +
{{Reflist}}
 +
-->
 
[[Category:Emulators]]
 
[[Category:Emulators]]
 +
[[Category:Computer emulators]]
 
[[Category:Windows emulation software‏‎]]
 
[[Category:Windows emulation software‏‎]]
 
[[Category:Linux emulation software]]
 
[[Category:Linux emulation software]]
 
[[Category:macOS emulation software]]
 
[[Category:macOS emulation software]]
 +
[[Category:BSD emulation software]]

Revision as of 00:11, 18 October 2021

DOSBox
DOSBox.png
Developer(s) DOSBox Crew
Latest version 0.74-3
Active Yes
Platform(s) Windows
Linux
FreeBSD and more
Emulates 286 and 386
Website DOSBox.com
Programmed in C++
License GNU GPLv2
Source code tgz

DOSBox is an open-source, high-level 286 and 386 emulator written in C++.

Downloads

Windows Linux macOS Latest Dev Builds
Windows Linux macOS FreeBSD RiscOS OS/2 Latest Stable Builds
Dragonbox Pyra Pyra build

Overview

DOSBox is capable of emulating many older computer games that are otherwise very difficult if not impossible to play on modern operating systems and hardware. It has very high compatibility, as it can be configured to emulate the environment of many machines, with support for various display modes, including CGA, EGA, Hercules, Tandy, and VGA. With some work, it is even possible to install and load old Windows operating systems, such as Windows 3.11 and Windows 95, thus potentially being able to play games made for those platforms.

Frontends

Because DOSBox doesn't have a GUI, two projects were made to fulfill that role.

D-Fend Reloaded
A great frontend which allows custom per-game configurations to cut back on fiddling with settings just to run specific games well. It also lets you use your own build of DOSBox instead of the one it comes with, so it can be used with forks as well.
DOSBox Game Launcher
Another frontend based on Java that is said to be inspired by the D-Fend's.

Forks

DOSBox has many forks over the years. This section attempts to list the most notable ones. DOSBox's official wiki also has a partial list of DOSBox forks. Even more forks are listed in the DOSBox forks page of DOSBox Staging's GitHub wiki.

Name Platform(s) Latest Version Libretro Core Active Recommended
PC / x86
DOSBox Staging Windows Linux macOS 0.80.1
DOSBox-X Windows Linux macOS MS-DOS 2024.03.01
DOSBox ECE Windows Linux SVN
DOSBox Pure Windows Linux git TBD

Active forks

DOSBox-X
DOSBox-X-screenshot-sdl2.png
The SDL2 UI on Windows 10. DOSBox-X also has versions for SDL1 and MinGW in the installer.
Developer(s) Jonathan Campbell
(Project maintainer)
Wengier, and others
Latest version 2024.03.01 [+]
Active Yes
Platform(s) Windows
macOS
Linux
DOS
Emulates Intel CPUs
NEC PC-98
Website dosbox-x.com
License GNU GPLv2
Source code GitHub
DOSBox-X
DOSBox-X is vastly different from other DOSBox forks in that it aims to be a complete DOS emulation package. It features more flexibility by way of config options and an accompanying frontend to customize the DOS VM further, and beyond games it also supports standard software for DOS, as well as DOS-based Windows including Windows 3.x and 9x/ME (which it should be able to accelerate in the future). The project also has its own wiki which contains extensive documentation on DOSBox-X, and a summary of notable added features can be seen here. The project is also accessible from the GitHub website.
While DOSBox-X currently supports the IBM PC/XT/AT, Tandy, PCjr, and NEC PC-98 the maintainer, Jonathan Campbell, does not plan to add any other MS-DOS system. This limitation is mainly done to prevent bloating of the codebase, keeping it at a manageable level for himself while also staying organized. However, the codebase does contain stubbed source files for FM Towns emulation in the event that other programmers want to add that functionality.
DOSBox Staging
DOSBox Staging attempts to "revitalize DOSBox's development process". It bills itself as a "fork to end all forks" but, unlike DOSBox-X, still focuses on DOS games for the most part.
DOSBox ECE
DOSBox ECE is a DOSBox fork that is based on DOSBox SVN commits but with some additional patches such as MT32, FluidSynth and Voodoo/Glide support.
DOSBox Pure
DOSBox Pure is a new DOSBox fork specifically built for RetroArch/Libretro. According to its project description it aims for simplicity and ease of use.

Others

DOSBox Mega Build
Was an enhanced build of DOSBox focused on serial/networking support. Contains the NE2000 patch, parallel port passthrough, virtual printer, OPL passthrough, and others. However, it hasn't been updated in years, and most of what it added was covered by the actively maintained DOSBox-X fork.
DOSBox SVN Daum
Was an enhanced build of DOSBox by ykhwong, with support for Direct3D and HLSL shaders, Glide, Ethernet, virtual printer, and a built-in UI. However, it hasn't been updated in years, and most of what it added was covered by the actively maintained DOSBox-X fork.
Win31DOSBox
Win31DOSBox aims to be an easy method of running Windows 3.x games through a customized version of DOSBox-X or DOSBox SVN. Among its many features, it adds an easy setup program and the ability to print from Windows 3.11. The maintainer of Win31DOSBox has since recommended using WineVDM instead.
To get started, you first need a copy of either Windows 3.11 or WfW (Windows for Workgroups) 3.11. Once you have that, you need to put in either the 6 (Windows 3.11) or 9 (WfW 3.11) floppy images, or the ISO file, or the MSDN self-extracting .exe. After that, running InstallWin31DOSBox.exe which will automatically install Windows 3.x for you. Once it's finished, check that everything works and then install Video for Windows and Quicktime which is located in the Video folder in Program Manager. It is also recommended to install WinG and Win32s as well.
There are multiple ways to get software onto the system. For folders and files, you can drag them into the C-DRIVE folder. If you have a physical CD you can just insert it into your CD drive. If it's a CD image you need to mount it using a software like Virtual CloneDrive. If it's a floppy disk image you need to drag the respective images over the Extract to A-Drive Folder.exe program which will extract them to the A-DRIVE folder.
9xbox
There was some interest in creating a version of DOSBox that would improve compatibility with Windows 95/98/ME. However, it never passed the theoretical stage.