github joncampbell123/dosbox-x dosbox-x-v2025.12.01
DOSBox-X 2025.12.01 2025-12-01 08:55

8 hours ago

2025.12.01

  • Video debug overlay: For Tandy and PCjr emulation, add information on
    the screen that shows the line mask, display and cpu memory banks and
    the corresponding segment values, which may aid in debugging issues
    with games and reveal any remapping or page flipping (joncampbell123).
  • Tandy emulation: Add the string "Tandy" somewhere in the DOS kernel
    at startup if machine=tandy. The game "The Train: Escape to Normandy"
    scans from FFFF:0000 for the string "Tandy" which of course wraps
    around to the first 64KB of memory where the DOS kernel resides. If
    it does not see this string, it does not think it is running on a Tandy.
    Such a detection routine will obviously break if you're on a 286 based
    Tandy with HMA enabled, or you're running normal MS-DOS on a Tandy
    system. This change allows the game to run (joncampbell123).
  • Tseng ET4000 emulation: Mode 0x24 is unusual in that it is a 130x28
    text mode with a 13-pixel high character cell. The ET4000 VGA BIOS
    apparently has a specific font for that mode, so, incorporate that
    font into DOSBox-X and use it for mode 0x24 (joncampbell123).
  • Tseng ET4000 emulation: Fix modes 0x22/0x23/0x24 to match how the
    actual VGA BIOS programs them. This fixes problems where the 132x25
    mode was rendered only on the upper half of the screen (joncampbell123).
  • Fix Tseng ET3000/ET4000 emulation bug where CGA graphics modes
    were garbled. The main VGA emulation no longer uses M_CGA2/M_CGA4
    and the ET4000 emulation needs to behave the same to fix the
    graphics modes. Apply fix to ET3000 emulation as well. (joncampbell123).
  • Some extra code in shell processing was preventing drive change commands
    if the last character was a backslash i.e. "a:" instead of "a:".
    Fixed. (joncampbell123).
  • INT 21h AH=4Bh EXEC: Real MS-DOS returns a nonzero value like 0x3E01.
    A buggy version of Magic Pockets fails to call INT 21 AH=4Dh to read
    the INTRO.EXE exit code and expects AL to just be nonzero to continue
    to the game. So to make it work properly (kind of), return a nonzero
    value. (joncampbell123).
  • Tandy machine type: Many registers are WRITE ONLY according to SX
    documentation, yet "Troubadours" likes to read/modify/write those
    registers in what appears to be hand-rolled manual modesetting code
    to set up 320x200 16-color mode, so, add code to respond to reads
    from those ports with zeros and print a debug message to the log
    about how DOS games are not supposed to read those registers. Make
    the hand-rolled modesetting work by returning 0x00, rather than 0xFF.
    The code will not set up the mode correctly if 0xFF is returned, but
    will if 0x00 is returned. A side effect of this is that, since one
    of the registers controls the RAM address used as video memory, this
    moves it down to 512KB from base memory as well, which of course
    easily corrupts the very end of the MCB chain unless you enable more
    than 640KB of RAM and ask DOSBox-X to emulate the full Tandy 768KB
    of conventional memory. Though the game still crashes very easily,
    and in the exact same manner in both DOSBox-X and DOSBox SVN, this
    fix does solve the problem where the game was only able to draw
    2 out of 4 scanlines on the screen. (joncampbell123).

Don't miss a new dosbox-x release

NewReleases is sending notifications on new releases.