
0.82.1 / 04-04-2025
DOSBox Staging
Accuracy
Performance
Features
DOSBox Staging is an attempt to revitalize DOSBox's development process. It's not a rewrite, but a continuation and improvement on the existing DOSBox codebase while leveraging modern development tools and practices.
For example, they want to improve the out-of-the-box experience for new users, integrate several notable community-developed patches that are not included in the SourceForge-hosted project, implement new features and quality-of-life improvements, prioritize DOS gaming while focusing on supporting up-to-date, current Operating Systems and modern hardware. For technical comparisons, please check here.
...
Most Recent Changes
--0.82.1--
The main focus of this maintenance release is to fix a couple of regressions introduced in 0.82.0 and older releases, mostly related to game compatibility. The other big improvement is the CPU usage of the 3dfx Voodoo emulation has been reduced by about 50%, so your computer won’t go into hoover-mode anymore when playing those Voodoo games
This release was made possible by everyone who tried 0.82.0, submitted bugs and pull requests, and tested the updates. Thank you!
Game compatibility fixes
Fix DreamWeb regression introduced in 0.81.2 where the grayscale text in the intro appeared “quantised” to pure black and white colours.
Fix Epic Pinball: Super Android (shareware v1.1) regression where the music was playing too quickly with doubled notes on the Gravis UltraSound (the Epic Pinball: The Complete Collection CD version was not affected).
Fix audio stuttering regression above ~100k cycles in Nethack: Falcon’s Eye.
Fix regression where an executable could not be started by its extensionless name if another file with the same name and no extension was present in the same directory (e.g., if you had
SKI.EXE
andSKI
in the same directory,SKI.EXE
would start the executable, butSKI
resulted in an error). A non-exhaustive list of affected games:Fahrenheit 451
Overkill
Ski or Die
Treasure Island
Wizard of Oz
Fix Jane’s Combat Simulations AH-64D Longbow (original non-Gold version) regression where the in-game options menu could not be opened (v1.07), and fix the game crashing when launching any mission (v1.08).
Fix emulator crash in Chess Housers (1993) which happened a few seconds after starting the game.
Fix dual-mouse gaming support not working on Windows. This broke dual-mouse support in The Settlers and The Settlers II: Veni, Vidi, Vici.
Other fixes and enhancements
The CPU usage of the 3dfx Voodoo emulation has been reduced by about 50%.
Fix regression where the audio was not muted when the mapper was open.
Fix subtle Gravis UltraSound regression where the high-frequency content of the GUS’s output was a little harsher than before in some games.
The default audio volume (master channel volume) has been reduced to 50% (-6 dB) in the mixer to avoid audible distortion in games with a loud output.
Enabling crossfeed (e.g., by setting
crossfeed = on
in the config) now only applies the crossfeed effect to the OPL and CMS channels.Fix old regression introduced in 0.78.0 where the zoom-rotator effects in the demos Show and Face by Majic 12 were offset horizontally by roughly half the screen.
Fix regression where sometimes the real mode cycles value was incorrectly displayed in the DOSBox Staging window’s title bar in protected mode programs.
File sharing and locking emulation introduced in 0.82.0 can now be disabled with the new
file_locking
setting. A very small number of DOS programs might misbehave or crash with file locking enabled (e.g., the demo Astral Blur by TBL).
Other changes
The minimum required macOS version has been increased from macOS 10.15 Catalina to macOS 11 Big Sur.
Installation
This is a drop-in upgrade for users already on 0.82.0—no configuration changes are necessary.
For those upgrading from an earlier DOSBox Staging version, please follow these upgrade instructions and read the earlier release notes to learn about the changes and new features.
First-time users and people migrating from other DOSBox variants should start by reading the Getting started guide.
Graphics
3dfx Voodoo improvements
The CPU usage of the Voodoo emulation has been reduced by about 50%.
voodoo_threads = auto
now sets threads equal to the number of logical (hyperthreaded) CPU cores rather than just physical cores. The maximum number of threadsauto
will set has been raised from 8 to 16.You can now manually set
voodoo_threads
to a maximum of 128 threads (up from 16). We don’t know how well it will perform at high thread counts, but if you have an AMD Ryzen Threadripper, please let us know if it scalesBilinear filtering is now enabled by default to emulate the characteristic Voodoo look more authentically.
The descriptions of the Voodoo settings have been improved.
Other changes
Fix DreamWeb regression introduced in 0.81.2 where the grayscale text in the intro appeared “quantised” to pure black and white colours.
Fix old regression introduced in 0.78.0 where the zoom-rotator effects in the demos Show and Face by Majic 12 were offset horizontally by roughly half the screen.
The 132x28, 132x30, and 132x34 DOSBox-special VESA text modes are now only available if
vesa_modes = all
is set (e.g., when trying to set them via theMODE
command).
Sound
Lower the default master volume
The default audio volume (master channel volume) has been reduced to 50% (-6 dB) in the mixer to avoid audible distortion in games with a loud output. This also helps with overly loud SoundFonts.
You can use the mixer master 100 DOS command to restore the previous behaviour, but it’s advised to only do that for games that are too quiet on a case-by-case basis. An even better solution is to only raise the volume of the channels that need a bit of a boost (e.g., run mixer sb 200 to make the Sound Blaster digital output twice as loud).
Gravis UltraSound changes
Fixed Epic Pinball: Super Android (shareware v1.1) regression where the music was playing too quickly with doubled notes on the Gravis UltraSound (the Epic Pinball: The Complete Collection CD version was not affected).
Fixed regression where the Gravis UltraSound would play back static noise after it was enabled, disabled, and then re-enabled via the
CONFIG
command.Fixed subtle Gravis UltraSound regression where the high-frequency content of the GUS’s output was a little harsher than before. This was mostly only noticeable in music with lots of hi-hats and similar high-pitched sounds.
Additionally, the sound of the Gravis UltraSound Classic and MAX models are emulated more faithfully now. This includes the emulation of the analog low-pass output filter which is enabled by default.
Other fixes & improvements
Fixed audio stuttering regression above ~100k cycles in Nethack: Falcon’s Eye.
Fixed regression where the audio was not muted when the mapper was open.
Enabling crossfeed (e.g., by setting
crossfeed = on
in the config) now only applies the crossfeed effect to the OPL and CMS channels. These are the two devices that typically feature hard-panned sounds. Previously, crossfeed presets applied to all stereo channels, but this was rarely wanted. You can apply crossfeed to other channels as well with theMIXER
command if you want (e.g.,MIXER GUS x50
).Downgrade FluidSynth to v2.3.5 on Windows and use single-precision float mode. This fixes at least Trevor0402’s SC-55 SoundFont on Windows (typically called
SC-55.SoundFont.v1.2b.sf2
orSC-55 SoundFont.v1.2b [Trevor0402].sf2
) and ensures identical SoundFont playback on all supported platforms when using our official builds.
Input
Fixed dual-mouse gaming support not working on Windows. This broke the dual-mouse support in The Settlers and The Settlers II: Veni, Vidi, Vici.
DOS integration
Make file locking configurable
We’ve added a new file_locking setting to allow disabling the file sharing and locking support introduced in 0.82.0.
Previously, the feature was always enabled which did not cause problems for the vast majority of DOS software, but it did cause a regression for the demo Astral Blur by TBL.
Please refer to the setting’s description to learn more (e.g., run config -h file_locking from the DOS prompt).
Other fixes
Fixed a regression where an executable could not be started by its extensionless name if another file with the same name and no extension was present in the same directory. E.g., if you had
SKI.EXE
andSKI
in the same directory,SKI.EXE
would start the executable, butSKI
would result in an “Invalid command” error. Here’s a non-exhaustive list of affected games (probably a lot more games were affected):Fahrenheit 451
Overkill
Ski or Die
Treasure Island
Wizard of Oz
Fixed an obscure issue where the game Abuse failed to launch on Windows 7 and newer versions of Windows when using a network drive.
Localisation
Update the Polish translation.
General
Fixed emulator crash in Chess Housers (1993) which happened a few seconds after starting the game.
Fixed a bug where setting the startup verbosity level could lead to a black screen after starting the emulator.
Fixed a regression where configuration settings were handled in a case-sensitive manner across the board (they should be case-insensitive;
cpu_cycles
,CPU_CYCLES
andCpu_CYCles
should refer to the same setting).Fixed an old regression where path names passed to the DOSBox Staging executable were not always handled properly. This caused problems when passing a directory name with spaces in it to mount it as the C drive (e.g.,
dosbox.exe "some directory name"
).Improved the formatting of newly written config files by separating setting descriptions with blank lines.
DOSBox Staging will now queue changes for unchangeable settings such as
machine
andmemsize
, and use them when restarting withCONFIG -r
or via the restart hotkey. For example, run the following commands to change the machine type to CGA and use 1 MB of RAM:Z:\> machine cga
Z:\> memsize 1
Z:\> config -r
Fixed regression where sometimes the real mode cycles value was incorrectly displayed in the DOSBox Staging window’s title bar in protected mode programs.
--0.82.0--
We’re back with another big one that adds
Pentium MMX emulation,
ESS Enhanced FM Audio,
numerous audio-related enhancements,
a large number of game compatibility fixes,
improved Windows 3.1x compatibility,
supercharged 3dfx Voodoo emulation performance,
experimental Windows ARM64 support,
and a lot more!
Notes can be viewed here
--0.81.2--
This patch release fixes a critical keyboard regression bug in the classic Bitmap Brothers game Gods. The regression was accidentally introduced in the 0.81.1 release (#3777: This replaces the old (improper) fix for the Tyrian 2000 hardware setup tool with a port 0x60 timing fix.) The game is very difficult to play without this fix, as holding down the movement keys may result in delayed movement, jerky start/stop motion, or no movement at all after a bit of playing.
--0.81.1--
The main focus of this maintenance release is to fix a couple of regressions introduced in 0.81.0, most of them related to game compatibility, and address a few long-standing issues.
This release was made possible by everyone who tried 0.81.0, submitted bugs and pull requests, and tested the updates.
Regression fixes
The release fixes the following 0.81.0 regressions:
Fix Wing Commander 3 videos and cutscenes appearing height-doubled.
Introduce
vga_render_per_scanline = off
workaround to fix the crash-at-startup regression in Deus, Ishar 3, Robinson’s Requiem, and Time Warriors.Fix the Tandy version of Impossible Mission II crashing at startup.
Fix regression in Tyrian where pressing the arrow keys get registered twice in menus.
Fix starting In Extremis resulting in a black screen.
Fix wrong colours in Spell It Plus! (needs
machine = svga_paradise
).Fix wrong colours and garbled graphics in Spong and Exobius.
Fix squashed video output in the text mode game Indenture.
Fix the DOSBox Staging window gaining focus on every emulated video mode change.
Fix crash when exiting DOSBox Staging while in fullscreen mode on macOS and Linux.
Fix not being able to disable OPL emulation with
oplmode = none
.
Enhancements and fixes
We’ve also backported a number of enhancements and fixes for long-standing issues:
Introduce
vmem_delay = on
to help with flickering graphics and speed issues in Hercules, CGA, EGA, and early VGA games. This has proven to improve compatibility with Future Wars, Operation Stealth, Quest for Glory II, Hostages, The Gold of the Aztecs, Crazy Brix, Corncob Deluxe, and Corncob 3-D so far.Improve support for multiple joysticks/game controllers (the mapper could behave erratically if you had more than one controller connected).
Emulate a memory-expanded PCjr machine more faithfully. This improves game compatibility; for{ example, Space Quest (v1.0x and v2.2) and King’s Quest (1986 PCjr DOS version) now work instead of hanging the emulator.
CD Audio is no longer muted in certain parts of Time Warriors and Alpha Storm.
The batch file installer of Alpha Storm no longer fails.
Forcing single scanning via
crt-auto-arcade
should now work with more programs.Fix various VGA double scanning related edge cases in demoscene productions.
Detecting “repurposed” EGA video modes with 18-bit VGA DAC colours has been made more robust when using the
crt-auto
shader (should result in a double-scanned VGA shader being picked).Spanish and Brazilian Portuguese translations have been added, and most of the other translations have been updated.
Read on to learn about the details by checking here!
--0.81.0--
We are proud to present DOSBox Staging 0.81.0 to you, a rather substantial release containing a large number of exciting new features and improvements!
For the first time in history, DOSBox comes with built-in authentic CRT monitor emulation that just works out-of-the-box without any manual configuration required. The VGA code has been overhauled, shortcuts and simplifications have been removed, and now we’re defaulting to accurate per-scanline emulation and double scanning in all VGA, SVGA, and VESA modes. Integer scaling options have been added, it’s now possible to stretch the image to fullscreen, force any arbitrary aspect ratio, or even emulate the horizontal and vertical stretch controls of CRT monitors in real-time. Screenshots have been made aspect ratio correct by default, and image capturing has become multi-threaded, so it no longer causes audio hiccups and micro-pauses. Video capturing has been made about three times more performant. Oh, almost forgot: we’ve also added 3dfx Voodoo 1 support for the fans of those late 90s 3D DOS games!
Well, that’s just the video side of things. We’ve added support for the ultra-rare IBM Music Feature Card, dealing with Roland MT-32 ROMs has become much easier, plus we’ve made numerous MIDI-related improvements as well. Not to mention all the mouse and joystick enhancements and fixes, the addition of a few missing DOS commands, improved filesystem integration, fixing some long-standing annoying shortcomings of the FPU emulation in non-x86 builds, taking localisation support to the next level, and the list just goes on and on…
Please check here for the exhaustive update details.
--0.80.1--
Please check here for maintenance update details.
--0.80.0--
Please check here for extensive details.
--0.79.1--
Please check here for extensive details.
--0.79.0--
Please check here for extensive details.
--0.78.1--
At the DOSBox C:\>
prompt, run: config -wc
to upgrade your config file with the currently-supported settings.
Fixes and regressions
Fixed a crash when exiting fullscreen mode and also using OpenGL output (NicknineTheEagle; kcgen)
Fixed a crash and host input lockup when using SDL's kmsdrm video driver (GranMinigun)
Fixed an early exit bug when using the -exit and -c exit command-line arguments (pheener and d10sfan; kcgen)
Fixed a memory leak when changing one or more serial port types at runtime (kcgen)
Fixed a regression that failed to apply aspect correction when using pixel-perfect output modes (Diduz; kcgen)
Fixed a regression that disabled the keyboard input when using the debugger (LowLevelMahn; kcgen)
Fixed a regression that impacted 32-bit performance on some Windows systems (RaymanXY; Kirk Klobe and kcgen)
Fixed a regression that causes a crash when opening UPX-compressed code-page files (FeralChild64; Wengier)
Functionality refinements
Improved the modem's command-mode handling (NicknineTheEagle)
Corrected the modem's DTR drop delay units from ms to hundredths of a second (NicknineTheEagle)
Reverted the allowance that let the VESA refresh rate use the host rate (RaymanXY; kcgen)
Allowed read-only image mounting for write-protected disk and floppy images (Burrito78; Wengier)
Documentation-related improvements
Updated the German messages and config file text (Burrito78)
Updated the Italian messages and config file text (Kappa971)
Fixed a documentation conflict describing the command line's version flag (arrowgent)
Documented how to install gmock, a dependency added during 0.78.0, on Fedora (oturpe)
Development and packaging fixes
Fixed a compilation issue with Loguru on ARM32 using GCC 8 (rtissera; kcgen)
Fixed a compilation issue with older C++17 compilers missing std::filesystem support (jowtron; gulrak and kcgen)
Fixed a build tool-specific bug that exposed the UI when running gmock tests (oturpe and voyageur; brandonrobertz and kcgen)
Known Issues
The MSYS2-built debugger will fail to open if launched from the Windows UI.As a work-around, run it from within a CMD console.
Thanks to Sherman Perry for investigating this issue and isolating it to the Windows Console API.
--0.78--
Added window size and placement customizations (John Novak)
Added full
/help
output text for the AUTOTYPE, BOOT, CALL, CHOICE, CLS, COPY, DIR, ECHO, EXIT, GOTO, HELP, IF, INTRO KEYB, LS, MD/MKDIR, MEM, RD/RMDIR, REN/RENAME, RESCAN, SHIFT, SUBST, and TYPE commands (Wengier)Added MSYS2-based release builds and instuctions for those on Windows using MSYS2 (Sherman Perry)
Merged PCjr composite patch by NewRisingSun. Thanks to JKapp76 for testing and feedback (NewRisingSun)
Merged CGA composite improvement patch by reenigne, respectively. Thanks to JKapp76 for testing and feedback (reenigne)
Added bash-shell completion. See
contrib/linux/bash-completion/README
for adding this to your shell (FeignInt)Added Loguru, a fast cross-platform logging subsystem. Logs are now time-stamped and warnings are now colorized (Kirk Klobe)
Merged S3 video patch by s3freak. This adds more video modes and supports up to 8 MiB of video memory,
vmemsize = 8
, when usingmachine = svga_s3
. Thanks to Zorix, Grounded0, Brandon Roberts, GranMinigun, Kirk Klobe, and nemo93 for testing (s3freak)Added configurable FluidSynth chorus and reverb settings. Thanks to GranMinigun for the extensive listening tests (kcgen)
Added auto-exit. When an executable that's passed on the command-line exits, then so too will the emulator. This is equivalent to manually adding the
-exit
command-line flag. Thanks to Burrito78 for testing (kcgen)Added layered and portable configuration file handling. Thanks to JKapp76, Grounded0, and Burrito78 for testing (kcgen)
Added ENet (reliable UDP) as an option for modem and null-modem transport, as well as
SERIAL.COM
for runtime serial-port configuration (Scott Duensing)Added support for virtual Ethernet and TCP/IP networking via slirp (Jookia)
Added support for networking in Windows for Workgroups 3.11 from the shell. Previously networking in WfW was only possible when booting a real MS-DOS installation from a bootable HDD image (Wengier, nanshiki)
Added IDE controller support for CDROM image-mounts, which is useful for CDROM-based games that also happen to need a real DOS environment such as Revell's car games, like European Racers (Wengier)
Bugfixes
Fixed 32-bit dynamic core crashes (Kirk Klobe)
Fixed regression when setting
windowresolution=
in the conf file. Thanks to arrowgent for the report and testing (kcgen)Fixed hanging in Mortal Kombat Trilogy when
joysticktype=none
. Thanks to nemo93 for the report and GranMinigun for also testing (kcgen)Fixed regression during shutdown while using the ALSA sequencer. Thanks to AaronBPaden for the report and testing (kcgen)
Fixed zero-offset PC Speaker issue on Windows 11. Thanks to ggpettas for reporting (kcgen)
Fixed regression that broke video recording. Thanks to Grounded0 for reporting and testing (kcgen)
Fixed ability to run an application-provided
help.exe|com
program. Thanks to SmilingSpectre for reporting (Wengier)Removed VESA modes 320x200x15/16/24, which were added late in the 90s and were not properly supported by some games (NicknineTheEagle)
Translation Updates
Italian (Kappa971)
German (Burrito78)
Russian (GranMinigun)
--0.77.1--
At the DOSBox C:\>
prompt, run: config -wc
to upgrade your config file. Your existing settings will be retained however extraneous comments will be dropped.
Bugfixes
The following user-visible bugs were fixed in 0.77.1 (reported-by/fixed-by):
Fix crash when using 32-bit build and the dynamic-core on Windows 10 (Banjo-Oz/kklobe).
Fix crash when using 32-bit build and the dynamic-core on Raspbian (nemo93/kklobe).
Fix degraded joystick control during once-a-month integer time-rollover event (cimarronm).
Fix inability for a program to use its own bundled HELP and CHOICE executables (SmilingSpectre/Wengier).
Fix inability to map joystick events when joysticktype was configured as 'none' (GranMiniGun/kcgen).
Fix incorrect setup of the joystick when type configured as '2axis' (choum/kcgen).
Fix input control lag on some Windows systems and on macOS when the 'Magnet' GUI management program is running (Burrito78/kcgen).
Fix mouse control in "Alive - Behind the Moon" (DOSBox SVN r4461/ripsaw8080).
Fix performance regression when building releases on arm-based Linux SBC (mrfixit2001).
Fix potential Tseng ET3000 video mode corruption (DOSBox SVN r4460/ripsaw8080).
Fix resizing of window impacting the debugger TUI on Windows (DOSBox SVN r4462/ripsaw8080).
Fix potential crash when quickly Alt+Tab'ing on Windows (kklobe).
Fix size and placement of video content when using a resizeable window mode (bmunger/kcgen).
Fix unformattable content in translation files (dreamer/kcgen).
Synchronize Italian translation files (Kappa971).
Synchronize German translation files (Burrito78).
Translations Pack Included
French, German, Italian, Polish, Russian, and Spanish users: move the bundled translations
directory included in this release (macOS users: it's in Contents/resources/
) into your DOSBox Staging configuration directory.
After the move, you will have:
Linux: /home/username/.config/dosbox/translations/
C:\Users\<username>\AppData\Local\DOSBox\translations\
Load your language on the command-line:
dosbox -lang de
Or via primary or local conf file:
[dosbox]
Quick-tip: use dosbox -editconf
to open your conf file.
For future reference, the above is also discussed in the README.
--0.77--
Migrated Staging from autotools to the Meson build system.Those building from source, please see
BUILD.md
in the repository.
Added write-xor-execute page support to comply with the latest macOS and SELinux security policies.Thanks to jmarsh and Jonathan Campbell for discussions on vogons.
Added variable expansion to the interactive DOS shell.
Finished FluidSynth integration, which is now included in all release binaries.See the wiki notes for how to use it.
Runmixer /listmidi
in the DOS shell to see your available soundfonts.
Thanks to Christian Lestrade for authoring this support in 2005, and all subsequent maintainers.
Thanks to Meson for adding FluidSynth to the WrapDB.
Finished MT-32 integration, which is now included in all release binaries.See the wiki notes for how to use it.
Runmixer /listmidi
in the DOS shell to see the available MT-32 models and versions.
See the list of unmissable MT-32 experiences, courtesy vogons.org forum user Shreddoc and contributors.
Thanks to Canadacow for authoring MT-32 emulation in 2003, KingGuppy and Mok for the follow-on work, and SergM who continues to maintain and improve the Munt project today.
Thanks to Meson for adding libmt32emu to the WrapDB.
Thanks to Microsoft for adding libmt32emu to Vcpkg.
Added IBM PS/1 Audio device support.See the wiki notes for how to use it.
Thanks to JMK for authoring PS/1 Audio emulation in 2008.
Added Innovation SSI-2001 audio device support.See the wiki notes for how to use it.
Thanks to Vasyl for authoring SSI-2001 emulation in 2006.
Thanks to Dag Lem for authoring, and Antti Lankila and Leandro Nini for improving the SID chip emulator.
Replaced the default
Ctrl+F<keys>
hotkeys on macOS withCmd+F<keys>
to reduce conflicts with the OS.Thanks to Antti Peltola, Burrito78, and Kirk Klobe for guidance and testing.
Added or Improved translations for French, Italian, Polish, Russian, and Spanish.Thanks to Draky50110 (fr), Kappa971 (it), dreamer (po), IlyaIndigo (ru), and Peluchito (es).
Added
splash_only
to thestartup_verbosity
settings. This shows the splash but skips the help banner.Three relative window sizes:
small
,medium
, orlarge
are now understood by thewindowresolution
conf setting. These T-shirt sizes correspond to a window that's 25%, 50%, or 80% of your desktop's area, regardless of DPI or type of monitor (be it 720p, 1080p, or 4K).Window resizeable using corner-drag is now auto-enabled on all platforms when conditions permit.
Bugfixes
The following user-visible bugs were fixed:
Will no longer lose focus on Raspberry Pi when launched fullscreen in an Xorg session [PR#995].
Release builds now use
dosbox-staging.conf
as the primary conf file instead ofdosbox-staging-git.conf
[PR#932].Windows release builds once again mount Opus CD-DA tracks, which was a regression in 0.76 [PR#885].
AUTOTYPE now works with all games. Until now, a subset of games didn't respond to its keystrokes [PR#942].
Shoulder triggers on some six-axis controllers, such as the PS4 and Logitech's F310 and F710 controllers, can now be mapped [PR#944].
When toggling out of fullscreen mode, in some corner cases this resulted in a blank window. This is now fixed [PR#1096].
--0.76.0--
This release introduces significant enhancements to the quality of audio emulation (GUS, built-in MIDI, PC speaker), improved support for PowerPC and POWER8 architectures, and a healthy mix of usability, documentation, code quality improvements.
Please check here for lenghty and interesting details..!
To be determined, how it'll be added...