0.81.0 / 14-02-2024
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
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.
Please check here for maintenance update details.
Please check here for extensive details.
Please check here for extensive details.
Please check here for extensive details.
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)
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)
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)
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.
Added window size and placement customizations (John Novak)
/helpoutput 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/READMEfor 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 using
machine = 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
-exitcommand-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.COMfor 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)
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|comprogram. 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)
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.
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:
Load your language on the command-line:
dosbox -lang de
dosbox -lang es
dosbox -lang fr
dosbox -lang it
dosbox -lang pl
dosbox -lang ru
Or via primary or local conf file:
language = de
# de, es, fr, it, pl, ru
dosbox -editconf to open your conf file.
For future reference, the above is also discussed in the README.
Migrated Staging from autotools to the Meson build system.Those building from source, please see
BUILD.mdin 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.
mixer /listmidiin 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.
mixer /listmidiin 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 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 with
Cmd+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).
startup_verbositysettings. This shows the splash but skips the help banner.
Three relative window sizes:
largeare now understood by the
windowresolutionconf 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.
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.confas the primary conf file instead of
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].
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...