Skip to content

Releases: joncampbell123/dosbox-x

DOSBox-X 0.82.24 2019-11-30 18:14

01 Dec 02:35
Compare
Choose a tag to compare

0.82.24

  • FDC emulation now allows READ command to look for
    sector numbers that are out of range in order to
    support booter games that read out of range sector
    numbers as part of their copy protection.
  • Windows SDL1 window resizing fixed to avoid snapping
    and jumping issues when the window is sized down
    to the point the menu bar doubles or triples in
    height due to menu item wrapping.
  • FDC clear DMA terminal count automatically (with a
    warning printed to the log) at beginning of FDC
    read/write (PC-98 booter game Star Cruiser).
  • FDC DMA read/write failure now causes FDC to signal
    an error, and the debug output will say so.
  • FDC debug output now shows motor bits in the correct
    order, not backwards
  • CONFIG.COM and MIXER.COM are now registered only at
    DOS kernel startup, to resolve their disappearance
    after RE-DOS or guest system reset.
  • Some OpenGL cleanup and fixes for when compiling for
    Mac OS X Catalina.
  • Shell startup now prints the actual mapper binding
    (whatever it is) for the Host key instead of assuming
    F12/F11.
  • "Ro" key in PC-98 mode in the mapper interface now
    clarifies that it is Ro / _ since the shift state is
    the underscore.
  • Shell startup code fixed to show F11 for Windows and
    F12 for other platforms properly instead of always
    showing F11.
  • Added BOOT option --pc98-graphics to start up with
    graphics layer enabled in order to run HDI images
    using QMOUSE and games that expect NEC MOUSE.COM
    behavior of showing graphics layer on driver init.
  • BOOT now hides graphics layer on startup in PC-98 mode
    to reflect real hardware.
  • INT 33h mouse emulation now enables graphics layer
    on mouse startup and INT 33h AX=0 to imitate NEC
    MOUSE.COM behavior seen on real PC-98 hardware. This is
    needed for some Orange House games that assume this
    behavior, without which the graphics are invisible.
  • INT 33h define range functions now include separate
    range correction for text mode vs graphics mode.
  • Help sections in Configuration GUI have been improved,
    they are now easier to browse and read. (aybe)
  • CONFIG: added description for 'securemode' (aybe).
  • Integer properties are now correctly saved when
    they have been changed in configuration GUI (aybe).
  • Some scenarios with command history could display
    garbage characters from previous/next command (aybe).
  • Fixed all hard disk images created by IMGMAKE having
    VHD footers. (Allofich)
  • Windows Visual Studio solution: (aybe)
    • cleaned and clarified project properties for projects
    • removed configurations that didn't make sense
    • fixed broken debugging
    • consolidated to use single versions of SDK and IDE
    • enabled faster builds (multi-processor compilation)
    • fixed broken builds, e.g. ARM, ARM64

DOSBox-X 0.82.23 2019-10-31 23:14

01 Nov 06:35
Compare
Choose a tag to compare

0.82.23

  • Serial and parallel file output now disable stdio
    buffering so that output is more immediately
    accessible to the user.
  • Added file output to serial port emulation.
  • Parallel port emulation now support both dev: and
    file: to specify that LPTx output go to a file,
    not necessarily a device by name.
  • Fixed bug that capped vmemsizekb to 8KB.
  • BIOS bootup screen now shows correct text for CPU
    type instead of "? CPU" when cputype=auto.
  • PC-98 256-color mode fixed to ignore doublescan
    and 200-line bits of the GDC to match real hardware
    behavior. This fixes display problems with
    "Alone in the Dark"
  • BOOT command will now always set 640x200 8-color
    graphics mode when booting PC-98 disk images,
    to match the apparent behavior of real hardware.
  • PC-98 hardware apparently allows writing port 6Ah
    to jump directly to 256-color mode from 8-color
    mode, update DOSBox-X emulation to allow it.
    This fixes the PC-9821 port of "Alone in the Dark".
  • Slow CGA memory access handler now wraps to 16KB
    correctly, and resolves a segfault that can happen
    if the last 16KB is accessed by the guest if
    vmemsizekb=16.
  • vmemsize default is now -1, which means to pick a
    video memory size automatically.
  • Added PC-98 INT 1Bh AH=03h SCSI BIOS command, which
    allows FreeDOS98 to boot.
  • INT 33h emulation fixed not to reset mouse min/max
    range if the new video mode is a VESA BIOS SVGA
    mode (not a standard VGA mode). Some games seem to
    define the mouse min/max range AND THEN set the
    VESA BIOS mode, not the other way around.
  • INT 33h define range functions now apply rounding
    to the max range if the range is close to the
    dimensions of the screen, for games like Daggerfall
    that set the cursor maximum range to values close to,
    but not exactly, the dimensions of the VGA screen.
  • INT 33h define range functions updated to accept max
    ranges for mapping host to guest if set just after
    video modeset or if those INT 33h functions are called
    when no mouse buttons are down.
  • INT 10h AH=4Fh AL=08h (Set DAC width) now correctly
    set AL=4Fh to indicate the call is supported.
  • VGA DAC palette writes are now ALWAYS masked to 6-bit
    unless 8-BIT DAC mode is ON and enabled. This fixes
    palette problems with Amulets and Armor.
  • VGA DAC 6/8-bit palette management code simplified
  • Added dosbox.conf option to instruct DOSBox-X to leave
    the PC speaker clock gate enabled if set, for games
    that use that PIT output as a time source. Setting
    the option to "true" allows "Bàoxiào sānguózhì", a game
    with strange and elaborate timing code, to run without
    hanging at the second title screen.
  • VGA port 3DAh "undefined bits" setting changed to 0x04
    to accomodate "Blues Brothers"
  • Configuration GUI: If the settings are scrollable,
    tabbing between fields will now auto-scroll to the
    field and make it visible.
  • In the configuration GUI, scroll wheel input no longer
    changes the window focus.
  • Set CPU cycles dialog box layout fixed.
  • Added 'skip encoding unchanged frames' option to
    dosbox.conf. If set, AVI video capture will skip
    video frame compression if the frame has not changed
    from the previous frame. Option is off by default
    at this time in case it causes any issues with users
    and their video editing software.

