DOSBox-X

Cross-platform DOS emulation package
Complete, accurate emulation and more


DOSBox-X 0.84.0 Release Notes

Release Date: May 31, 2022

Please report any issues in our issue tracker.

Also, make sure to check out our Wiki guide.

New in This Version

  • CMOS century register now aliased to register 32h and 37h to appease Windows 2000, which assumes the century is stored there and will complain about invalid date/time otherwise (joncampbell123).
  • Treat IDE command E7h (FLUSH CACHE) as a no-op so that the common use of it from Windows 2000 doesn’t spam your log file (joncampbell123).
  • BIOS: At post, if DOS kernel was active and the DOS Shell was still running, initiate a proper system reset event. Some software, including the WINNT.EXE install program for Windows NT, like to restart the system by JMPing to the BIOS POST entry point. Prior to this fix, doing that from a DOS program caused instability with mounted images and the DOS shell due to recursion. (joncampbell123).
  • Fix FPU implementation for aarch64 cores (cimarronm)
  • Fixed INT 10h and DAC palette mapping to resolve incorrect colors with Hercules graphics mode when a game calls INT 10h to set video mode after setting it up. This resolves the incorrect blue on black color map for Grand Prix by Accolade (joncampbell123).
  • Add recursive mkdir_p() directory creation so that overlay filesystem support can correctly create a subdirectory of any depth, instead of only one level deep from an existing directory on disk. (joncampbell123)
  • Add dosbox(-x).conf option “isapnpport” to control whether the ISA Plug & Play I/O port is presented to the guest. Setting is “true”, “false”, or “auto”. “auto” means to enable if PnP BIOS is enabled. Previously this port was always present even if the PnP BIOS was not. Some operating systems, including Windows NT/2000/XP, will enumerate ISA Plug & Play hardware by themselves whether or not the PnP BIOS is present. (joncampbell123)
  • Fix FPU operations using the top of stack on 32-bit VS builds (cimarronm)
  • Add IDE ATAPI command MECHANISM STATUS for Windows NT 4.0 because that system seems to want to know if your CD-ROM drive is a CD changer (joncampbell123)
  • IDE Plug & Play resource descriptor changed to use 2-byte structure for listing IRQ resource instead of 3 bytes. This (for some reason) fixes problems with the IDE driver in Windows NT 4.0, Windows 2000, and Windows XP and allows them to boot properly. (joncampbell123)
  • INT 13h extensions function 48h is supposed to return physical geometry, not the logical geometry normally returned by function 08h. This means for IDE devices, to return the geometry the IDE controller is using. (joncampbell123)
  • Enhanced the Mapper Editor interface. The Mapper UI has been greatly improved. (aybe)
  • Add IDE ATAPI command MECHANISM STATUS for Windows NT 4.0 because that system seems to want to know if your CD-ROM drive is a CD changer. (joncampbell123)
  • Fix IDE devices to start up with the drive ready bit set for OSes that expect it when probing IDE devices. This allows the Linux kernel to see IDE ATA drives emulated by DOSBox-X. (joncampbell123)
  • Fix IDE ATAPI emulation to correctly handle CD READ across one or more DRQ block transfers. Use block size given by guest in consideration of DRQ block size, which allows ATAPI CD-ROM emulation to work properly with the Linux kernel. (joncampbell123)
  • Add debug command to show PC-98 color palettes. Corrected typo. (joncampbell123)
  • Add support for PC-98 monochrome graphics mode. (joncampbell123)
  • IDE emulation now handles implementation events per IDE device instead of per IDE controller, which may resolve IDE controller issues with some guests. (joncampbell123)
  • Added PC-98 GDC drawing commands, which is based on Neko Project II source code (nanshiki)
  • Added PC-98 LIO BIOS interface, which is based on Neko Project II source code (nanshiki)
  • INT 21h AH=31h Terminate And Stay Resident: If the program called INT 21h to free its own PSP segment, reassign the block back to the program as allocated and then resize as expected. Needed for PC-98 game “Yu No” in which PLAY6.EXE, one of the resident drivers used for music, does just that. (joncampbell123)
  • Add a hack to enable read access to port 0xa460 on PC-98 which returns Sound ID to detect the sound board available. Note that the current hack returns Sound ID of PC-9801-86 board regardless of the board selected to emulate. (maron2000)
  • Adds WINCHECK to list of programs which should not return a valid installation check for WinOldAp (AX=1700h/int2fh) so it doesn’t mistakenly believe Windows is running (cimarronm)
  • Add minimal support for IDE SET FEATURES command EFh. (joncampbell123)
  • Fix CMPXCHG8B to change only the ZF flag, instead of changing ZF with other flags in an undefined state afterwards. This fixes problems with the Windows 2000 kernel booting up and cputype=pentium (though I am unable to get past the INACCESSIBLE_BOOT_DEVICE error). (joncampbell123)
  • Updates XADD instruction to set appropriate flags (cimarronm)
  • Updates to FPU to handle opcode size prefix (66h) on FSTENV/FLDENV/FSAVE/FRSTOR instructions (cimarronm)
  • Update FLD constant FPU instructions to more accurately match FPU implementations (cimarronm)
  • Fixed dynamic_dynrec being displayed as dynamic_x86 in menu, and PREFETCH instruction breakage in the dynamic core. (Jookia)
  • Fixed crash if no dynamic cores available (Jookia)
  • Fixed TTF mode breaking a guest not running the DOS kernel. (Jookia)
  • Fix DBCS table initialization on reset and restart (cimarronm)
  • Fixed some guest systems may not work as expected in non-TTF outputs. (Wengier)
  • Fixed IME input not working in MinGW builds, and FluidSynth in MinGW-lowend builds. (Wengier)
  • Fixed resizable OpenGL Voodoo window not working properly on Windows in previous version. (Wengier)
  • Fixed commands “CHOICE /N /C:123” and “MIXER /GUI” not working properly in previous version. (Wengier)
  • Integrated commits from mainline (Allofich)
    • Disable leading directory validity check in DOS_FindDevice.
Previous release: 0.83.25 (release notes) Next release: 0.84.1 (release notes)