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
(47 intermediate revisions by 18 users not shown)
Line 13: Line 13:
 
'''Key points'''
 
'''Key points'''
 
{{++}} DOSBox allows DOS-based games to run properly on modern systems.
 
{{++}} 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.
  
 
'''General information'''
 
'''General information'''
Line 20: Line 21:
 
==Essential improvements==
 
==Essential improvements==
 
===Graphical user interface===
 
===Graphical user interface===
DOSBox does not use a graphical user interface. However, front ends such as [http://dfendreloaded.sourceforge.net/ D-Fend Reloaded] (an updated successor to the program D-Fend) can be used.
+
DOSBox does not use a graphical user interface. However, front ends such as [http://members.quicknet.nl/blankendaalr/dbgl/ DBGL] can be used.
 +
====[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]====
 
====[http://dfendreloaded.sourceforge.net/ D-Fend Reloaded]====
 
{{++}} Does not require DOSBox to be installed.
 
{{++}} Does not require DOSBox to be installed.
 +
{{--}} No longer maintained
  
 
===Unofficial builds===
 
===Unofficial builds===
There are various unofficial builds 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].
+
{{cleanup|section|Way too many key points. Please consolidate them}}
 +
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://github.com/joncampbell123/dosbox-x DOSBox-X]. It streamlines the interface and adds support for features vanilla DOSBox cannot do such as Glide support.
+
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.
  
 
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.
 
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.
  
 
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.
 
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.
 +
 +
====[https://dosboxece.yesterplay.net/ DOSBox ECE (Enhanced Community Edition)]====
 +
Currently, DOSBox ECE differs from normal DOSBox in these features:
 +
{{++}}  [http://www.vogons.org/viewtopic.php?f=41&t=41853 Emulation of a 3Dfx Vooodoo card through OpenGL] (No external Glide wrapper needed!)
 +
{{++}}  [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://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:
 +
{{++}} GUI menu bar and configuration tool
 +
{{++}} Built-in debugger and logging options
 +
{{++}} Automatic drive mounting (Windows only)
 +
{{++}} Copy and Paste support (Windows only)
 +
{{++}} 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]====
 +
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.
  
 
===Windows installation===
 
===Windows installation===
Windows 3.0 through 98(SE) can be installed inside DOSBox however this is unsupported and instability issues occur. At least one person has gotten [https://github.com/joncampbell123/dosbox-x/blob/master/NOTES/Windows%20ME%20setup%20program.txt Windows ME to work].
+
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.
  
You could also, alternatively, try [https://web.archive.org/web/20141013114801/http://www.japheth.de/HX.html The HX DOS Extender] which grants a minimal Windows runtime environment. Note that it only supports Windows console apps and simple GUI ones. An unofficial continuation of the project called HX+ can be found [http://www.bttr-software.de/forum/mix_entry.php?id=14645 here].
+
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 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 [http://sound-dos.ucoz.ru/load/new_hxdos_extender_2_17/1-1-0-8 here].
  
 
===Example input===
 
===Example input===
Line 58: Line 119:
 
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]. 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 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>
  
 
===[http://www.vogonsdrivers.com/getfile.php?fileid=346 UniVBE]===
 
===[http://www.vogonsdrivers.com/getfile.php?fileid=346 UniVBE]===
Line 64: Line 125:
  
 
===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 some [http://www.dosgames.com/forum/about10574.html here].
+
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>
 +
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 78: Line 140:
 
|ultrawidescreen wsgf award =  
 
|ultrawidescreen wsgf award =  
 
|4k ultra hd wsgf award    =  
 
|4k ultra hd wsgf award    =  
|widescreen resolution      = false
+
|widescreen resolution      = true
|widescreen resolution notes=  
+
|widescreen resolution notes= Requires game being emulated to support it.
 
|multimonitor              = false
 
|multimonitor              = false
 
|multimonitor notes        =  
 
|multimonitor notes        =  
Line 93: Line 155:
 
|borderless windowed notes  =  
 
|borderless windowed notes  =  
 
|anisotropic                = false
 
|anisotropic                = false
|anisotropic notes          =  
+
|anisotropic notes          = Depends on game being emulated (not implemented by DOSBox itself).
 
|antialiasing              = false
 
|antialiasing              = false
|antialiasing notes        =  
+
|antialiasing notes        = Depends on game being emulated (not implemented by DOSBox itself).
|vsync                      = hackable
+
|vsync                      = true
|vsync notes                = See [[#Unofficial builds|Unofficial builds]].
+
|vsync notes                = Set <code>fulldouble = true</code> in the configuration file. See [[#Unofficial builds|Unofficial builds]] for more advanced implementations.
 
|60 fps                    = true
 
|60 fps                    = true
 
|60 fps notes              =  
 
|60 fps notes              =  
 
|120 fps                    = false
 
|120 fps                    = false
 
|120 fps notes              =  
 
|120 fps notes              =  
 +
|hdr                        = false
 +
|hdr notes                  =
 
|color blind                = false
 
|color blind                = false
|color blind notes          = Depends on game being emulated (not implemented by DOSBox it's self).
+
|color blind notes          = Depends on game being emulated (not implemented by DOSBox itself).
 
}}
 
}}
  
Line 114: Line 178:
 
|mouse sensitivity        = true
 
|mouse sensitivity        = true
 
|mouse sensitivity notes  = Adjustable in DOSBox configuration settings.
 
|mouse sensitivity notes  = Adjustable in DOSBox configuration settings.
|mouse menu                = unknown
+
|mouse menu                = false
|mouse menu notes          = Depends on game being emulated (not implemented by DOSBox it's self).
+
|mouse menu notes          = Depends on game being emulated (not implemented by DOSBox itself).
|invert mouse y-axis      = unknown
+
|invert mouse y-axis      = n/a
|invert mouse y-axis notes =  
+
|invert mouse y-axis notes = Depends on game being emulated (not implemented by DOSBox itself).
 
|controller support        = true
 
|controller support        = true
 
|controller support notes  = See [[#Controller support|Controller support]].
 
|controller support notes  = See [[#Controller support|Controller support]].
Line 128: Line 192:
 
|invert controller y-axis  = unknown
 
|invert controller y-axis  = unknown
 
|invert controller y-axis notes=  
 
|invert controller y-axis notes=  
|touchscreen              = unknown
+
|touchscreen              = false
 
|touchscreen notes        =  
 
|touchscreen notes        =  
 
|button prompts            = unknown
 
|button prompts            = unknown
Line 136: Line 200:
 
|haptic feedback          = unknown
 
|haptic feedback          = unknown
 
|haptic feedback notes    =  
 
|haptic feedback notes    =  
 +
|simultaneous input        = true
 +
|simultaneous input notes  =
 +
|steam input api          = unknown
 +
|steam input api notes    =
 
|light bar support        = unknown
 
|light bar support        = unknown
 
|light bar support notes  =  
 
|light bar support notes  =  
Line 145: Line 213:
 
===[[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 [[#Mapper|Mapper]]. See [http://www.dosbox.com/DOSBoxManual.html#Joystick the DOSBox manual] for details.
 +
 +
==Network==
 +
{{Network/Multiplayer
 +
|local play          = true
 +
|local play players  =
 +
|local play modes    =
 +
|local play notes    =
 +
|lan play            = true
 +
|lan play players    =
 +
|lan play modes      =
 +
|lan play notes      =
 +
|online play          = true
 +
|online play players  =
 +
|online play modes    =
 +
|online play notes    =
 +
|asynchronous        =
 +
|asynchronous notes  =
 +
}}{{Network/Connections
 +
|matchmaking        =
 +
|matchmaking notes  =
 +
|p2p                =
 +
|p2p notes          =
 +
|dedicated          =
 +
|dedicated notes    =
 +
|self-hosting      =
 +
|self-hosting notes =
 +
|direct ip          =
 +
|direct ip notes    =
 +
}}
 +
 +
===Net play===
 +
DOSBox supports both IPX and Modem emulation. A guide to setting it up can be found [https://www.dosbox.com/wiki/Connectivity here].
 +
There's also a guide to adding additional protocols for networking [https://www.dosbox.com/wiki/Network_Setup here]. Several method are listed.
 +
 +
==VR support==
 +
{{VR support
 +
|gg3d name                  =
 +
|native 3d gg3d award        =
 +
|nvidia 3d vision gg3d award =
 +
|tridef 3d gg3d award        =
 +
|iz3d gg3d award            =
 +
|native 3d                  =
 +
|native 3d notes            =
 +
|nvidia 3d vision            =
 +
|nvidia 3d vision notes      =
 +
|tridef 3d                  =
 +
|tridef 3d notes            =
 +
|iz3d                        =
 +
|iz3d notes                  =
 +
|vorpx                      = hackable
 +
|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].
 +
|htc vive                    =
 +
|htc vive notes              =
 +
|oculus rift                =
 +
|oculus rift notes          =
 +
|osvr                        =
 +
|osvr notes                  =
 +
|windows mixed reality      =
 +
|windows mixed reality notes =
 +
|keyboard-mouse              =
 +
|keyboard-mouse notes        =
 +
|3rd space gaming vest      =
 +
|3rd space gaming vest notes =
 +
|novint falcon              =
 +
|novint falcon notes        =
 +
|trackir                    =
 +
|trackir notes              =
 +
|tobii eye tracking          =
 +
|tobii eye tracking notes    =
 +
|play area seated            =
 +
|play area seated notes      =
 +
|play area standing          =
 +
|play area standing notes    =
 +
|play area room-scale        =
 +
|play area room-scale notes  =
 +
}}
  
 
==Issues fixed==
 
==Issues fixed==
 +
===Game appears stretched horizontally===
 +
{{Fixbox|description=Fix incorrect aspect ratio|ref={{cn|date=February 2017}}|fix=
 +
{{ii}} 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 <code>[render]</code> section of the DOSBox configuration file and change <code>aspect=false</code> to <code>aspect=true</code>.
 +
* 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===
 
===Green or black screen in fullscreen mode===
 
{{ii}} With some video cards, DOSBox's default output mode will render with a green or black screen in fullscreen mode.
 
{{ii}} With some video cards, DOSBox's default output mode will render with a green or black screen in fullscreen mode.
{{Fixbox|1=
+
 
{{Fixbox/fix|Edit DOSBox configuration file (non-GOG.com versions)}}
+
{{Fixbox|description=Edit DOSBox configuration file (DOSBox.com versions)|fix=
 
# Edit the DOSBox configuration file (<code>dosbox-0.74.conf</code>, <code>dosbox.conf</code>, or similar).
 
# Edit the DOSBox configuration file (<code>dosbox-0.74.conf</code>, <code>dosbox.conf</code>, or similar).
 
# Change <code>output=surface</code> to <code>output=overlay</code>
 
# Change <code>output=surface</code> to <code>output=overlay</code>
Line 156: Line 308:
 
{{ii}} If the problem persists, edit it again and try different modes until you get one that works.
 
{{ii}} If the problem persists, edit it again and try different modes until you get one that works.
 
}}
 
}}
{{Fixbox|1=
+
{{Fixbox|description=Run Graphic Mode Setup (GOG.com versions)|fix=
{{Fixbox/fix|Run Graphic Mode Setup (GOG.com versions)}}
 
 
# Run the game's Graphic Mode Setup in the Start Screen/Start Menu.
 
# Run the game's Graphic Mode Setup in the Start Screen/Start Menu.
 
# Change Graphic mode to "Overlay" or "DDraw".
 
# Change Graphic mode to "Overlay" or "DDraw".
 
# Choose Save Settings and run the game again.
 
# Choose Save Settings and run the game again.
 
{{ii}} If the problem persists, run it again and try different modes until you get one that works.
 
{{ii}} 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===
 
===Character/camera/cursor constantly moves in one direction===
{{Fixbox|1=
+
{{Fixbox|description=Change joystick timing setting|fix=
{{Fixbox/fix|Change joystick timing setting}}
 
 
# Edit the game's DOSBox configuration file.
 
# Edit the game's DOSBox configuration file.
 
# Change <code>timed=true</code> to <code>timed=false</code> (if it is already set to this, try <code>timed=true</code> instead).
 
# Change <code>timed=true</code> to <code>timed=false</code> (if it is already set to this, try <code>timed=true</code> instead).
Line 172: Line 323:
 
}}
 
}}
  
{{Fixbox|1=
+
{{Fixbox|description=Disable joystick support|fix=
{{Fixbox/fix|Disable joystick support}}
 
 
{{ii}} This fix is only suitable if you don't want to use a controller with the game.
 
{{ii}} This fix is only suitable if you don't want to use a controller with the game.
 
# Edit the game's DOSBox configuration file.
 
# Edit the game's DOSBox configuration file.
Line 182: Line 332:
 
===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 [http://www.dosbox.com/wiki/Mapper DOSBox Mapper] to remap the controls.
 +
 +
===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=
 +
# 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>.
 +
# Save your changes and run the game again.
 +
}}
  
 
===Can't open Steam overlay in-game===
 
===Can't open Steam overlay in-game===
 
{{ii}} The [[Steam]] overlay only works in some output modes; OpenGL seems to work the best.<ref name="Steam overlay">[https://www.gog.com/forum/general_archive/adding_dosbox_to_steam_client_and_enabling_steam_overlay Adding DOSBox to Steam Client and enabling Steam Overlay, page 1 - Forum - GOG.com]</ref>
 
{{ii}} The [[Steam]] overlay only works in some output modes; OpenGL seems to work the best.<ref name="Steam overlay">[https://www.gog.com/forum/general_archive/adding_dosbox_to_steam_client_and_enabling_steam_overlay Adding DOSBox to Steam Client and enabling Steam Overlay, page 1 - Forum - GOG.com]</ref>
  
{{Fixbox|1=
+
{{Fixbox|description=Change output in configuration file|ref=<ref name="Steam overlay"/>|fix=
{{Fixbox/fix|Change output in configuration file|ref=<ref name="Steam overlay"/>}}
 
 
# Go to the game's installation folder and edit the DOSBox configuration file (<code>.conf</code>).
 
# Go to the game's installation folder and edit the DOSBox configuration file (<code>.conf</code>).
 
# Change <code>output=</code> to read <code>output=OpenGL</code>
 
# Change <code>output=</code> to read <code>output=OpenGL</code>
Line 197: Line 353:
 
{{ii}} Official DOSBox builds don't support printing in games that use it.
 
{{ii}} Official DOSBox builds don't support printing in games that use it.
  
{{Fixbox|1=
+
{{Fixbox|description=Enable printer support|ref=<ref>{{Refcheck|user=Garrett|date=September 27, 2017|comment=}}</ref>|fix=
{{Fixbox/fix|Enable printer support|ref=<ref>{{Refcheck|user=Garrett|date=September 27, 2017|comment=}}</ref>}}
 
 
# Download [http://ykhwong.x-y.net/subpages/old.php DOSBox SVN Daum 20140127].
 
# Download [http://ykhwong.x-y.net/subpages/old.php DOSBox SVN Daum 20140127].
 
# Install it over top of the game's existing DOSBox version.
 
# Install it over top of the game's existing DOSBox version.
 +
# Extract the [https://community.pcgamingwiki.com/files/file/952-dosbox-svn-daum-fonts/ FONTS folder] into the DOSBox SVN Daum installation folder (required for some games).
 
# Edit the game's DOSBox configuration file and add the following lines at the bottom:
 
# Edit the game's DOSBox configuration file and add the following lines at the bottom:
 
<pre>[printer]
 
<pre>[printer]
Line 223: Line 379:
 
{{ii}} If a menu bar is visible in fullscreen mode after making this change, ensure <code>output=</code> is not set to <code>OpenGL</code>.
 
{{ii}} If a menu bar is visible in fullscreen mode after making this change, ensure <code>output=</code> is not set to <code>OpenGL</code>.
 
{{ii}} The printer selection window is only shown once per session; relaunch the game to change printers.
 
{{ii}} The printer selection window is only shown once per session; relaunch the game to change printers.
 +
{{--}} Accented characters are not printed correctly; for [[Wikipedia:Text mode|text mode]] games use [http://www.columbia.edu/~em36/wpdos/dosbox-vdos-lfn.html DOSBox SVN-lfn] to copy screen text to the clipboard.
 
}}
 
}}
  

Revision as of 23:18, 4 September 2020

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

Key points

DOSBox allows DOS-based games to run properly on modern systems.
CD check for game being emulated can be bypassed generally by coping CD contents to a folder and mounting said folder as a CDROM.

General information

Official DOSBox site
Official DOSBox wiki

Essential improvements

Graphical user interface

DOSBox does not use a graphical user interface. However, front ends such as DBGL can be used.

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.
Requires Java Runtime Environment.

D-Fend Reloaded

Does not require DOSBox to be installed.
No longer maintained

Unofficial builds

This section may require cleanup to meet basic quality standards. The specific problem is: Way too many key points. Please consolidate them. You can help by modifying the article. The discussion page may contain useful suggestions.

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 DOSBox Wiki.

A good one to start with is DOSBox-X (project on GitHub). It streamlines the interface and adds support for features vanilla DOSBox cannot do such as Glide support.

For Mac, you should try Boxer. It makes running and installation of games easier by wrapping them in 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.

Also, installing FreeDOS (or just it's included utilities) grants a more complete DOS experience.

DOSBox ECE (Enhanced Community Edition)

Currently, DOSBox ECE differs from normal DOSBox in these features:

Emulation of a 3Dfx Vooodoo card through OpenGL (No external Glide wrapper needed!)
4x, 5x and 6x scaling in windowed mode is possible
Pixel-perfect output mode for undistorted scaling of the picture
Improved emulation of OPL3 (a FM sound synthesis chip from Yamaha)
Improved sound of PC speaker emulation
Emulation of the Roland MT-32 midi synthesizer
Integration of Fluidsynth (a software MIDI synthesizer with Soundfont support)
Support for up to 10 joystick axis and 2 D-pads (full use of two 360 compatible controllers)
Mouse buttons mappable to keyboard or controller buttons
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.

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:

GUI menu bar and configuration tool
Built-in debugger and logging options
Automatic drive mounting (Windows only)
Copy and Paste support (Windows only)
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

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.

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.

You could also, 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 gives you issues with a particular game, you could alternatively try the Causeway extender or PMODE/W. Worst-case scenario, stick with the stock extender.[1]

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 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. You can however find a guide for installing them here.
A similar thing 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 settings

Template:Video settings

Input settings

Template:Input settings

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[2]
  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.[3]
Change output in configuration file[3]
  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[4]
  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