DOSBox-X 0.82.22 2019-09-30 20:03

01 Oct 03:04
Compare
Choose a tag to compare

0.82.22

  • Added Normal2x render scalers so that 'force scaler'
    for 1x2 or 2x1 scalefactors works and you can scale
    up 320x200/640x200 VGA modes and 640x200 CGA modes
    by 2x.
  • Main window titlebar now reflects whether or
    not the debugger interface is active.
  • Debugger interface now flushes terminal input
    upon entering the debugger, so that keyboard
    input prior to entering the debugger is ignored.
  • Debugger mapper shortcut and menu item are now
    a toggle. Selecting once will enter the debugger
    and selecting again will resume emulation.
  • cycles=max now displays cycle percentage correctly
    instead of showing e.g. 100 cyc/ms
  • (Allofich) Note and ignore INT 33, AX=53C1 call
    for the Logitech CyberMan.
  • Fixed odd code addition that disabled (through
    the configuration) XMS, EMS, and UMB when
    booting a guest OS. This fixes a problem where
    those services are not available when rebooting
    back into the DOSBox-X shell from a guest OS.
  • CGA 640x200 and MCGA 640x480 modes fixed to
    have proper refresh rate when machine=mcga,
    instead of 140Hz.
  • MCGA horizontal active display register
    encodes N - 1, not N, according to real
    hardware register dumps.
  • INT 10h modes 2 and 3 updated set MCGA CRTC
    write protect bit, to match real PS/2 hardware
    behavior, and to unlock CRTC registers during
    mode set.
  • PC-98 VSYNC interrupt now fires at vertical
    retrace start (as documented) instead of at
    active display end behavior borrowed from
    DOSBox VGA emulation. This fixes "Tonight"
    by Swat.
  • Fixed mistake that placed N88 ROM BASIC stub
    (something specific to PC-98) in memory even
    in IBM PC/XT/AT emulation mode.
  • Fixed some callback slot leaks that can cause
    DOSBox-X to run out of callback slots if you
    reset the guest system too much.
  • Fixed invalid callback and errant interrupt
    handling during BIOS reset delay that happens
    if you use the keyboard shortcut to trigger
    system reset.
  • XMS emulation resets global enable and local
    enable state on XMS emulation startup to fix
    crashes related to inability to control A20 gate
    after system reset or DOS kernel restart.
  • Debugger "SM" command now accepts segment:offset
    syntax for memory location to write.
  • Fixed INT 21h AH=65h bug that returns DBCS table
    for AH=4h that should return filename uppercase
    table.
  • Configuration GUI property settings are now
    shown in a single column wide list with scrolling.
  • In the configuration GUI, help dialogs will now
    present the help text as a scrollable region if
    there is too much to fit on screen.
  • dosbox.conf mixer rate will now accept any
    sample rate from 4KHz to 192KHz instead of only
    fixed specific sample rates.
  • cascade interrupt ignore in service setting now
    accepts true, false, and auto. "auto" is now the
    default, and will choose true or false depending
    on machine type for correct emulation either way.
    It should no longer be necessary to add
    "cascade interrupt ignore in service=true" to
    your dosbox.conf every time you want to run a
    PC-98 game properly.
  • PC-98 FM board emulation will now load SOUND.ROM
    into segment CC00h if available, if FM board
    emulation is enabled.
  • PC-98 INT 18h AH=30h updated to return AH=05h
    AL=00h BH=00h if success, AH=00h AL=01h BH=01h
    if failure. This is needed to get Puyo Puyo 2
    to work, which for some reason fails if a call
    to set 15KHz mode works.
  • PC-98 LIO and SOUND BIOS entry points, while
    still not implemented, have been updated to
    print the name of the call according to an
    online reference.
  • DOS FCB rename now supports renaming the
    volume label as MS-DOS does.
  • Fixed bug that prevented proper DOS FCB rename
    if the FCB used to rename is extended.
  • FAT filesystem driver updated to also store
    updated volume label in the boot sector of the
    partition, as per MS-DOS FAT standards.
  • FCB create can now be used to set a FAT
    filesystem label. MS-DOS LABEL.EXE works
    correctly now.
  • FAT filesystem driver now allows LABEL command
    to change the FAT volume label of mounted disk
    images.
  • DOS kernel updated to support basic FCB methods
    of deleting/setting the volume label, at least
    on local folder mounts.
  • DOS kernel will now return the volume label of
    FAT filesystems mounted from disk images.
  • LABEL setting code fixed not to treat label as
    if an 8.3 filename.
  • LABEL is no longer a builtin shell command and
    appears on drive Z: as LABEL.COM
  • LABEL reimplemented to imitate MS-DOS behavior
    with regard to how it handles the command line.
  • File I/O checking and cleanup (Allofich)
  • Integrated commits from mainline (Allofich)
    • Handle errant IRQs as a real BIOS does. Also
      remove r3263 workaround, as it's no longer
      needed.
    • Fix flag behavior of several shift/rotate
      instructions, cause exceptions and fix
      potential 'pop ss' problems
    • Add support for Print Screen key and
      interrupt. In-game screenshot feature
      of Descent and Descent 2 now works.

