DOSBox-X 2026.08.31 Release Notes
Release Date: August 31, 2026
Please report any issues in our issue tracker.
Also, make sure to check out our Wiki guide.
New in This Version
2026.08.31
- Added support for mounting TeleDisk (.td0) floppy image files. (cimarronm)
- Fixed prompting of working directory option (maron2000)
- Relax sanity check of floppy image considering specially formatted disks (maron2000)
- Disk sector I/O now returns typed INT 13h status codes instead of a catch-all error, and the INT 13h handler propagates the specific code (seek failed, controller failure, CRC/data error, etc.) into register AH on read/write errors rather than collapsing every failure to 0x04. Also fixes AH being left stale on write errors and a VFD fill-sector write that reported failure after succeeding. (cimarronm)
- On non-MSC, only define MIN/MAX if not already defined (skitt)
- Fixed FreeDOS XCOPY failed to copy files when destination directory was not specified (maron2000)
- IMGMOUNT: Fixed a regression that didn’t try loading IMGMAKE.IMG if no image was specified (maron2000)
- Fixed a build error when FFmpeg is upgraded to FFmpeg 9 (maron2000)
- Fixed freeze when savestate flagged file not found (rebb)
- Fixed capture and savestate directory locations (maron2000)
- Refactored the imageDisk subclasses into their own source files and headers (VFD, D88, NFD, empty drive, INT 13h passthrough, El Torito floppy, and MS-DOS block device), leaving the base imageDisk class and BIOS disk-list plumbing in bios_disk. (cimarronm)
- Shell init: allocate the COMMAND.COM environment block after allocating the shell binary/PSP in both SHELL_Init() and CONFIGSHELL_Init(), so memory layout and ownership ordering match expected MCB-chain behavior. (cimarronm)
- Debugger: fixed disassembler showing 16-bit register names for byte-sized operands. (cimarronm)
- Fixed INT 13h CHS decoding for floppies, which incorrectly used the hard disk layout (10-bit cylinder / 6-bit sector) instead of the floppy layout (8-bit cylinder in CH / 8-bit sector in CL) on read, write, and get drive parameters. (cimarronm)
- Fixed savestates written by a Windows build failing to load on Linux builds. The per-drive Opts struct in the DOS component held an unsigned long, which is 4 bytes on Windows and 8 on LP64 hosts, so the saved stream desynchronized and the load ran off the end of the component. Also fixed POD_Load_DOS_Mscdex looping forever on an out-of-range CD drive count, and mounted drive paths keeping their Windows path separators when a state is restored on a non-Windows host. (ozy24)
- Fixed chs_write packing the high cylinder bits into the sector field of the synthesized MBR partition table, which corrupted the end-CHS entry for disks with an end cylinder above 255. (cimarronm)
- Floppy INT 13h sector reads/writes now honor the bytes-per-sector code from the disk base table pointed to by INT 1Eh instead of assuming 512, allowing guests that reprogram INT 1Eh to access non-512 media. (cimarronm)
- Debugger: Resolved named variables in expressions (zlatkok)
- OpenGL: Fixed fullscreen and modeswitching positional offsets. (DieSkaarj)
- Simplified the MCB filename-stripping logic in DOS_Execute(). (cimarronm)
- Fixed FAT volume labels being displayed as 8.3 filenames. (cimarronm)
- Fixed crash of Win9x lowend build at launch due to use of AttachConsole() function (maron2000)
- Fixed a out-of-bounds array access bug in drive_virtual.cpp (maron2000)