Skip to content

DOSBox-X 0.82.21 2019-08-31 16:05

Compare
Choose a tag to compare
@joncampbell123 joncampbell123 released this 31 Aug 23:24
· 10282 commits to master since this release

0.82.21

  • Reduced title bar size of the Configuration GUI.
  • Fixed sizing and positions of some Help menu dialog
    boxes in the Configuration GUI.
  • Configuration GUI issues with help text and word
    wrap running off the edge of the window have been
    fixed.
  • INT 21h AX=3702h AVAILDEV returns DL=FFh to match
    MS-DOS behavior.
  • Added INT 21h AX=6523h, for Microsoft software
    that uses it after prompting the user for a Y/N
    answer such as FORMAT.COM and FDISK.EXE
  • PC-98 MS-DOS kernel now writes fake INT 1Bh device
    list to 60:6C to satisfy certain games that need
    it for their "master disk" detection.
  • Fixed FAT driver bug that caused the allocation
    of an extra cluster if writing a file that is
    exactly a multiple of the cluster size long.
  • FAT driver now assigns current date/time when
    creating directories.
  • Increased the DTA segment size of the DOS FAT driver
    to fix problems with directory searches corrupting
    adjacent memory.
  • Disk Parameter Block linked list now terminates
    with next pointer at FFFF:FFFF instead of 0000:0000
    to match general DOS pattern and satisfy some
    PC-98 games that enumerate the list.
  • INT AH=52h List of Lists now points to the Disk
    Parameter Block as well, which allows some PC-98
    games that enumerate the list to work.
  • Video parameter list and table at BIOS DATA AREA
    40:A8 added to MCGA mode, to match real PS/2 MCGA
    hardware.
  • FAT driver now updates the Disk Parameter
    Block when activated, and provides as much
    from the FAT filesystem as possible. It is now
    possible to run Microsoft MS-DOS 6.22
    SCANDISK.EXE on a drive letter attached from
    a disk image.
  • Disk Parameter Block is now the proper full
    size. The limited 9 bytes/block hackery has
    been removed.
  • Added INT 25h/INT 26h emulation for FAT drives
    mounted with IMGMOUNT.
  • Fake disk paramter table fixed to indicate one
    reserved sector.
  • Fixed INT 25h/INT 26h to return an error rather than
    silently fail with success. Emulation of these calls
    exist currently only as stubs and, according to
    source comments, as a workaround for MicroProse
    installers. For disk diagnostic software like
    Microsoft ScanDisk it is better to signal an error
    until INT 25h/INT 26h are fully implemented.
  • Added dosbox.conf option to control whether INT 10h
    VESA BIOS function AX=4F00h (Get SVGA information)
    zeros the entire 256-byte or 512-byte structure or
    not. Turning the option off (no zeroing) allows
    "Get Saddam!" to run with SVGA and VESA BIOS
    extensions enabled without crashing. The developer
    calls INT AX=4F00h but does not provide enough
    storage space for the full 256 byte structure,
    only enough for the base structure defined by VESA.
  • INT 2Fh updated to explicitly mention SMARTDRV or
    DBLSPACE if values of AX are known to match their
    API.
  • VESA BIOS modelist now includes S3 OEM video modes
    as documented by the RBIL, and needed by Line Wars II.
  • OpenGL output now clears 3 frames instead of 2 after
    mode change to deal with nVidia hardware that
    reportedly triple buffers OpenGL rendering in
    Windows.
  • INT 21h fixed to always enable the A20 gate through
    HIMEM.SYS if dosbox.conf indicates a configuration where
    XMS is enabled, the HMA is enabled, and DOS is loaded
    high (DOS=HIGH), which is the default configuration
    for DOSBox-X.
  • XMS emulation fixed not to allow conventional memory
    block addresses (source or dest) if it extends past
    the 1MB+64KB-16 range normally accessible from real
    mode, as per Microsoft XMS test program.
  • XMS emulation fixed to disallow XMS block move/copy
    with an odd length byte count, per Microsoft XMS
    specification.
  • XMS emulation no longer allows freeing a XMS block
    handle that is still locked, as per Microsoft XMS
    specification and testing software.
  • Enhance existing INT 68h fix for "PopCorn" by adding
    a dosbox.conf option to always keep INT 68h NULL,
    so that it's possible to run the game in machine
    configurations other than CGA.
  • EGA/VGA: Fix "dynamic parameter save area" pointer,
    to make sure it's initialized to zero properly.
    This is needed to run "Get Saddam!" in VGA mode
    without crashing.
  • INT 10h AH=12h BL=10h no longer responds in
    machine=mcga mode, which allows Thexder to run in
    256-color mode properly when emulating MCGA.
  • Added code to silence the PC speaker, if it was left
    on at reset, at BIOS POST.
  • Added pause at BIOS POST (after reset), with
    dosbox.conf option to control, so that screen contents
    at reset can be seen.
  • Writes to unmapped 0xE0000-0xE7FFF in PC-98 mode no
    longer print a "write to ROM" warning. PC-98 games
    and software like to zero that region whether or not
    the 4th bitplane is enabled.
  • PC speaker emulation now takes into consideration
    the case when the 8254 timer has been given a control
    word without a counter value, in which case no sound
    is to be emitted until a control word is written.
    This fixes "Titus the Fox: To Marrakech and Back"
    when the game fails to detect Adlib (OPL2) hardware.
  • Adlib polling hack no longer needed.
  • Floppy controller emulation fixed to support sector
    sizes other than 512 bytes per sector.
  • Floppy controller fixed to always set "seek completed"
    status bit after seek/calibrate, not just when the
    head hits track 0 (programming mistake).
  • PC-98 40-column text mode is now supported.
  • Integrated commits from mainline (Allofich)
    • In the mapper, display disabled items or events
      with no binding in grey.
    • Implemented BIOS beep sound for ASCII character 7
    • Return failure for INT 13 format calls if the
      drive is inactive.