DOSBox-X 0.82.22 2019-09-14 13:32 BETA

14 Sep 20:44
Compare
Choose a tag to compare
Pre-release

0.82.22 (next)

  • Debugger "SM" command now accepts segment:offset
    syntax for memory location to write.
  • Fixed INT 21h AH=65h bug that returns DBCS table
    for AH=4h that should return filename uppercase
    table.
  • Configuration GUI property settings are now
    shown in a single column wide list with scrolling.
  • In the configuration GUI, help dialogs will now
    present the help text as a scrollable region if
    there is too much to fit on screen.
  • dosbox.conf mixer rate will now accept any
    sample rate from 4KHz to 192KHz instead of only
    fixed specific sample rates.
  • cascade interrupt ignore in service setting now
    accepts true, false, and auto. "auto" is now the
    default, and will choose true or false depending
    on machine type for correct emulation either way.
    It should no longer be necessary to add
    "cascade interrupt ignore in service=true" to
    your dosbox.conf every time you want to run a
    PC-98 game properly.
  • PC-98 FM board emulation will now load SOUND.ROM
    into segment CC00h if available, if FM board
    emulation is enabled.
  • PC-98 INT 18h AH=30h updated to return AH=05h
    AL=00h BH=00h if success, AH=00h AL=01h BH=01h
    if failure. This is needed to get Puyo Puyo 2
    to work, which for some reason fails if a call
    to set 15KHz mode works.
  • PC-98 LIO and SOUND BIOS entry points, while
    still not implemented, have been updated to
    print the name of the call according to an
    online reference.
  • DOS FCB rename now supports renaming the
    volume label as MS-DOS does.
  • Fixed bug that prevented proper DOS FCB rename
    if the FCB used to rename is extended.
  • FAT filesystem driver updated to also store
    updated volume label in the boot sector of the
    partition, as per MS-DOS FAT standards.
  • FCB create can now be used to set a FAT
    filesystem label. MS-DOS LABEL.EXE works
    correctly now.
  • FAT filesystem driver now allows LABEL command
    to change the FAT volume label of mounted disk
    images.
  • DOS kernel updated to support basic FCB methods
    of deleting/setting the volume label, at least
    on local folder mounts.
  • DOS kernel will now return the volume label of
    FAT filesystems mounted from disk images.
  • LABEL setting code fixed not to treat label as
    if an 8.3 filename.
  • LABEL is no longer a builtin shell command and
    appears on drive Z: as LABEL.COM
  • LABEL reimplemented to imitate MS-DOS behavior
    with regard to how it handles the command line.
  • File I/O checking and cleanup (Allofich)
  • Integrated commits from mainline (Allofich)
    • Handle errant IRQs as a real BIOS does. Also
      remove r3263 workaround, as it's no longer
      needed.
    • Fix flag behavior of several shift/rotate
      instructions, cause exceptions and fix
      potential 'pop ss' problems

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

31 Aug 23:24
Compare
Choose a tag to compare

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.

DOSBox-X 0.82.21 2019-08-27 21:39 BETA

28 Aug 04:56
Compare
Choose a tag to compare
Pre-release

0.82.21 (next)

  • 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.

DOSBox-X 0.82.20 2019-07-31 23:17

01 Aug 06:42
Compare
Choose a tag to compare

