Skip to content

DOSBox-X 2022.12.26 2022-12-26 19:55

Compare
Choose a tag to compare
@joncampbell123 joncampbell123 released this 27 Dec 04:03
· 1444 commits to master since this release

2022.12.26

  • Allow more than 640KB of conventional memory,
    regardless of "allow more than 640kb" option, for
    Tandy machine type. The setting is capped to 768KB
    to reflect Tandy systems with that upgrade, which
    is said to allow a full 640KB for DOS and 128KB for
    video RAM without any conflict from the MCB chain.
    Adjust Tandy video emulation for 768KB case. This
    fixes "Might and Magic III Isles of Terra" crashes
    in Tandy mode and Tandy graphics because the game
    does not correctly handle the memory configuration
    when less RAM is involved. (joncampbell123).
  • Fix code page CPI/CPX loader to allocate 128KB of
    memory instead of 84KB. The code allocates a 64KB
    stack for the executable code within. The 84KB
    allocation permitted the initial stack pointer to
    exist beyond available conventional memory if
    conventional memory size was below about 156KB and
    cause a crash. This is a quick fix, a long term fix
    would be to instead set the initial stack pointer
    to some offset below 0xFFFE based on available memory,
    just as the .COM executable loader was modified to do
    some time back to enable proper execution when
    memsize < 64KB. (joncampbell123)
  • Do not load country/font information at startup
    if the code page to load is the same as the default
    code page. (joncampbell123)
  • Fix Tab/Shift+Tab in Configuration GUI regarding
    setting text fields that have a ... button to select
    from an enumeration. Those buttons are no longer a
    trap for tab enumeration. (joncampbell123)
  • Fix Mac OS SDL1 keyboard support code to properly
    fill in unicode character values in relation to
    IME checks. This fixes a problem where it was
    impossible to type anything in the configuration GUI
    in SDL1 Mac OS builds. (joncampbell123)
  • Mark VBE mode 0x212 as "do not list" so that it does
    not appear in normal VBE mode enumeration, while
    keeping it valid for the Windows 3.1 driver which
    assumes the mode is there at that number without
    enumeration. By not listing the mode, drivers like
    VBEMP and DOS application code will not attempt to
    use it. There is already another mode number for
    640x480 24bpp anyway. (joncampbell123)
  • Fix VBE mode 0x212, which is 640x480 24bpp packed
    mode but with a per scanline stride of 2048 bytes
    per pixel set aside for the Windows 3.1 driver and
    the "640x480 (1Meg) 16 million colors" setting,
    so that the VBE "Get Mode Info" call reflects the
    proper per-scanline stride instead of the ideal one.
    This should fix complaints about VBEMP and 640x480
    24-bit color mode. Given how minimal the use of the
    mode is by the Windows 3.1 driver, the 2048 byte
    mode does not permit setting scan line length or
    display start i.e. panning is not permitted.
    (joncampbell123).
  • Fix Pentium Pro emulation to support microcode
    related MSRs so that Windows 98 does not crash
    on startup when cputype=ppro_slow. (joncampbell123).
  • Added SMV debugger command. This is the linear
    (virtual) equivalent of the SM "Set Memory"
    command. (joncampbell123).
    (#3826)
  • Fix debugger help command to list both C / D commands
    and the DV/DP commands. (joncampbell123)
  • Add VGA FONTDUMP debugger command for those
    who might want to take custom fonts in text
    mode and do something with them outside the
    emulator. "VGA FONTDUMP" followed by a filename
    which must have the extension .BIN (for a raw
    64KB dump of font RAM) or .BMP (for a formatted
    dump as a monochrome bitmap file). (joncampbell123).
  • Disabled code to randomly return GDC drawing
    status active. The implementation was causing
    severe performance issues. The code has not
    been removed because it could be optimized and
    fixed and could even follow the state of GDC
    drawing. (joncampbell123)
  • VGA 6-bit DAC mode expand to full 8-bit range,
    instead of simple shifting (joncampbell123).
  • Fix 8254 PIT emulation (joncampbell123)
  • Add dosbox.conf option "cpuid string" to allow
    CPUID to return custom ID strings instead of just
    "GenuineIntel". Have fun! (joncampbell123)
  • Fixed build to properly compile against internal
    SDL/SDL2 library even if an external version is
    available (joncampbell123)
  • Fixed some violations of the one definition rule.
    (Jookia)
  • Use pkg-config to find OpenGL (Jookia)
  • Updated Flatpak SDK and dependencies (Jookia)
  • PC-98 Implement AVSDRV.SYS PCM function (int D9h)
    (nanshiki)
  • PC-98 Support 6x8 Katakana font with int 18h ah=14h
    (nanshiki)
  • PC-98 Fix Audio Q-Channel info in MSCDEX (nanshiki)
  • Fixed FFMPEG 5 compatibility (Jookia)
  • Fix FFMPEG crash if FFMPEG fails to write header
    for some reason. (joncampbell123)
  • Fix setcap on systems with split /usr (Jookia)
  • Fix building with --disable-core-inline (Jookia)
  • Fix building not finding fluidsynth (Jookia)
  • Fix some NetBSD build issues
    (Jookia, with patch from Nia)
  • Fix minor graphical issues in mapper GUI (aybe)
  • Removed --disable-core-inline (Jookia)
  • Swap SDL2 XInput axes by default for a better
    out of the box experience (aybe)
  • SDL1 XInput is now enabled by default for
    a better out of the box experience (aybe)
  • add set of cga shaders from dosbox staging (aybe)
  • Updated mt32emu code to latest(2.7.0).(maron2000)
    Also, added config option "mt32.engage.channel1"
    (Refer to https://github.com/munt/munt for details)
  • Fix missing line in printouts (Issue #3569)
    (maron2000)
  • Adjust Int 11 return value to better match real
    BIOSes. (Allofich)
  • Limit the "always return bit 6 of port 61h as set
    for PC" change to only apply to early PC types
    (MDA, CGA or Hercules). (Allofich)
  • Integrated SVN commits (Allofich)
    • r4476: Preserve last error code when no error
      occurs.
    • r4477, r4478: Drive system improvements.
    • r4479: Correct handling of invalid encodings of
      the BOUND instruction.
    • r4480: Some confirmed DOS behaviors and minor
      cleanup.
    • r4481: Push registers for most DOS function calls;
      prevents a bug in UNLZEXE from causing a crash, and
      maybe helps other buggy programs and unusual cases.
      Use real addressing to support stack pointer wraparound.
  • Fix Opl3! Duo and Opl2 Audio board audio playback on
    unix (stengun)
  • Fix Japanese input related issues (nanshiki)
  • Fix START command only ever opens first file
    (NebularNerd, darac-10, aybe)
  • Win32 logging console (aybe)
    • add 'Debug/Clear logging console' menu entry
    • ensure main window stays above it when shown
  • Fix overflow in mapper info on SDL2 builds (aybe)
  • Enable OpenGL output in MinGW builds again (maron2000)
  • Fixed to display IME marked text in SDL2 version on
    macOS (nanshiki)
  • Fix allocation of IDE slots when mounting images by
    IMGMOUNT (maron2000)
  • Increase of sprintf buffer size in Program::WriteOut()
    (caiiiycuk)
  • Fix unexpected behavior of swapping multiple CD images
    (maron2000)
  • Fixed build on NetBSD and FreeBSD (Jookia)