Skip to content

DOSBox-X 0.84.1 2022-07-01 09:45

Compare
Choose a tag to compare
@joncampbell123 joncampbell123 released this 01 Jul 16:50
· 1906 commits to master since this release

Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.

For usage information please look at the DOSBox-X user guide, which is available from the DOSBox-X Wiki.

0.84.1

  • Added dosbox(-x).conf option to enable workaround
    for errant DOS programs that set the TF (trap flag)
    and then crash. Added code to DOS kernel INT 01h
    handler to clear TF flag if instructed to by the
    dosbox(-x).conf setting which can prevent such
    errant programs from crashing. Needed for 1996 demo
    "Dyslexia" by Threesome. (joncampbell123)
  • Fix RETF instruction handling to only modify the
    low 16 bits of ESP in real mode, even if the
    immediate value for RETF is a large value like
    FFFEh (fix for Finster by Mad Scientists). Prior
    to this fix, it was possible to increment the
    upper 32 bits of ESP from real mode using a
    normal 16-bit RETF with a very large immediate
    value. This fix removes the need for the ENTER
    masking dosbox(-x).conf option entirely and allows
    Finster to run without it. (joncampbell123).
  • Added dosbox(-x).conf option to control whether the
    ENTER instruction masks the stack pointer to 64KB
    if the stack segment is 16-bit, which is off by
    default because real Intel processors do not do
    that. (joncampbell123).
  • Added dosbox(-x).conf option that can instruct EGA/
    VGA emulation to ignore the display blanking bit in
    the sequencer registers. Some games appear to have
    bugs in their VGA programming code that can
    accidentally set that bit and therefore show
    nothing on screen. Fix for 1996 game "Finster" by
    Mad Scientists. The game appears to make this
    programming mistake on any fork of DOSBox
    including DOSBox-X, and is reported to also make
    the same mistake on other emulators like 86box.
    However most forks of DOSBox have a matching bug
    in their VGA emulation that allows the blanked
    display to appear normally regardless of that
    register bit unless run with machine=vgaonly.
    It's unclear if there is anything about DOSBox
    or DOSBox-X emulation that causes the game to
    misprogram the registers. (joncampbell123).
  • If guest uses ENTER instruction from 16-bit code
    with 66h (32-bit operand) prefix, and the CPU is
    in real mode or the stack segment is 16-bit, mask
    stack pointer with 0xFFFF. This fixes 1996 game
    "Finster" by Mad Scientists (joncampbell123).
  • DOSBox-X will now search for resource files such as
    fonts and translations in the resource directory (
    C:/DOSBox-X in Windows, /usr/(local/)share/dosbox-x
    in Linux, and dosbox-x.app/Contents/Resources in
    macOS) in addition to other locations. (Wengier)
  • Updated DOSBox-X's integration device to version
    1.0.1, adding API calls such as DOSBox-X's version
    number and platform, and some DOS-related status
    such as DOS version number. (Wengier)
  • Improve the HX-DOS build package, including the
    TTF output support and accessory files. (Wengier)
  • Use long double for internal event scheduling
    if available, to improve accuracy (joncampbell123).
  • Fix remaining SDL2 Windows problems by adding
    missing break statement above window event
    handler. (joncampbell123).
  • Move "Always on top" menu option from "Video" to
    "Main" menu, also enabled for Windows/macOS SDL2
    builds when possible. (Wengier)
  • Add workarounds for SDL2 builds to avoid problems
    with window resize, menu update, and restore
    events that sometimes caused the emulator to hang
    on startup in Windows. (joncampbell123).
  • Add "Set transparency..." and "Set text in title
    bar..." menu options under "Video" to change window
    transparency and title bar text. (Wengier)
  • Add special properties to CONFIG command including
    "system" and "version". (Wengier)
  • Fix DOS 8.3 filename generations when there are
    special characters in the filenames. (Wengier)
  • Fix creation of disk images with spaces using the
    "Create blank disk image..." menu option. (Wengier)
  • Fix IMGMAKE to provide executable code in MS-DOS
    partition or floppy disk boot sector following
    the BPB, that prints "This is not a bootable disk"
    instead of leaving zeros that lead the CPU astray
    and possibly hang the system in the event anything
    tries to boot the partition (joncampbell123).
  • Fix emulator segfault on invalid encoding of
    BOUND instruction (joncampbell123).
  • Address auto-centering on mode change complaints
    by making the "-" setting of windowposition the
    default. (joncampbell123).
  • Added MinGW-lowend SDL2 build, which is compatible
    with Windows XP. Also updated the build selection
    page for Windows installers. (Wengier)
  • Fix windows transparency during TTF output switch
    in Windows SDL2 builds. (Wengier)
  • Fix SDL2 Windows builds to flag a resize as not
    user initiated only if the presence of the menu
    bar changes. This fixes a problem where SDL2
    builds did not acknowledge window resize events
    at all. (joncampbell123).
  • Fix FluidSynth weird sound issue in 32-bit Visual
    Studio SDL2 build. (Wengier)
  • Fluidsynth: Fix uninitialized conditional object
    init in Windows builds (joncampbell123).
  • Linux/X11: Add an X11 error handler function to
    handle the occasional X11 error that can happen
    within the SDL2 library if certain events, like
    window resize, occur too frequently. The custom
    error handler logs the error but does not abort
    the emulator like the default one would.
    (joncampbell123).
  • Fix SDL2 builds with output=surface not to render
    if the window at any point is too small. Resizing
    the window below the minimum supported by the
    DOS screen will not longer trigger segfaults or
    assertion failures. Issue #3348. (joncampbell123).
  • Fix IME not working on Windows when -langcp option
    is used to load a language with DBCS codepage, or
    in 32-bit MinGW lowend SDL1 build. (Wengier)
  • Fixed INT 10h failing to fully clear Tandy video
    memory when entering 16-color graphics modes.
    (joncampbell123).
  • Fixed missing/NULL INT 1Fh interrupt vector with
    CGA/PCjr/Tandy machine types. DOS games that print
    to screen using INT 10h in graphics modes can now
    print extended (>=128) character codes correctly.
    This fixes "BushBuck: A Treasure Hunt" and enables
    it's rather odd Tandy detection routine to work
    with machine=tandy. (joncampbell123).
  • Disney Sound Source: Fix problems between Disney
    sound source and parallel port emulation. Fix the
    code to enable Disney Sound System emulation either
    by disney=true (DOSBox SVN compatible) or
    parallel1=disney (The DOSBox-X way). (joncampbell123).
  • DOS SHELL: Change shell command parsing to make
    unusual combinations of command plus trailing
    command possible such as ECHO. ECHO; ECHO: ECHO[
    ECHO] ECHO\ ECHO/ ECHO" ECHO+ (issue #3503).
    (joncampbell123).
  • DIR command supports more sorting methods including
    "DIR /OGD", "DIR /OGE", and "DIR /OGS". (Wengier)
  • Support for BDF and PCF bitmap fonts for DOS/V
    functions, such as the free WenQuanYi bitmap font
    (bundled for displaying CJK characters). (Wengier)
  • EGA: Add machine type to emulate 200-line (CGA
    compatible) EGA display mode, machine=ega200.
    All text modes have 8x8 character cells, use CGA
    compatible video timing, and the 640x350 modes
    are not available. Fix EGA display offset register
    usage to properly work with alphanumeric text
    mode when "word mode" is turned off. This fixes
    IBM demonstration program "Fantasy Land".
    (joncampbell123).
  • IDE: Remove extra state from IDE controller that
    is managed by the drive. The ATA-1 standard seems
    to say that status and drive/head registers on
    read back always come from the ATA device.
    (joncampbell123).
  • IDE: If ATA device is busy, all IDE registers
    return the status register and BSY bit according
    to ATA-1 standard (joncampbell123).
  • IDE ATAPI CD-ROM: Add ATAPI command BEh READ CD.
    This command is like the 28h/A8h READ command but
    specific to the CD/CD-ROM format and allows reading
    the various sector types including data sectors and
    CD audio. Windows NT 4.0 requires this, or else it
    treats the CD-ROM drive like a non-working device.
    (joncampbell123).