0.82.20

  • Dynamic core IMUL instruction mistake fixed,
    signed multiply works properly again.
  • PC-98 graphics emulation fixed to render only the
    number of active display lines programmed into
    the GDC instead of matching the text layer. This
    fixes the status bar at the bottom of the screen
    in "First Queen" and "First Queen II".
  • Normal CPU core fixed not to immediately process
    interrupts on STI but to wait a little bit so that
    a STI + CLI sequence does not cause interrupt
    processing, according to real Intel 486 behavior.
  • Unknown interrupts in PC-98 mode are now routed by
    the DOS kernel through it's segment (60h) and back
    to the BIOS through a JMP instruction. It appears
    some TSRs for PC-98 determine whether or not
    interrupts are in use by whether or not the segment
    value is pointing at the DOS kernel (segment 60h).
  • Re-added a20=fast by popular demand, though a20=mask
    is still the default. a20=fast emulates the A20 gate
    the way a virtual 8086 mode monitor does where only
    the first 64KB past 1MB is remapped rather than
    gating bit 20 of all addresses. Note that a20=fast
    also matches the A20 gate behavior in DOSBox SVN.
  • Bringing up the SDL drawn menus and then resizing the
    window no longer "freezes" the display in SDL2 builds.
  • IDE emulation now minimally emulates PC-98 I/O port
    arrangement in PC-98 mode.
  • Running a build that draws it's own menus, setting
    output=opengl, and hiding the menus no longer causes
    lag redrawing the screen every time the mouse cursor
    moves.
  • Memory limit is now 3.5GB for 64-bit builds and 1GB for
    32-bit builds.
  • Maximum memory limit is now 3.5GB, code fixed to better
    enforce the limit.
  • Mixer and VGA capture code fixed to signal error if the
    memory address exceeds the amount of system memory.
    The general design of DOSBox-X memory I/O means that if
    physical memory writes are made beyond system memory,
    DOSBox-X will write out of bounds and segfault.
  • DOSBox Integration device now offers the program inside
    to capture the VGA output, for automated testing.
  • DOSBox Integration device now offers reading emulator
    time (PIC_FullIndex()) and setting a watchdog timer
    that triggers an NMI unless reset. Intended for use
    with automated testing.
  • Debugger INTHAND command now works properly in protected
    mode.
  • DOSBox Integration Device now provides an interface for
    code within to listen to the mixer output (to hear
    itself) for automated testing purposes.
  • Gravis Ultrasound emulation fixed not to run or compute
    voices and ramps if the DAC enable bit is not set.
  • Gravis Ultrasound emulation now offers a hack to ignore
    writes to the Active Channel register if the DAC is active
    and rendering audio (Ice Fever demoscene hack).
  • SDL drawn menus fixed not to interact or draw while 3Dfx
    emulation is using OpenGL, to prevent it from disturbing
    the OpenGL context for 3Dfx emulation.
  • NMI interrupt handling fixes to resolve instruction pointer
    corruption if NMI interrupt triggered while a CPU core is
    executing instructions (i.e. triggered by I/O handler).
  • DOSBox-X integration device now provides an interface to
    trigger IRQ and NMI signals.
  • Integrated commits from mainline (Allofich)
    • Improve disk image mounting: cycle disks only for the
      drive being mounted.
    • FAT drive fixes and improvements. Identify floppy format,
      and support filesystems that use only part of the disk.
      Fixes Make Your Own Murder Party and Music/Pinball
      Construction Set.
    • Return correct error code for verify sectors function
      when an invalid drive is specified. Fixes Hugo Troll game
      installers.
    • Prefer ncurses above curses (on some systems, these are
      still different packages)
    • Give a warning at startup if dpi scaling is detected.
    • Show segment override on XLAT instruction.
    • Change scan3x to be LINE LINE DARK instead of LINE DARK
      DARK. This matches pictures of scanlines better and doubles
      the brightness as the old implementation was rather dark.
    • Make it possible to compile without PNG support.
    • Report when a -conf file can not be loaded.
    • When searching CD-ROM directory entries, strip trailing
      period of extension-less filenames after stripping file
      version number and separator. Fixes disc check in Air Power.
    • Add Unit Number and Bytes Per Sector fields for DPB
      entries. Fixes Air Power installer and Windows 3 Virtual
      Memory dialog.
    • Reset write ops after drawing text in EGA graphics modes,
      consistent with EGA/VGA BIOS. Fixes Fun School 3.
    • Make Allocation Info work for CD-ROM drives. Fixes Bureau
      13 installer.
    • Prevent double-loading of CD-ROM images.
    • Don't generate sound after DMA is masked at end of single
      cycle transfer. Prevents issues with some games.
    • Use right field when dealing with joysticks.
    • Check for both read-only modes when writing files to drive
    • Correct one-off error in paging table size compare for
      when not using USE_FULL_TLB
    • Make CMOS equipment list startup display mode bits differ
      from BIOS on EGA/VGA. Fixes Sauro.
    • Implement port 62h with timer 2 output for CGA and
      Hercules machine types; fixes Frank Bruno's Boxing and Math
      Maze.
    • Acknowledge mouse interrupt before entering user routine;
      fixes sound stutter during mouse movement in Eye of the
      Beholder III and Casino Tournament of Champions. Clear
      button counters in the mouse driver reset function;
      prevents unintended skipping of intro in MechWarrior and
      others.
    • Correct relative track length in subchannel data for
      CD-ROM images; fixes speech audio cutting off too soon in
      Casino Tournament of Champions.
    • Reset followed by switch to UART mode should take some
      time; fixes MPU detection in F29 Retaliator and Hover Force.
    • Ignore unrequested data in intelligent mode; fixes Roland
      sound in Krusty's Fun House.
    • Repair double slash in configfile location on Macs. Add
      some protection against a NULL dirp.
    • Fix loading of configfiles specified with -conf but
      present in the userdir with -userconf present.
    • Fix up DOS_Drive_Cache::GetShortName.
    • Change multi-remain to repeat last parsed value for
      non-string types if the next value is empty and of the same
      type as the last. Use this to add an optional parameter to
      sensitivity which controls the y axis. When optional
      parameter is missing, x and y axis have the same value.
      Change limits on sensitivity to allow for negative values
      so the Mouse Y-axis can be inversed.
    • Correct bug related to signedness.
    • Improve prefetch and simple cores to not switch to normal
      core on trap execution. Fixes the demo version of
      Prehistorik 2 and similar cases that use the trap flag and
      prefetch tricks.
    • Check lengths before adding C-style strings together.
    • Fix unmounting of complex drives where parts were left and
      file pointers were kept open.
    • Stop storing raw modrm value. Should save an instruction
      on each get_modrm call.
    • Strip leading = from value. Can happen if you execute
      "irq =5".
    • Don't remove bytes from autoexec.bat when changing
      settings from autoexec.bat, but replace them instead. This
      way the location stays valid.
    • Let dynamic core recompile interrupt instructions in
      non-debug builds. Can help software with many INTs, such as
      compiled BASIC, run faster.
    • Add logic in mouse driver to ignore button events that
      are out of sequence. Fixes International Rugby Challenge
      when clicking to lock the mouse.
    • Use a more compatible offset for DOS redirected interrupt
      vector. Works around a null pointer bug in the notes dropdown
      list of Jack the Ripper.
    • Reqrite pop_ev so it can trigger pagefaults again. Fixes
      Win 3.11.
    • Fix uninitialized access to some isoDrive fields. Pause audio
      before switching. Use right subunit with multiple CDs on one
      drive letter.
    • Move all stack alignment operations into one place and
      some optimalisations to RISC x64 dynamic core.
    • Merged in MAME sound from mainline, except for Tandy sound.

