DOSBox is een opensourceprogramma waarmee een DOS-omgeving kan worden geëmuleerd, waardoor het mogelijk is om oude software en spellen te draaien die niet of niet goed meer werken op moderne computers. De laatste versie van DOSBox is echter alweer meer dan zes jaar geleden verschenen. DOSBox-X is ontstaan als een fork en biedt naar eigen zeggen meer flexibiliteit en functionaliteit. Downloads zijn beschikbaar voor Windows, Linux en macOS. De changelog voor versie 2025.10.07 kan hieronder worden gevonden.
DOSBox-X 2025.10.07
- INT 21h AH=4Ah resize memory: Compact free blocks only at or after the segment being resized, as MS-DOS is documented to do
- INT 21h AH=4Ah resize memory: Fix bug where, if asked to resize a previously freed memory block and the block is not the last block in the MCB chain, and the next block in the MCB chain is also free, the MCB management code would correctly compact free blocks but then allocate according to the old size of the freed MCB block, causing truncation of the MCB chain. Fix for MCB chain truncation caused by California Games II DOS memory management when running in Tandy graphics mode.
- Add dosbox.conf option, disabled by default, where if the MCB memory chain is corrupted anywhere past the running program's memory block, and it does anything to cause allocation, a new free memory block is created to satisfy allocations instead of halting emulation. Some DOS programs are a bit sloppy in a way that can corrupt the MCB chain. When enabled, this behavior matches apparent MS-DOS behavior
- Debugger: DOS MCBS command now also prints the segment immediately following the last MCB block
- Tseng ET3000/ET4000: Update Status register 3DAh behavior when emulating Tseng chipsets to reflect Tseng datasheet, and VGAKIT SVGA detection code expectations. Bit 7 is expected, as documented by Tseng, to be the inverse of bit 3 (vertical retrace). Extended Start Register CRTC 33h must not allow setting the upper 4 bits because Tseng only documents the bottom four, and because VGAKIT requires it for Tseng detection
- Fix bug that, for machine=hercules, prevented Hercules palette shortcut from changing colors when in graphics mode
- Remove mixer and VGA capture test modes from integration device. Update integration device version number. Convert hardcoded magic constants used in IG into constants in iglib.h which is now shared explicitly with the iglib.h in DOSLIB. Add integration device interface to allow the guest to read and set the CPU cycle count of the emulator.
- Fix INT 10h AH=0Eh bug where printing BEL triggered screen scroll up if cursor beyond the last line. Fix for the Elder Scrolls Arena installer.
- FAT filesystem driver (for disk images): If Elder Scrolls Arena calls INT 21h to find files named *.65 (such as STATES.65) with an attribute mask of 0xA (VOLUME LABEL | HIDDEN), ignore the VOLUME LABEL bit and scan normally. The 0xA value is leftover from a divide operation used to make the file name and is technically a bug in the game, though that happens to work on real MS-DOS and the DOSBox/DOSBox-X local folder support code anyway. This fix allows Elder Scrolls Arena to run from a mounted disk image.
- FAT filesystem driver (for disk images): If Elder Scrolls Arena calls INT 21h to find SAVEGAME.00 (yes, a specific name for some reason) with an attribute mask of 0x7C (which represents... um... what?), ignore the VOLUME LABEL bit so that players can load their saved games from the menu instead of being told that the saved game that is clearly there on the screen does not exist. What other weird random values of CX attribute mask does this game use?
- PCI bus improvements : Allow device to see full size access
- Fix build error of SDL1 version on ArchLinux (possibly gcc-15)
- Enable building DOSBox-X on older macOS versions and add instructions
- Add code page 951 in dialog box
- Fix failure of create/opening a temporary file for piping
- Create/open a temporary file to device_TMP for piping on Z: drive.
- Convert message to UTF16 before calling messagebox function (Windows)
- Added some new members to the MMX_reg union for big-endian platforms.
- Create directory if not exist before writing conf file.
- Fixed language files were still locked after loading is completed.
- Fixed freeze when codepage switched to 3846, 3848.
- Fixed build error when internal debugger is disabled
- Show loaded conf file in log in full path
- Print syntax error if pipe has no command to pass output
- Add permanent option for initial DOSBox-X shell
- Fix errors when initializing fluidsynth
- PC-98: Redraw the function keys after updating them
- Do not carriage return with a single LF('\n')
- Fix mapper not rendering anything on SDL2/Windows
- Scale mapper according display resolution
- Added applicable changes from SVN.
- r4485: Enable writing to all planes when drawing pixels in EGA modes.
- r4487: Correct panning of VESA text modes.
- r4488: Correct comment about odd/even bit.
- r4490: Set MCB ownership when *blocks==total at end of DOS_ResizeMemory.
- r4492: Don't clear message queues of MPU-401 and compatibles on reset.
- r4493: Handle EOF character in batch files as actual end of file.
- r4494: Use 4-byte partial page mapping data.
- Replaced deprecated functions to enable building with FFmpeg 8
- Fixed screen blanked when restoring minimized window in TTF mode (Windows SDL1)
- PC-98: Save Kanji CG access mode setting, restrict output accordingly
- Added missing language options to Windows installers
- Debugger: IV must not truncate addresses to 16-bit
- Debugger: Warn single-stepping may not work as expected with Dynamic core
- MIDI: Show loaded Soundfont/ROM path only when required to.
- SDL2: Updated SDL2 library to version 2.32.10
- Apply aspect/scaling/clipping when using OpenGL shaders in windowed-mode
- Fixed file locking problem on Linux port
- Fixed typo in Linux man page (-date-host-forced option)
- Mention OPL in MIDI/OPL configuration dialog menu