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


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Difference between revisions of "DOSBox"

From PCGamingWiki, the wiki about fixing PC games
(Added missing refurls' titles, fixed internal links and numbered list)
(→‎DOSBox ECE (Enhanced Community Edition): Remove extra opening bracket)
 
Line 53: Line 53:
 
DOSBox ECE differs from normal DOSBox in these features:
 
DOSBox ECE differs from normal DOSBox in these features:
 
{{++}} 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)
 
{{++}} 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)
{{++}} 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
+
{{++}} 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
 
{{++}} 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>
 
{{++}} 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>
 
{{++}} 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.)
 
{{++}} 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.)

Latest revision as of 03:27, 15 June 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