Many thanks to @Allofich for additional bug fixes and backported patches from DOSBox SVN!

DOSBox-X 0.82.19 2019-05-31 22:09

01 Jun 05:10
Compare
Choose a tag to compare

0.82.19

  • Prefetch core fixed up, made more aggressive, and string
    instructions (REP MOVSW) cause more prefetch. "Stereotype"
    demoscene production can run again.
  • DOSBox Integration device now allows ISA DMA read/write
    injection.
  • 8237 DMA emulation now supports PC-98 "auto bank increment"
    functions, which automatically increments the DMA page number
    on DMA wraparound. Sim City 2000 needs this to play it's
    digitized sound effects properly.
  • 8237 DMA emulation now enforces read/write mode provided by
    guest. If the DMA is configured for reading from system
    memory, then attempts to WRITE to memory via DMA must fail.
    Just like real hardware.
  • 8237 DMA block transfer cleanup, de-duplication.
  • 8237 DMA block cleanup allows implementation of 8/16-bit DMA,
    forwards and backwards.
  • PC-98 keyboard corrections (not yet verified to be accurate
    to hardware though) to solve problems where holding a key
    while running a program that is slow to respond to input
    can overrun the buffer and fail to handle additional input.
  • VGA BIOS size changed to 0x4000 (16KB), because 0x3800
    is not liked by Windows 3.0.
  • Font vector is now INT 44h for PCjr and Tandy emulation,
    INT 43h otherwise as documented in the RBIL.
  • Graph key (PC-98 mode) no longer registers as keyboard
    input to INT 18h. EDIT.COM's menu is now usable.
  • PC-98 INT 18h AH=02h fixed to return the correct keyboard
    status byte as documented
  • Local directory filesystem support now applies timestamp
    before closing the file handle, which should help with
    timestamps even if the filename is not directly valid
    on the host operating system or filesystem.
  • DOSBox Integration Device moved to I/O port DB28h-DB2Bh
    in PC-98 mode to avoid conflicts with DMA controller
    registers.
  • DMA controller is now completely disabled in IBM PCjr mode
    (machine=pcjr) to match real hardware.
  • COPY command now copies file date/time as well.
  • INT 2Fh AX=1600h no longer logs an error as unimplemented.
    (Allofich)
  • COPY.EXE removed, so that the built-in COPY command can work.
  • PC98UTIL fixed to re-enable the text layer after the BIOS call
    for /24khz and /31khz options.
  • PC-98 INT 18h AH=30h now allows setting the 480-line mode.
  • (PC-98) Port 6Ah command 40h/41h, CRT vs Plasma/LCD mode,
    added.
  • PC98UTIL.COM now updates the menu item for PC-98 GDC clock
    speed when changing GDC clock speed.
  • Added to PC98UTIL.COM the /24khz and /31khz switches to change
    hsync rate.
  • Updated PC-98 graphics plane emulation to more properly
    handle the 5MHz GDC mode, and the IM bit in the GDC parameter
    RAM.
  • INT 18h AH=30h and AH=42h mode set fixed to update CPU and
    display pages correctly.
  • INT 18h AH=30h (PC-98 mode) now permits graphics layer changes.
  • INT 18h AH=30h (PC-98 mode) now permits changing hsync rate.
  • INT 18h AH=31h (PC-98 mode) now uses BIOS data area to
    return hsync rate (24KHz vs 31KHz)
  • INT 18h AH=42h (PC-98 mode) now uses BIOS data area to
    determine 5MHz GDC instead of internal state to better emulate
    actual hardware behavior.
  • PC-98 text console output now fills both cells of doublewide
    characters on the text layer.
  • PC-98 port 6Ah now handles command 82h/83h and 84h/85h which
    allow the guest to reprogram the GDC clock frequency (2.5MHz
    or 5MHz). This is necessary to handle strange Windows 3.1
    behavior where entering a DOS program fullscreen causes
    Windows 3.1 to reprogram your GDC to run at 5MHz regardless of
    the BIOS (or dosbox.conf) setting.
  • PC-98 port 68h now supports command 0Eh/0Fh to enable display.
  • Integrated commits from mainline (Allofich)
    • Lower the influence of the aspect table correction
      trick when using high scale factors (320x200 => 2000x1200).
    • Correction done to Hercules video height parameter.
    • The mapper now uses the wrapper as well
    • Fix the possible/suggested values for integer
      properties.
    • Do less to update the frequency of an active SB
      DMA transfer. Fixes sound in Tempest 2000.
    • Add missing --disable-fpu-x64 option
    • Use clock_gettime when available instead of the
      obsolete ftime.
    • Allow CRTC read/write access on all mirror ports for
      non-VGA machine types. Fixes Tandy and EGA display in
      International Hockey booter.
    • Handle "copy H*.txt file.txt" correctly
    • Fix detection of always_inline attribute with MinGW 4.9.2
    • Introduce mount -pr to mount paths relative to last
      loaded configuration file.
    • Use normal teletype function for non-ANSI output so the
      default attribute 7 applies only to graphics modes and
      existing attributes are not changed in text modes.
    • Improve compatibility of internal mouse driver with
      respect to video mode changes and hiding the pointer, and
      handle font reloading as a kind of mode change. Also fix
      unlocked mouse pointer to recognize the full range of
      tweaked/fontloaded text modes.
    • Bring OS2 port up to date.
    • Ignore/remove single % in batchfiles.
      (Fixes B13Demo batchfiles on PC Gamer cover disc 1995-08)
    • Clear incomplete Sound Blaster DSP command at reset,
      fixes Romancing Prince.
    • Add some more cases to the Alt-Tab detection.
    • Add alternate font tables and associated loading logic
      in video BIOS, allowing correct gaps between "wide"
      characters (e.g. m,w,M,W,T,Z,0) in all VGA machine types.
    • Update all related BIOS memory values and CRTC registers
      when loading fonts.
    • Improve support for MDA emulation in the vgaonly machine
      type, as it is the only way the video BIOS can make use
      of the 14-line alternate symbols.
    • Be compatible by setting the INT 43h vector to the first
      half of the 8-line font table for standard text modes.
    • Move VESA mode table and OEM string before font tables
      in the video ROM, which is a more compatible ordering.
    • Add opl3gold option to oplmode setting. With this option
      the Adlib Gold music can be selected in Dune. Only music
      without effects is supported. FM volume control does work.
    • Add hardware text mode cursor support.
    • Rework FCB_ParseName
      -- Remove special code for . and .. as it was wrong
      -- Continue reading the input string, when the max length
      of the field has been reached (123456789.12345 is read and
      returned as 12345678.123)
      -- Strip spaces before and after reading the separators.
      -- The drive is always parsed (if present), it doesn't
      depend on the existence of said drive.
      -- Fix parsing of .EXE and other extension only names
      -- Always clear out current block and record size.
    • Correct AX and BX, they contain information on the
      existence of the drives specified in the FCBs in the
      execute block
    • Rework the parsing of arguments into the FCBs
    • Use full mask; fixes label search on FAT drives.
    • Don't write past the terminator in the DTA name field
      when setting search results. This is what DOS does, and
      writing junk after the terminator was not good in any case.
      Fixes file listing in the 16-bit version of Galaxy Player.
    • Improve rename support for when renaming files (in a
      folder) on a drive different from the current one.
    • Improve internal ANSI support to adapt to currently
      displayed columns and rows. Fixes original Infocom
      interpreters when using something other than 80x25.
    • Handle double-quoted values and quoted values in
      dosbox.conf files.
    • Speed up GetHexValue.
    • Restore 1,2,3,4,5 as run 5,500,1000,5000,10000
      instructions.
    • Change BIOS equipment list to indicate DMA not
      supported on PCjr machine type, which fixes PCjr
      detection in old versions of Ancient Art of War.
    • Correct some offsets in the DTA for FCB-based search
      results. Fixes DIR listing in COMMAND.COM from MS-DOS
      and file info in XTree Gold.
    • Prevent a multiplication overflow and more accuracy
      by using floats for attack rate loop
    • Set record size to 128 if it is 0 in the FCB when
      calling any FCB read/write function
    • Fixes for acad 10:
      • Add missing reference counting when the file is
        already open when calling FCB_Open, so that acad, which
        uses FCBs and normal handles on the same file, works
        better.
      • Remove FCBs being added to the PSP filetable and
        rewrite most functions to support this change. This way
        acad won't run out of temporary (fcb) files when low on
        memory.
    • More flexible setting of version with "VER" command.
    • Fix screen clearing when setting mode 0xA on PCjr
      machine type.
    • Fill DTA for FCB search results more like real DOS,
      fixing hang in SETUP.EXE and MSDOSD.EXE from Windows V1.01.
    • Add support for mode 8 row copy/fill. Fixes Tandy
      GW-BASIC interpreter SCREEN 3 scrolling/clearing.
    • Map inactive video memory regions as empty rather than
      filled with RAM. Fixes later version of Sargon 3 on color
      machine types.
      Set color modes (to the extent that they can be) on the
      Hercules machine type if the BIOS equipment list is not set
      to monochrome. Fixes missing text in Victory Road.
    • Graphics mode text drawing improvements:
      -Font source according to machine type.
      -Use compatible method of determining fill attribute for
      textmode screen scrolling in teletype function.
    • Prevent DOS buffered input function from hanging in an
      infinite loop when redirected input reads a linefeed or
      reaches EOF.
    • EXEC improvements, mostly for the load-but-do-not-execute
      function.
    • Stop writing uninitialized junk into first shell's...
