Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Difference between revisions of "DOSBox"

From PCGamingWiki, the wiki about fixing PC games
(Added missing refurls' titles, fixed internal links and numbered list)
 
(21 intermediate revisions by 13 users not shown)
Line 8: Line 8:
 
{{Infobox game/row/date|OS X|March 30, 2006}}
 
{{Infobox game/row/date|OS X|March 30, 2006}}
 
|winehq      =  
 
|winehq      =  
 +
|strategywiki = DOSBox
 
|wikipedia    = DOSBox
 
|wikipedia    = DOSBox
 
}}
 
}}
  
'''Key points'''
+
'''DOSBox''' is an open-source emulator for running [[Wikipedia:DOS|DOS]]-based applications on a wide variety of modern operating systems. While running only in the form of a command console by default, unofficial frontends exist to streamline and simplify the emulation process for novice users, and are also available from the official website.
{{++}} DOSBox allows DOS-based games to run properly on modern systems.
+
 
{{++}} [[Digital_rights_management_(DRM)#Disc_check|CD check]] for game being emulated can be bypassed generally by coping CD contents to a folder and [https://www.dosbox.com/wiki/MOUNT mounting] said folder as a CDROM.
+
[[Digital rights management (DRM)#Disc check|CD check]]s for the games being emulated can be bypassed by making an image of the CD and using [https://www.dosbox.com/wiki/IMGMOUNT IMGMOUNT] to mount the image.
 +
 
 +
Almost all official digital releases of DOS-era video games come with a pre-configured DOSBox distribution.
  
 
'''General information'''
 
'''General information'''
{{mm}} [http://www.dosbox.com Official DOSBox site]
+
{{mm}} [https://www.dosbox.com Official DOSBox site]
{{mm}} [http://www.dosbox.com/wiki/Main_Page Official DOSBox wiki]
+
{{mm}} [https://www.dosbox.com/wiki/Main_Page Official DOSBox wiki]
 +
{{mm}} [https://sourceforge.net/projects/dosbox/ Official SourceForge repository]
 +
{{mm}} [[List of games officially distributed with DOSBox]]
  
 
==Essential improvements==
 
==Essential improvements==
 
===Graphical user interface===
 
===Graphical user interface===
DOSBox does not use a graphical user interface. However, front ends such as [http://members.quicknet.nl/blankendaalr/dbgl/ DBGL] can be used.
+
DOSBox does not use a graphical user interface. However, frontends such as [https://dbgl.org/ DBGL] can be used. Their links can be found on the [https://www.dosbox.com/download.php?main=1 official DOSBox download page].
====[http://members.quicknet.nl/blankendaalr/dbgl/ Dos Box Game Launcher (DBGL)]====
 
{{++}} Features a wizard to install games.
 
{{++}} Dosbox preinstalled in version 0.74.
 
{{++}} Can manage different Dosbox versions.
 
{{++}} Supports Windows, Linux and MacOS.
 
{{ii}} Requires Java Runtime Environment.
 
====[http://dfendreloaded.sourceforge.net/ D-Fend Reloaded]====
 
{{++}} Does not require DOSBox to be installed.
 
{{--}} No longer maintained
 
  
 
===Unofficial builds===
 
===Unofficial builds===
{{cleanup|section|Way too many key points. Please consolidate them}}
+
There are various unofficial builds, typically called forks, of DOSBox which provide additional functionality. A full list can be found on the [https://www.dosbox.com/wiki/SVN_Builds#List_of_SVN_Builds DOSBox Wiki].
There are various unofficial builds, typically called forks, of DOSBox which provide additional functionality such as support for Glide. A full list can be found on the [http://www.dosbox.com/wiki/SVN_Builds#List_of_SVN_Builds DOSBox Wiki].
 
  
A good one to start with is [https://dosbox-x.com DOSBox-X] ([https://github.com/joncampbell123/dosbox-x project on GitHub]). It streamlines the interface and adds support for features vanilla DOSBox cannot do such as Glide support.
+
====[https://github.com/dosbox-staging/dosbox-staging DOSBox-staging]====
 +
DOSBox-staging attempts to modernize the DOSBox codebase by using current development practices and tools, fixing issues, and adding features that better support today's systems. It discards compatibility with Windows 9x and XP, including the ability to run the former, and instead focuses on code stability and increasing emulation quality for DOS games.
 +
{{mm}} [https://github.com/dosbox-staging/dosbox-staging/wiki Official GitHub wiki]
 +
{{++}} Most active development of all DOSBox forks as of 2023.<ref>{{Refurl|url=https://github.com/dosbox-staging/dosbox-staging/wiki/DOSBox-forks|title=DOSBox forks · dosbox-staging/dosbox-staging Wiki|date=2023-10-08}}</ref>
 +
{{++}} Improved sound emulation, VGA emulation, and performance.
 +
{{++}} Emulates 3dfx Voodoo 1 graphics cards as of version 0.81.0 (February 14, 2024).<ref>{{Refurl|url=https://dosbox-staging.github.io/releases/release-notes/0.81.0/|title=0.81.0 - DOSBox Staging|date=2024-02-16}}</ref>
 +
{{++}} Gradually replacing standard DOSBox in [[Store:ZOOM Platform|ZOOM Platform]] releases of DOS games.
  
For Mac, you should try [http://boxerapp.com Boxer]. It makes running and installation of games easier by wrapping them in [https://en.wikipedia.org/wiki/Bundle_(macOS) Application Bundles], called "Game Boxes", that can be launched in Boxer by double clicking them as well as having a builtin GUI interface for configuration that more easily integrates into the Mac OS. It also has much over looked audio features; it already includes Gravis UltraSound patches and has builtin CM-32 & MT-32L emulation available through MUNT.
+
====[https://dosbox-x.com/ DOSBox-X]====
 
+
DOSBox-X aims to be a complete DOS emulation package that is both fully-featured and easy to use. It also tries to implement more accurate emulation both to improve the general DOS emulation and to aid retro-development. By now it has an impressive list of unique features. Some examples:
Also, installing [http://www.freedos.org/download/ FreeDOS] (or just it's [http://www.freedos.org/software/ included utilities]) grants a more complete DOS experience.
+
{{++}} Better compatibility with DOS non-game applications
 
+
{{++}} Configuration options with built-in debugger and logging options, automatic drive mounting (Windows only), and Clipboard Copy and Paste support
====[https://dosboxece.yesterplay.net/ DOSBox ECE (Enhanced Community Edition)]====
+
{{++}} Emulation support for additional DOS variants as well as NEC PC-98 and Windows 95/98, additional sound formats (FluidSynth and Timidity++, Roland MT-32, Innovation SSI-2001) and more accurate PC Speaker emulation; and addiitional graphics APIs which are not native to DOS
Currently, DOSBox ECE differs from normal DOSBox in these features:
+
{{++}} Save and load states, CPU optimization and Turbo mode
{{++}}  [http://www.vogons.org/viewtopic.php?f=41&t=41853 Emulation of a 3Dfx Vooodoo card through OpenGL] (No external Glide wrapper needed!)
+
{{++}} Support for more DOS and CONFIG.SYS commands, more CPU types, FAT32 and Long Filenames (LFN), ROM BIOS images, printer output, NE2000 Ethernet, overscan border and stereo swapping
{{++}}  [http://www.vogons.org/viewtopic.php?f=41&t=43899 4x, 5x and 6x scaling in windowed mode is possible]
 
{{++}} [http://www.vogons.org/viewtopic.php?f=32&t=49160 Pixel-perfect output mode] for undistorted scaling of the picture
 
{{++}} [http://www.vogons.org/viewtopic.php?f=41&t=49327 Improved emulation of OPL3] (a FM sound synthesis chip from Yamaha)
 
{{++}} [http://www.vogons.org/viewtopic.php?f=41&t=23371 Improved sound of PC speaker emulation]
 
{{++}}  [https://sourceforge.net/projects/munt/ Emulation of the Roland MT-32 midi synthesizer]
 
{{++}} [http://www.vogons.org/viewtopic.php?f=32&t=27831&start=20 Integration of Fluidsynth] (a software MIDI synthesizer with Soundfont support)
 
{{++}} [http://www.vogons.org/viewtopic.php?f=32&t=27452 Support for up to 10 joystick axis and 2 D-pads] (full use of two 360 compatible controllers)
 
{{++}}  [https://sourceforge.net/p/dosbox/patches/264/ Mouse buttons mappable to keyboard or controller buttons]
 
{{++}}  [https://sourceforge.net/p/dosbox/patches/276/ Separate sensitivity settings for the X and Y axis of the mouse]
 
{{++}}  Supports up to 384 MB of memory, required for running Windows 9x on top of DOSBox ECE
 
{{++}}  4MB video memory, reducing sprite flickering in games using the Build engine (“Duke Nukem 3D”, “Blood”, etc.)
 
  
The DOSBox ECE developer also hosts compiled versions of the latest DOSBox SVN (development builds of the official DOSBox) on his website.
+
====[https://github.com/schellingb/dosbox-pure DOSBox Pure]====
 +
DOSBox Pure is aimed at optimal compatibility with RetroArch/Libretro systems.
  
====[https://dosbox-x.com/ DOSBox-X]====
+
====[https://yesterplay.net/dosboxece/ DOSBox ECE (Enhanced Community Edition)]====
DOSBox-X aims to be a complete DOS emulation package that is both fully-featured and easy to use. It also tries to implement more accurate emulation both to improve the general DOS emulation and to aid retro-development. By now it has an impressive list of unique features. Some examples:
+
DOSBox ECE differs from normal DOSBox in these features:
{{++}} GUI menu bar and configuration tool
+
{{++}} Emulation of a 3Dfx Vooodoo card through OpenGL without an external Glide wrapper<ref>{{refurl|url=https://www.vogons.org/viewtopic.php?f=41&t=41853|title=VIDEO - 3dfx voodoo emulation (SDL1) \ VOGONS|date=2024-02-20}}</ref> (No external Glide wrapper needed)
{{++}} Built-in debugger and logging options
+
{{++}} Improved emulation of OPL3<ref>{{refurl|url=https://www.vogons.org/viewtopic.php?f=41&t=49327|title=AUDIO - Nuked OPL3 Patch for DOSBox(+Windows build) (SDL1) \ VOGONS|date=2024-02-20}}</ref> and [[https://www.vogons.org/viewtopic.php?f=41&t=23371 PC speaker] audio, as well as new emulation of Roland MT-32<ref>{{Refurl|url=https://sourceforge.net/projects/munt/|title=Munt download &#x7C; SourceForge.net|date=2024-02-20}}</ref> and Fluidsynth<ref>{{refurl|url=https://www.vogons.org/viewtopic.php?f=32&t=27831&start=20|title=Fluidsynth soundfont patch - Page 2 \ VOGONS|date=2024-02-20}}</ref> MIDI synthesizers
{{++}} Automatic drive mounting (Windows only)
+
{{++}} Support for up to 10 joystick axis and 2 D-pads and making full use of two Xbox 360 compatible controllers<ref>{{refurl|url=https://www.vogons.org/viewtopic.php?f=32&t=27452|title=DosBox fully bindable Joystick Patch \ VOGONS|date=2024-02-20}}</ref>, as well as mouse buttons mappable to keyboard or controller buttons<ref>{{Refurl|url=https://sourceforge.net/p/dosbox/patches/264/|title=DOSBox / Patches / #264 Allow mapping keys to mouse buttons|date=2024-02-20}}</ref> including separate sensitivity settings for both the X and Y mouse axis<ref>{{Refurl|url=https://sourceforge.net/p/dosbox/patches/276/|title=DOSBox / Patches / #276 Separate vertical/horizontal mouse sensitivity|date=2024-02-20}}</ref>
{{++}} Copy and Paste support (Windows only)
+
{{++}} Supports up to 384 MB of RAM, required for running Windows 9x on top of DOSBox ECE, and up to 4 MB of VRAM, reducing sprite flickering in games using the [[Engine:Build|Build engine]] ([[Duke Nukem 3D]], [[Blood]], etc.)
{{++}} NEC PC-98 support
 
{{++}} Support for Windows 95 and 98
 
{{++}} Emulation of the Roland MT-32 midi synthesizer
 
{{++}} FluidSynth and Timidity++ General MIDI support
 
{{++}} Save and load states
 
{{++}} CPU optimization and Turbo mode
 
{{++}} Improved customization on the title bar
 
{{++}} Better compatibility with DOS applications
 
{{++}} Built-in external tools such as CWSDPMI, DOSIDLE and IMGMAKE
 
{{++}} Support for more DOS commands (e.g. VOL, LABEL, PROMPT, and MOUSE)
 
{{++}} Support for more video modes (e.g. mda, mcga, cga_rgb, cga_composite, cga_composite2, amstrad)
 
{{++}} Support for CONFIG.SYS commands (e.g. DEVICE, BUFFERS, FCBS, LASTDRIV)
 
{{++}} Support for more CPU types (e.g. 8086, 80186, 80286, Pentium MMX and Pentium Pro)
 
{{++}} Support for FAT32 and Long Filenames (LFN)
 
{{++}} Support for ROM BIOS images
 
{{++}} Support for printer output
 
{{++}} Support for vertical sync (V-Sync)
 
{{++}} Support for Direct3D with pixel shaders (Windows only)
 
{{++}} Support for OpenglHQ
 
{{++}} Support for Innovation SSI-2001 emulation
 
{{++}} Support for 3dfx Glide and Voodoo chip emulation
 
{{++}} Support for NE2000 Ethernet
 
{{++}} Support for more accurate PC Speaker emulation
 
{{++}} Support for features such as overscan border and stereo swapping
 
{{++}} Various patches such as font, DBCS and Ctrl-Break patch
 
  
====[https://github.com/dosbox-staging/dosbox-staging DOSBox-Staging]====
+
{{ii}} Until version r4301 DOSBox ECE also featured 4x, 5x and x6 scaling in window mode and an Pixel-perfect output model for undistorted scaling of the picture. This build still can be found in the "archive" folder.
dosbox-staging attempts to modernize the DOSBox codebase by using current development practices and tools, fixing issues, and adding features that better support today's systems.
+
{{ii}} The DOSBox ECE developer also hosts compiled versions of the latest DOSBox SVN (development builds of the official DOSBox) on his website.
 +
{{--}} Development ended in September 2023.<ref>{{Refurl|url=https://www.vogons.org/viewtopic.php?p=1192987#p1192987|title=DOSBox ECE (for Windows & Linux) - Page 77 \ VOGONS|date=2023-10-08}}</ref>
  
 
===Windows installation===
 
===Windows installation===
Windows 3.0 through 98(SE) can be installed inside regular DOSBox however this is unsupported and instability issues occur. One of the forks, DOSBox-X does support Windows, and allows even Windows ME to run to some extend.
+
Windows 3.0 through 98(SE) can be installed inside regular DOSBox. However, this is unsupported and instability issues occur. One of the forks, DOSBox-X does support Windows, and allows even Windows ME to run to some extent.
  
You could also, alternatively, try the [http://www.japheth.de/HX.html HX DOS Extender] (up to version 2.17) which grants a minimal Windows runtime environment. Note that it only supports Windows console apps and simple GUI ones. The latest versions (version 2.18+) are located on [https://github.com/Baron-von-Riedesel/HX its GitHub site]. An unofficial version 2.17+ (with support for modern sound cards) can be found [http://sound-dos.ucoz.ru/load/new_hxdos_extender_2_17/1-1-0-8 here].
+
Alternatively, try the [https://www.japheth.de/HX.html HX DOS Extender] (up to version 2.17), which grants a minimal Windows runtime environment. Note that it only supports Windows console apps and simple GUI ones. The latest versions (version 2.18 and later) are located on [https://github.com/Baron-von-Riedesel/HX its GitHub site]. An unofficial version 2.17+ (with support for modern sound cards) can be found [https://sound-dos.ucoz.ru/load/new_hxdos_extender_2_17/1-1-0-8 here].
  
 
===Example input===
 
===Example input===
Line 114: Line 81:
 
Substitute the pathways with the given conventions of the host operating system.
 
Substitute the pathways with the given conventions of the host operating system.
  
{{key|Alt|Enter}} to maximise the window; {{key|Ctrl|F4}} to switch between mounted disc images. Use double quotes, " ", when mounting folders with spaces ("c:\installation folder"); For mounting multiple disc images, -t iso is required only once at the end of the last disc image, this defines how DOSBox should emulate the volume and iso defines the type of volume.
+
{{key|Alt|Enter}} to maximise the window; {{key|Ctrl|F4}} to switch between mounted disc images. Use double quotes, " ", when mounting folders with spaces ("c:\installation folder"); for mounting multiple disc images, <code>-t iso</code> is required only once at the end of the last disc image, this defines how DOSBox should emulate the volume and iso defines the type of volume.
  
===[http://dos32a.narechk.net/index_en.html DOS/32A]===
+
===[https://dos32a.narechk.net/index_en.html DOS/32A]===
 
DOS/32A is a more advanced extender and open source replacement to DOS4GW. It can improve both performance and stability of many games. More info [https://www.dosbox.com/wiki/TOOLS:DOS32A here].
 
DOS/32A is a more advanced extender and open source replacement to DOS4GW. It can improve both performance and stability of many games. More info [https://www.dosbox.com/wiki/TOOLS:DOS32A here].
  
{{ii}} If DOS/32A gives you issues with a particular game, you could alternatively try the [http://www.devoresoftware.com/freesource/cwsrc.htm Causeway extender] or [http://www.sid6581.net/pmodew/ PMODE/W]. Worst-case scenario, stick with the stock extender.<ref>https://www.gog.com/forum/m_a_x_series/changing_dos_extenders_might_be_the_solution_for_all_of_us</ref>
+
{{ii}} If DOS/32A has issues with a particular game, alternatively try the [http://www.devoresoftware.com/freesource/cwsrc.htm Causeway extender] or [http://www.sid6581.net/pmodew/ PMODE/W].<ref>{{Refurl|url=https://www.gog.com/forum/m_a_x_series/changing_dos_extenders_might_be_the_solution_for_all_of_us|title=CHANGING DOS EXTENDERS - MIGHT BE THE SOLUTION FOR ALL OF US, page 3 - Forum - GOG.com|date=2024-02-20}}</ref>
  
 
===[http://www.vogonsdrivers.com/getfile.php?fileid=346 UniVBE]===
 
===[http://www.vogonsdrivers.com/getfile.php?fileid=346 UniVBE]===
Although DOSBox will not gain the performance improvements this program promises, it will add additional video modes. Although 5.0+ were initially released as commercial software, SciTech later released them as freeware. Versions 1-4 were always freeware though. The 5.x series is generally the best to use with DOSBox. Additional (possibly useful) DOS display utilities can be found [http://www.vogons.org/viewtopic.php?t=15190 here].
+
Although DOSBox will not gain the performance improvements this program promises, it will add additional video modes. Although 5.0+ were initially released as commercial software, SciTech later released them as freeware; versions 1-4 were always freeware. The 5.x series is generally the best to use with DOSBox. Additional DOS display utilities can be found [https://www.vogons.org/viewtopic.php?t=15190 here].
  
 
===Gravis MIDI/Patches===
 
===Gravis MIDI/Patches===
The Gravis Ultra Sound or GUS was a sound card produced by Advanced Gravis Computer Technology, who were best known for their Gravis PC Gamepad. One of the features of the GUS is its ability to use real world sound samples instead of digitally generated instruments. This allows for a richer quality of sound when playing midi sound. Unfortunately, the official patches (drivers/samples) cannot be distributed with DOSBox due to conflicting Licenses. You can however find a guide for installing them [https://www.vogons.org/viewtopic.php?f=31&t=16974 here].<br>
+
The Gravis Ultra Sound or GUS was a sound card produced by Advanced Gravis Computer Technology, who were best known for their [[Controller:Gravis PC GamePad|Gravis PC Gamepad]]. One of the features of the GUS is its ability to use real world sound samples instead of digitally generated instruments. This allows for a richer quality of sound when playing midi sound. Unfortunately, the official patches (drivers/samples) cannot be distributed with DOSBox due to conflicting licenses. A guide for installing them can be found there [https://www.vogons.org/viewtopic.php?f=31&t=16974 here]. Similar is true for some Sound Blaster games; see [https://nerdlypleasures.blogspot.com/2013/12/sound-blaster-drivers-when-dos-games.html here].
A similar thing is true for some Sound Blaster games; see [http://nerdlypleasures.blogspot.com/2013/12/sound-blaster-drivers-when-dos-games.html here].
 
  
 
==DOSBox configuration==
 
==DOSBox configuration==
Line 133: Line 99:
 
To modify a configuration option within DOSBox, use the <code>config</code> command.  For example, <code>config cpu cycles fixed 30000</code>
 
To modify a configuration option within DOSBox, use the <code>config</code> command.  For example, <code>config cpu cycles fixed 30000</code>
  
==Video settings==
+
==Video==
{{Video settings
+
{{Video
 
|wsgf link                  =  
 
|wsgf link                  =  
 
|widescreen wsgf award      =  
 
|widescreen wsgf award      =  
Line 170: Line 136:
 
}}
 
}}
  
==Input settings==
+
==Input==
{{Input settings
+
{{Input
 
|key remap                = true
 
|key remap                = true
|key remap notes          = See [[#Mapper|Mapper]].
+
|key remap notes          = See [[#Remapping|Remapping]].
 
|acceleration option      = false
 
|acceleration option      = false
 
|acceleration option notes =  
 
|acceleration option notes =  
Line 194: Line 160:
 
|touchscreen              = false
 
|touchscreen              = false
 
|touchscreen notes        =  
 
|touchscreen notes        =  
|button prompts            = unknown
 
|button prompts notes      =
 
 
|controller hotplug        = unknown
 
|controller hotplug        = unknown
 
|controller hotplug notes  =  
 
|controller hotplug notes  =  
Line 209: Line 173:
  
 
===[[Glossary:Remapping|Remapping]]===
 
===[[Glossary:Remapping|Remapping]]===
The [http://www.dosbox.com/wiki/Mapper DOSBox Mapper] ({{key|Ctrl|F1}}/{{key|Command|F1}}) can be used to reassign keyboard, mouse and joystick commands.
+
The [https://www.dosbox.com/wiki/Mapper DOSBox Mapper] ({{key|Ctrl|F1}}/{{key|Command|F1}}) can be used to reassign keyboard, mouse and joystick commands.
  
 
===[[Controller|Controller support]]===
 
===[[Controller|Controller support]]===
DOSBox has several virtual joystick modes which affect what inputs are seen in-game and also what inputs can be remapped using the [[#Mapper|Mapper]]. See [http://www.dosbox.com/DOSBoxManual.html#Joystick the DOSBox manual] for details.
+
DOSBox has several virtual joystick modes which affect what inputs are seen in-game and also what inputs can be remapped using the [[#Remapping|Mapper]]. See [https://www.dosbox.com/DOSBoxManual.html#Joystick the DOSBox manual] for details.
  
 
==Network==
 
==Network==
Line 264: Line 228:
 
|vorpx                      = hackable
 
|vorpx                      = hackable
 
|vorpx modes                = 2D
 
|vorpx modes                = 2D
|vorpx notes                = Not officially supported, requires [http://ykhwong.x-y.net/ this DOSBOX version]. See also [https://www.vorpx.com/forums/topic/dosbox/#post-126136 here].  
+
|vorpx notes                = Not officially supported, requires [http://ykhwong.x-y.net/ this DOSBox version]. See also [https://www.vorpx.com/forums/topic/dosbox/#post-126136 here].  
 
|htc vive                    =  
 
|htc vive                    =  
 
|htc vive notes              =  
 
|htc vive notes              =  
Line 331: Line 295:
  
 
===Can't remap keys/joystick===
 
===Can't remap keys/joystick===
Some games have fixed inputs. Use the [http://www.dosbox.com/wiki/Mapper DOSBox Mapper] to remap the controls.
+
Some games have fixed inputs. Use the [https://www.dosbox.com/wiki/Mapper DOSBox Mapper] to remap the controls.
  
 
===Unable to use D-pad/Analog stick not working (XInput controllers)===
 
===Unable to use D-pad/Analog stick not working (XInput controllers)===
{{Fixbox|description=Change DOSBox configuration file|ref=<ref>[https://www.gog.com/forum/general/about_dosbox_and_xbox_360xinput_controllers About DOSBox and Xbox 360/XInput Controllers, page 1 - Forum - GOG.com]</ref>|fix=
+
{{Fixbox|description=Change DOSBox configuration file|ref=<ref>{{Refurl|url=https://www.gog.com/forum/general/about_dosbox_and_xbox_360xinput_controllers|title=About DOSBox and Xbox 360/XInput Controllers, page 1 - Forum - GOG.com|date=May 2023}}</ref>|fix=
 
# Edit the game's DOSBox configuration file.
 
# Edit the game's DOSBox configuration file.
 
# Change the <code>joysticktype</code> value to <code>fcs</code> and <code>timed</code> value to <code>false</code>.
 
# Change the <code>joysticktype</code> value to <code>fcs</code> and <code>timed</code> value to <code>false</code>.
Line 371: Line 335:
 
parallel1=printer
 
parallel1=printer
 
</pre>
 
</pre>
<ol start="4">
+
<ol start="5">
 
<li>Start the game normally.</li>
 
<li>Start the game normally.</li>
 
<li>When you are ready to print, first switch into windowed mode ({{key|Alt|Enter}}) to ensure you can see the printer dialog box.</li></ol>
 
<li>When you are ready to print, first switch into windowed mode ({{key|Alt|Enter}}) to ensure you can see the printer dialog box.</li></ol>
Line 384: Line 348:
 
{{References}}
 
{{References}}
  
[[Category:Emulation]]
+
[[Category:Emulators]]

Latest revision as of 03:17, 20 February 2024

DOSBox
DOSBox cover
Developers
DOSBox Team
Release dates
Windows July 22, 2002
Linux July 22, 2002
macOS (OS X) March 30, 2006
DOSBox at Wikipedia

DOSBox is an open-source emulator for running DOS-based applications on a wide variety of modern operating systems. While running only in the form of a command console by default, unofficial frontends exist to streamline and simplify the emulation process for novice users, and are also available from the official website.

CD checks for the games being emulated can be bypassed by making an image of the CD and using IMGMOUNT to mount the image.

Almost all official digital releases of DOS-era video games come with a pre-configured DOSBox distribution.

General information

Official DOSBox site
Official DOSBox wiki
Official SourceForge repository
List of games officially distributed with DOSBox

Essential improvements

Graphical user interface

DOSBox does not use a graphical user interface. However, frontends such as DBGL can be used. Their links can be found on the official DOSBox download page.

Unofficial builds

There are various unofficial builds, typically called forks, of DOSBox which provide additional functionality. A full list can be found on the DOSBox Wiki.

DOSBox-staging

DOSBox-staging attempts to modernize the DOSBox codebase by using current development practices and tools, fixing issues, and adding features that better support today's systems. It discards compatibility with Windows 9x and XP, including the ability to run the former, and instead focuses on code stability and increasing emulation quality for DOS games.

Official GitHub wiki
Most active development of all DOSBox forks as of 2023.[1]
Improved sound emulation, VGA emulation, and performance.
Emulates 3dfx Voodoo 1 graphics cards as of version 0.81.0 (February 14, 2024).[2]
Gradually replacing standard DOSBox in ZOOM Platform releases of DOS games.

DOSBox-X

DOSBox-X aims to be a complete DOS emulation package that is both fully-featured and easy to use. It also tries to implement more accurate emulation both to improve the general DOS emulation and to aid retro-development. By now it has an impressive list of unique features. Some examples:

Better compatibility with DOS non-game applications
Configuration options with built-in debugger and logging options, automatic drive mounting (Windows only), and Clipboard Copy and Paste support
Emulation support for additional DOS variants as well as NEC PC-98 and Windows 95/98, additional sound formats (FluidSynth and Timidity++, Roland MT-32, Innovation SSI-2001) and more accurate PC Speaker emulation; and addiitional graphics APIs which are not native to DOS
Save and load states, CPU optimization and Turbo mode
Support for more DOS and CONFIG.SYS commands, more CPU types, FAT32 and Long Filenames (LFN), ROM BIOS images, printer output, NE2000 Ethernet, overscan border and stereo swapping

DOSBox Pure

DOSBox Pure is aimed at optimal compatibility with RetroArch/Libretro systems.

DOSBox ECE (Enhanced Community Edition)

DOSBox ECE differs from normal DOSBox in these features:

Emulation of a 3Dfx Vooodoo card through OpenGL without an external Glide wrapper[3] (No external Glide wrapper needed)
Improved emulation of OPL3[4] and [PC speaker audio, as well as new emulation of Roland MT-32[5] and Fluidsynth[6] MIDI synthesizers
Support for up to 10 joystick axis and 2 D-pads and making full use of two Xbox 360 compatible controllers[7], as well as mouse buttons mappable to keyboard or controller buttons[8] including separate sensitivity settings for both the X and Y mouse axis[9]
Supports up to 384 MB of RAM, required for running Windows 9x on top of DOSBox ECE, and up to 4 MB of VRAM, reducing sprite flickering in games using the Build engine (Duke Nukem 3D, Blood, etc.)
Until version r4301 DOSBox ECE also featured 4x, 5x and x6 scaling in window mode and an Pixel-perfect output model for undistorted scaling of the picture. This build still can be found in the "archive" folder.
The DOSBox ECE developer also hosts compiled versions of the latest DOSBox SVN (development builds of the official DOSBox) on his website.
Development ended in September 2023.[10]

Windows installation

Windows 3.0 through 98(SE) can be installed inside regular DOSBox. However, this is unsupported and instability issues occur. One of the forks, DOSBox-X does support Windows, and allows even Windows ME to run to some extent.

Alternatively, try the HX DOS Extender (up to version 2.17), which grants a minimal Windows runtime environment. Note that it only supports Windows console apps and simple GUI ones. The latest versions (version 2.18 and later) are located on its GitHub site. An unofficial version 2.17+ (with support for modern sound cards) can be found here.

Example input

DOSBox running in Windows:

Z:\>
Z:\>mount c c:\game_directory
Z:\>imgmount d d:\game_disc.iso -t iso
Z:\>cd d:\
D:\>game_install.exe
D:\>cd c:\
C:\>
C:\>game.exe

Substitute the pathways with the given conventions of the host operating system.

Alt+ Enter to maximise the window; Ctrl+F4 to switch between mounted disc images. Use double quotes, " ", when mounting folders with spaces ("c:\installation folder"); for mounting multiple disc images, -t iso is required only once at the end of the last disc image, this defines how DOSBox should emulate the volume and iso defines the type of volume.

DOS/32A

DOS/32A is a more advanced extender and open source replacement to DOS4GW. It can improve both performance and stability of many games. More info here.

If DOS/32A has issues with a particular game, alternatively try the Causeway extender or PMODE/W.[11]

UniVBE

Although DOSBox will not gain the performance improvements this program promises, it will add additional video modes. Although 5.0+ were initially released as commercial software, SciTech later released them as freeware; versions 1-4 were always freeware. The 5.x series is generally the best to use with DOSBox. Additional DOS display utilities can be found here.

Gravis MIDI/Patches

The Gravis Ultra Sound or GUS was a sound card produced by Advanced Gravis Computer Technology, who were best known for their Gravis PC Gamepad. One of the features of the GUS is its ability to use real world sound samples instead of digitally generated instruments. This allows for a richer quality of sound when playing midi sound. Unfortunately, the official patches (drivers/samples) cannot be distributed with DOSBox due to conflicting licenses. A guide for installing them can be found there here. Similar is true for some Sound Blaster games; see here.

DOSBox configuration

DOSBox stores configuration information in *.conf files. Individual conf files can be create for each piece of software used and additional parameters can be appended.

To modify a configuration option within DOSBox, use the config command. For example, config cpu cycles fixed 30000

Video

Graphics feature State Notes
Widescreen resolution
Requires game being emulated to support it.
Multi-monitor
Ultra-widescreen
4K Ultra HD
Field of view (FOV)
Depends on game being emulated (not implemented by DOSBox itself).
Windowed
Toggle with Alt+ Enter.
Borderless fullscreen windowed
See the glossary page for potential workarounds.
Anisotropic filtering (AF)
Depends on game being emulated (not implemented by DOSBox itself).
Anti-aliasing (AA)
Depends on game being emulated (not implemented by DOSBox itself).
Vertical sync (Vsync)
Set fulldouble = true in the configuration file. See Unofficial builds for more advanced implementations.
60 FPS
120+ FPS
High dynamic range display (HDR)
Color blind mode
Depends on game being emulated (not implemented by DOSBox itself).

Input

Keyboard and mouse State Notes
Remapping
See Remapping.
Mouse acceleration
Mouse sensitivity
Adjustable in DOSBox configuration settings.
Mouse input in menus
Depends on game being emulated (not implemented by DOSBox itself).
Mouse Y-axis inversion
Depends on game being emulated (not implemented by DOSBox itself).
Controller
Controller support
See Controller support.
Full controller support
Controller remapping
Controller sensitivity
Controller Y-axis inversion
Additional information
Controller hotplugging
Haptic feedback
Digital movement supported
Simultaneous controller+KB/M

Remapping

The DOSBox Mapper (Ctrl+F1/ Command+F1) can be used to reassign keyboard, mouse and joystick commands.

Controller support

DOSBox has several virtual joystick modes which affect what inputs are seen in-game and also what inputs can be remapped using the Mapper. See the DOSBox manual for details.

Network

Multiplayer types

Type Native Notes
Local play
LAN play
Online play

Net play

DOSBox supports both IPX and Modem emulation. A guide to setting it up can be found here. There's also a guide to adding additional protocols for networking here. Several method are listed.

VR support

3D modes State Notes
vorpX
2D
Not officially supported, requires this DOSBox version. See also here.

Issues fixed

Game appears stretched horizontally

Fix incorrect aspect ratio[citation needed]
Many DOS games are designed to run at 320x200 or 640x400, but with a 4:3 aspect ratio. To set this, do the following:
  • Go to the [render] section of the DOSBox configuration file and change aspect=false to aspect=true.
  • If you are using Boxer, you can also use the View - Use 4:3 Aspect Ratio item in the menu.

Green or black screen in fullscreen mode

With some video cards, DOSBox's default output mode will render with a green or black screen in fullscreen mode.
Edit DOSBox configuration file (DOSBox.com versions)
  1. Edit the DOSBox configuration file (dosbox-0.74.conf, dosbox.conf, or similar).
  2. Change output=surface to output=overlay
  3. Save your changes and run the game again.
If the problem persists, edit it again and try different modes until you get one that works.
Run Graphic Mode Setup (GOG.com versions)
  1. Run the game's Graphic Mode Setup in the Start Screen/Start Menu.
  2. Change Graphic mode to "Overlay" or "DDraw".
  3. Choose Save Settings and run the game again.
If the problem persists, run it again and try different modes until you get one that works.
GOG's setup utility can be rather buggy: it may crash, freeze or simply not save changed settings when exiting.

Character/camera/cursor constantly moves in one direction

Change joystick timing setting
  1. Edit the game's DOSBox configuration file.
  2. Change timed=true to timed=false (if it is already set to this, try timed=true instead).
  3. Save your changes and run the game again.
Disable joystick support
This fix is only suitable if you don't want to use a controller with the game.
  1. Edit the game's DOSBox configuration file.
  2. Change the joysticktype value to none
  3. Save your changes and run the game again.

Can't remap keys/joystick

Some games have fixed inputs. Use the DOSBox Mapper to remap the controls.

Unable to use D-pad/Analog stick not working (XInput controllers)

Change DOSBox configuration file[12]
  1. Edit the game's DOSBox configuration file.
  2. Change the joysticktype value to fcs and timed value to false.
  3. Save your changes and run the game again.

Can't open Steam overlay in-game

The Steam overlay only works in some output modes; OpenGL seems to work the best.[13]
Change output in configuration file[13]
  1. Go to the game's installation folder and edit the DOSBox configuration file (.conf).
  2. Change output= to read output=OpenGL
  3. Change fullresolution= to read fullresolution=desktop for the best overlay resolution.
  4. Save your changes. The Steam overlay should now work in-game.

Printer support

Official DOSBox builds don't support printing in games that use it.
Enable printer support[14]
  1. Download DOSBox SVN Daum 20140127.
  2. Install it over top of the game's existing DOSBox version.
  3. Extract the FONTS folder into the DOSBox SVN Daum installation folder (required for some games).
  4. Edit the game's DOSBox configuration file and add the following lines at the bottom:
[printer]
printer=true
dpi=360
width=85
height=110
printoutput=printer
multipage=false
docpath=.
timeout=0

[parallel]
parallel1=printer
  1. Start the game normally.
  2. When you are ready to print, first switch into windowed mode (Alt+ Enter) to ensure you can see the printer dialog box.

Notes

If DOSBox does not start printing increase the value for timeout=0 (e.g. timeout=100); if a printed page is incomplete increase this to a higher value.
If a menu bar is visible in fullscreen mode after making this change, ensure output= is not set to OpenGL.
The printer selection window is only shown once per session; relaunch the game to change printers.
Accented characters are not printed correctly; for text mode games use DOSBox SVN-lfn to copy screen text to the clipboard.


References