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
(→‎Unofficial builds: added section cleanup tag.)
(5 intermediate revisions by the same user not shown)
Line 36: Line 36:
 
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].
 
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.
Line 60: Line 60:
  
 
====[https://dosbox-x.com/ DOSBox-X]====
 
====[https://dosbox-x.com/ DOSBox-X]====
The focus of DOSBox-X lies on accuracy and historical preservation. As such it may not be the fastest option available. Regardless however, it has an impressive list of unique features. Some examples:
+
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
 
{{++}} GUI menu bar and configuration tool
 
{{++}} Built-in debugger and logging options
 
{{++}} Built-in debugger and logging options
Line 67: Line 67:
 
{{++}} NEC PC-98 support
 
{{++}} NEC PC-98 support
 
{{++}} Support for Windows 95 and 98
 
{{++}} Support for Windows 95 and 98
{{++}} Emulation of the Roland MT-32 midi synthesizer
+
{{++}} Emulation of the Roland MT-32 MIDI synthesizer
 
{{++}} FluidSynth and Timidity++ General MIDI support
 
{{++}} FluidSynth and Timidity++ General MIDI support
 
{{++}} Save and load states
 
{{++}} Save and load states
Line 91: Line 91:
 
{{++}} Various patches such as font, DBCS and Ctrl-Break patch
 
{{++}} Various patches such as font, DBCS and Ctrl-Break patch
  
====[https://github.com/dosbox-staging/dosbox-staging DOSBox-Staging]====
+
====[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.
 
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.
  
Line 97: Line 97:
 
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 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://sound-dos.ucoz.ru/load/new_hxdos_extender_2_17/1-1-0-8 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===

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