Read more

DOSBox-X 0.82.18 2019-04-27 22:25

28 Apr 05:26
Compare
Choose a tag to compare

0.82.18

  • Added debugger command "VGA CRTC" for the CRTC section of
    VGA emulation.
  • Added debugger command "VGA DAC" for the DAC and "VGA DACPAL"
    command to view the VGA color palette.
  • Added debugger command "VGA GC" for the graphics controller
    section of VGA emulation.
  • Added debugger command "VGA SEQ" for the sequencer section
    of VGA emulation.
  • Added debugger commands "VGA DRAW" and "VGA AC" to view
    drawing and attribute controller state in the VGA emulation.
  • Integrated commits from mainline: 3834, 3839, 3840, 3843,
    3845, 3849, 3850, 3853 (Allofich)
  • PSG noise channel emulation (PC-98 FM board) apparently
    broke on Mac OS X due to type promotion by Clang/LLVM.
    Modified the code to behave as originally intended, to
    restore the PSG noise channel on Mac OS X.
  • Added debugger command "DOS FNKEY" to view PC-98 scan code
    escape mapping.
  • PC-98 EGC ROP 9Ch added, apparently used by Windows 3.1
    CALC.EXE
  • PC-98 INT DCh CL=0Ch/CL=0Dh AX=01h through AX=28h added,
    which allows individual function/edit keys to be read or
    modified.
  • Dynrec dynamic core is now default even on 32-bit builds.
    Dynx86 dynamic core is still an option at this time if you
    compile from source.
  • PC-98 INT DCh CL=0Fh AX=0h/1h added.
  • PC-98 INT DCh CL=0Ch/CL=0Dh added AX=0 handling as well.
  • PC-98 INT DCh emulation now support INT DCh CL=0Ch/CL=0Dh
    AX=FFh so that some programs (including SEDIT.EXE) can set,
    re-define, and restore the function key row.
  • PC-98 MS-DOS emulation now injects escape codes from a table
    for the function keys instead of hard-coded as it does on
    real MS-DOS.
  • PC-98 MS-DOS emulation now supports Shift+Fn (shift+Function)
    to inject shortcuts into the CON device.
  • PC-98 MS-DOS now accepts CTRL+F8 to clear the screen.
  • PC-98 MS-DOS function key row now accepts CTRL+F7 to toggle
    between none, function keys, and shortcuts.
  • PC-98 INT 18h AH=42h display area setup now cancels pending
    vsync interrupt. This fixes display issues with Quarth when
    interrupting the game's demo mode to enter the main menu.
  • PC-98 emulation now emulates port 6Ah command that controls
    128KB/256KB VRAM wraparound.
  • INT DCh CL=10h AH=04h through AH=09h added.
  • INT DCh CL=10h AH=03h call to set cursor position (backdoor for
    ESC = ANSI code) added.
  • Added parsing for ESC M / ESC D and ESC E in the DOS ANSI driver.
  • New debugger "VGA" command added to view additional emulator
    state.
  • Debugger input bar (at the bottom) fixed to position correctly,
    mistake in the code that caused it fixed.
  • PC98 debugger command now supports viewing text, graphics, CG,
    GRCG, and EGC state.
  • New debugger command "PC98" to view PC-98 emulation state in
    the debugger.
  • New debugger command "EMU" added to view additional emulator
    state.
  • Debugger data view now shows linear and physical memory address
    for the memory address you're viewing when the CPU is in
    protected mode. The physical memory address display is useful
    when 386 paging is enabled.
  • Debugger command "SM" now accept B: W: and D: prefixes to
    write BYTE, WORD, and DWORD values to memory.
  • Debugger command "SR" now accept multiple pairs of registers
    and values in one command.
  • Debugger commands "EV" and "SM" will no longer hang DOSBox-X
    on invalid (unrecognized) input.
  • Added "EV" debugger command to allow viewing CPU registers
    at the command line, including CPU registers not shown
    in one of the windows of the debugger UI.
  • Debugger will now explicitly tell you if it does not
    recognize the command.
  • Debugger fixed not to leave your command uppercased on the
    command line if it does not recognize it.
  • Debugger "SR" command updated to allow setting upper/lower
    halves of AX/BX/CX/DX, additional CPU flags and the whole
    flags register.
  • Added INP/OUTP commands to debugger to aid debugging
    I/O ports.
  • 8086 and 286 cores now emulate a known bug where an
    instruction with multiple prefixes that is interrupted
    will resume at only the most recent prefix.
  • PC-98 planar emulation optimized and cleaned up.
  • Configuration GUI no longer crashes at startup if run
    from the command line using the --startui or --startgui
    command line options.
  • Configuration GUI fixed not to allow multiple instances
    of the same settings window.
  • Emulator speed controls added, if for any reason you'd
    want to play a game faster or slower.
  • Configuration GUI AUTOEXEC editor fixed so that
    "Append History" button actually works.
  • Fixed configuration GUI to show keyboard options instead
    of the mapper interface when you click the "Keyboard"
    button.
  • "Show details" menu option now also enables the realtime
    percentage display.
  • Mac OS X builds fixed to use older convertRectToScreen
    function instead of convertPointToScreen, which allows
    others to compile DOSBox-X on Mac OS X versions older than
    Mojave (despite Apple documentation claiming that
    convertPointToScreen was added in 10.12).
  • Shift and Alt key modifier handling within the configuration
    GUI now works properly in SDL2 builds.
  • Fixed prefetch queue emulation to allow 8086, 80186, and
    286 CPU types to run with prefetch queue without crashing.
  • CPU type selection menu will now cause guest to reboot
    if new cpu type is incompatible with the BIOS prologue
    and epilogue code that was generated at startup, to
    avoid crashes.
  • PC-98 NEC copyright string option now also installs
    another set of data in another location in the BIOS,
    that Windows 2.1 checks for.
  • Minimum MCB free value now has a higher default value in
    PC-98 mode to reflect the fact the platform usually has
    more loaded into lower memory at runtime. You are allowed
    to specify a lower value in dosbox.conf for anything that
    needs more memory.
  • GUS and Sound Blaster environment variable installation
    is now quiet, does not echo the variable on screen at
    startup.
  • INT 21h country-specific info now returns correct info
    for PC-98 mode.
  • INT 21h DBCS lead table now contains correct values in
    PC-98 mode.
  • Added more PC-98 EGC raster opcode emulation. The PC-98
    version of Windows 3.1 now displays properly without
    issues, except for line drawing.
  • Added INT 10h VESA BIOS function AH=08h "SET DAC WIDTH"
    so that, when enabled, DOS applications can switch the
    DAC from 6-bit to 8-bit.
  • Added basic 256-color mode emulation to PC-98 mode.
    Linear framebuffer, needed by PC-98 ports of DOOM and
    Wolfenstein 3D, is implemented. Bank switching, needed
    by a few PC-98 games, is implemented.
  • MPU-401 emulation now accepts dosbox.conf option "mpubase"
    to control the base I/O port of the MPU-401 interface.
    The option can be set to "0" to tell DOSBox-X to pick the
    best default. Works in either IBM PC or NEC PC-98 mode.
    See dosbox.reference.conf for more details.
  • Fixed Sound Blaster 16 mixer IRQ/DMA select registers
    to work in PC-98 mode as they apparently do on real
    hardware.
  • Sound Blaster 16 and Adlib emulation now available in
    NEC PC-98 mode. I/O port mapping is based on a real
    SB16 card for PC-98 and some documentation. Only OPL3
    emulation is supported for Adlib. sbtype must be set
    to sb16.
  • NEC PC-98 emulation mode now emulates DMA controller.
  • Gravis Ultrasound emulation now allows game to read back
    the channel's Pan Pot register.
  • Sound Blaster 16 now implements 0xF9/0xFA fully, even if
    the RAM contents they expose are not fully implemented.
  • Sound Blaster DSP command E2h (DMA identification/test)
    code cleaned up and simplified.

DOSBox-X beta 0.82.18 2019-04-14 20:28

15 Apr 04:16
Compare
Choose a tag to compare
Pre-release

0.82.18 (next)

  • Configuration GUI no longer crashes at startup if run
    from the command line using the --startui or --startgui
    command line options.
  • Configuration GUI fixed not to allow multiple instances
    of the same settings window.
  • Emulator speed controls added, if for any reason you'd
    want to play a game faster or slower.
  • Configuration GUI AUTOEXEC editor fixed so that
    "Append History" button actually works.
  • Fixed configuration GUI to show keyboard options instead
    of the mapper interface when you click the "Keyboard"
    button.
  • "Show details" menu option now also enables the realtime
    percentage display.
  • Mac OS X builds fixed to use older convertRectToScreen
    function instead of convertPointToScreen, which allows
    others to compile DOSBox-X on Mac OS X versions older than
    Mojave (despite Apple documentation claiming that
    convertPointToScreen was added in 10.12).
  • Shift and Alt key modifier handling within the configuration
    GUI now works properly in SDL2 builds.
  • Fixed prefetch queue emulation to allow 8086, 80186, and
    286 CPU types to run with prefetch queue without crashing.
  • CPU type selection menu will now cause guest to reboot
    if new cpu type is incompatible with the BIOS prologue
    and epilogue code that was generated at startup, to
    avoid crashes.
  • PC-98 NEC copyright string option now also installs
    another set of data in another location in the BIOS,
    that Windows 2.1 checks for.
  • Minimum MCB free value now has a higher default value in
    PC-98 mode to reflect the fact the platform usually has
    more loaded into lower memory at runtime. You are allowed
    to specify a lower value in dosbox.conf for anything that
    needs more memory.
  • GUS and Sound Blaster environment variable installation
    is now quiet, does not echo the variable on screen at
    startup.
  • INT 21h country-specific info now returns correct info
    for PC-98 mode.
  • INT 21h DBCS lead table now contains correct values in
    PC-98 mode.
  • Added more PC-98 EGC raster opcode emulation. The PC-98
    version of Windows 3.1 now displays properly without
    issues, except for line drawing.
  • Added INT 10h VESA BIOS function AH=08h "SET DAC WIDTH"
    so that, when enabled, DOS applications can switch the
    DAC from 6-bit to 8-bit.
  • Added basic 256-color mode emulation to PC-98 mode.
    Linear framebuffer, needed by PC-98 ports of DOOM and
    Wolfenstein 3D, is implemented. Bank switching, needed
    by a few PC-98 games, is implemented.
  • MPU-401 emulation now accepts dosbox.conf option "mpubase"
    to control the base I/O port of the MPU-401 interface.
    The option can be set to "0" to tell DOSBox-X to pick the
    best default. Works in either IBM PC or NEC PC-98 mode.
    See dosbox.reference.conf for more details.
  • Fixed Sound Blaster 16 mixer IRQ/DMA select registers
    to work in PC-98 mode as they apparently do on real
    hardware.
  • Sound Blaster 16 and Adlib emulation now available in
    NEC PC-98 mode. I/O port mapping is based on a real
    SB16 card for PC-98 and some documentation. Only OPL3
    emulation is supported for Adlib. sbtype must be set
    to sb16.
  • NEC PC-98 emulation mode now emulates DMA controller.
  • Gravis Ultrasound emulation now allows game to read back
    the channel's Pan Pot register.
  • Sound Blaster 16 now implements 0xF9/0xFA fully, even if
    the RAM contents they expose are not fully implemented.
  • Sound Blaster DSP command E2h (DMA identification/test)
    code cleaned up and simplified.