2026.08.02
  - Debugger: normalize 16-bit segmented offsets for address display/lookup and
    avoid false "[illegal]" memory operand reports in AnalyzeInstruction()
    (cimarronm)
  - Fixed character rendering and mouse cursor display in DOS/V Japanese mode.
    (nanshiki)
  - Fixed build error of OSFREE release builds (maron2000)
  - Added floppy BPB sanity check, and rearranged existing floppy BPB check code
    (maron2000)
  - Fixed window resizing (OpenGL, SDL2) (misty7666)
  - Updated Nuked-OPL3-fast to v1.8-fast.3 (tgies)
  - Added support for nested subdirectories in Z drive (maron2000)
  - Added experimental "ethnet" command and protocol for NE2000 emulation. Instead
    of using the pcap promiscious mode, which doesn't work over Wi-fi, a client
    server setup can be configured to emulate a private lan between instances of
    DOSBox-X either on localhost or on the local area network. The ethnet command
    is deliberately built so that client and server set up is the same command
    structure as the "ipx" command used to set up an IPX network in DOSBox and
    DOSBox-X. (joncampbell123)
  - FAT driver performance improvements, at least for directory enumeration,
    file creation, reading, and writing (joncampbell123).
  - Added PC3270 and Olivetti machine types (firevaran).
  - Fixed fatDrive error paths so truncated boot-sector reads no longer look
    like successful mounts, and early returns now close diskfile handles
    instead of leaking them. (cimarronm)
  - INT 33h: In PC-98 mode, do not maintain a hide/show display count to match
    real mouse driver behavior (nanshiki)

2026.07.02
  - Prepare for release. This time release OSFREE first so that the normal
    version appears first on GitHub.
  - Correct MMX FPU exception behavior: #UD if EM bit set, else #NM if TS bit 
    set (joncampbell123)
  - Cleanup PMULLW, enforce missing Pentium III requirement for one 
    instruction, and add code to every MMX instruction to set FPU top of stack
    to zero as a) documented by Intel b) implemented by Bochs and PCBox already
    (joncampbell123)
  - Fixed PMULLW signedness issues. (bachimusprime)
  - MMX instructions set top of stack == 0 and all tags to available. 
    (joncampbell123)
  - EMMS no need to set FPU tags to valid, then set them to empty.
    (joncampbell123)
  - Move MMX register into FPU_Reg_80 where the X86 FPU emulation is storing 
    state so that the MMX/FPU overlap can emulate properly. This fixes FPU/MMX 
    bugs with Windows ME and Windows Media Player (joncampbell123)
  - FPU: make p_regs and regs_80 an anonymous union to reduce memory use and to
    make switching between dynamic and normal core easier (joncampbell123)
  - Fixed savestate format incompatibility between MSVC and MinGW builds.
    (AleWin32)
  - gui/sdl_mapper: Fixed startup crash with joysticks reporting >1 hat switch
    (BoykoNeov)
  - Extend MMX_reg to include FPU exponent field. (joncampbell123)
  - Fixed MMX instructions write to FPU registers and set the exponent field to
    all 1s as documented by Intel. (joncampbell123)
  - Undo CMPXCHG8B revision (joncampbell123)
  - Fixed FPU_Reg_80 size (cimarronm)
  - Added Nuked-CQM support to OPL emulation. (maron2000)
  - macOS: Build OSFREE nightly builds (maron2000)
  - D3D11: Fix Aspect ratio and Window size was not reflected when returning
    from fullscreen mode (maron2000)
  - Debugger: fix F11 (trace into next instruction) collision being swallowed 
    by Windows Terminal (AleWin32) 
  - Removed output option stubs that have been deprecated removed long ago. 
    (maron2000)
  - Don't signal video mem write for S3 MMIO (joncampbell123)
  - Revise mem handler (joncampbell123)
  - qcow2: Set logical (BIOS) CHS instead of physical (IDE) CHS when mounted
    with Drive numbers. (maron2000)
  - Debugger: fix F11 (trace into next instruction) collision being swallowed
    by Windows Terminal (AleWin32)
  - MSCDEX UpdateDrive subUnit param is never changed and does not need to be a 
    reference (joncampbell123)
  - IDE: Add boolean to mark whether CD-ROM emulation is drawing from MSCDEX.
    (joncampbell123)
  - IMGMOUNT::Unmount(): Add device spec parsing and cleanup drive letter/spec
    parsing in general. Device spec such as ":ide:1m" will allow mounting a CD-
    ROM image directly to IDE emulation without ever attaching it to a drive
    letter or MSCDEX emulation (joncampbell123)
  - FindCommand():
      Add remove parameter, so that it is possible in one step to read a cmd
      arg and remove it.
      Fix printf formatting for message.
      Add debug dump for CommandLine object.
  - Add CommandLine method to check if a command arg exists, IMGMOUNT should
    use that instead of calling FindCommand() just to get a string and then
    throw it away to check if it exists (joncampbell123)
  - Drive letter can be "*" for FAT driver, update (joncampbell123)
  - IMGMOUNT:
      Use tdr for drive letter/number, do not call FindCommand() again to re-
      read the drive letter/number
      Use new FindCommand/EraseCommand methods to simplify file parsing
      Use tdr and not temp_line for fstype auto and "*" drive (joncampbell123)
  - DOS_SetDefaultDrive() do not do anything if DOS kernel disabled 
    (joncampbell123)
  - MSCDEX: CDROM_AllocateInterface does not need to modify the path, and it
    never does, change path param to const char * which also allows the use of
    std::string().c_str() with it. Add device spec ISO mounting, though only
    the CD-ROM image loading and unloading at this time (joncampbell123)
  - IDE device spec mount, ISO only (joncampbell123)
  - IDE device spec CD-ROM swaplist with connection to Swap CD mapper shortcut
    (joncampbell123)
  - IDE ATAPI CDROM swaplist, if multiple CD images (joncampbell123)
  - IMGMOUNT -u with IDE device spec (joncampbell123)
  - IDE opt parse spec common function (joncampbell123)
  - Revise various dropdown menu (joncampbell123)
  - List all outputs, even ones not supported on the target platform, so that
    the reference config files can list them all. Add comment on what output
    code is expected to do for unsupported outputs (joncampbell123)
  - Make the "DOS kernel shutdown do not touch MCB" flag unnecessary by 
    allowing BOOT to provide the boot code as data to load later, after DOS
    kernel shutdown, and force CPU back into real mode after DOS kernel shutdown
    (joncampbell123)
  - CD-ROM image allocation should free existing pointer it is about to replace.
    (joncampbell123)
  - Show OSFREE in the title and help message to distinguish OSFREE builds.
    (maron2000)
  - List direct IDE mounts under the Drives menu (joncampbell123)
  - Fixed possible boot failure when booted from "Boot from disk image" menu.
    (maron2000)
  - Fixed dialog box didn't show when an ISO was mounted via dropdown menu.
    (maron2000)
  - Define IDE functions used elsewhere in the header file, cleanup
    (joncampbell123)
  - IDE: Move CD clearing into a method (joncampbell123)
  - IDE device mount --replace support (joncampbell123)
  - IDE menu unmount and swap commands. Update Eject handling to support :ide:
    device mounts (joncampbell123)
  - IDE: On attach or detach directly, update the IDE drive menu 
    (joncampbell123)
  - Fix IDEDrive menu item naming, add code to allow mounting an ISO image or
    images directly from the menu for IDE device mounts (joncampbell123)
  - printer.cpp: Fixed various printer emulation issues (maron2000)
     Fixed handling of variable_length command
     Fixed a typo in ESC S command
     Skip DBCS processing for bit graphic data
     Fixed advancing cell position of DBCS characters
  - BOOT: Store the SS:SP values in a var, have sdlmain.cpp set them when 
    booting the guest OS. For IBM PC booter games, set SS:SP = 0x30:0x100
    instead of 0x30:0x80. The smaller value cause Shamus to crash and was coded
    based on a misunderstanding of the IBM PC BIOS source code (joncampbell123)
  - COMMAND.COM emulation: After running an MS-DOS executable, set reg_al to
    the error code returned by the DOS program. This fixes Microsoft Flight
    Simulator 5.1 setup.com (joncampbell123)
  - COMMAND.COM emulation: Free memory on shutdown only if and only if 
    instructed by the shell start code that creates the initial shell, or the
    config shell. For any other case, trust that we were run as a DOS program
    and that INT 21h AH=4Ch will free the process memory normally.
    (joncampbell123)
  - Disabled formatting lockouts, which allows SubLogic Flight Simulator II to
    run (joncampbell123)
  - Disabled IBM PC geometry translation for PC-98 mode. PC-98 HDI images must
    not do geometry translation, it breaks things (joncampbell123)
  - INGMOUNT: If mounting a floppy to drive A or B, make sure the disk change
    signal is cleared so that INT 13h works as expected, same as DOSBox SVN,
    Staging, and any other fork others use (joncampbell123)
  - Fixed geometry detection of host folder converted drives (maron2000)
  - Added another heuristic to detect QCOW2 image geometry. (caiiiycuk)
  - FPU: Set exception flags in some FPU commands in double precision
  - Fixed a character encoding issue with 0xe0 on non-PC-98 systems. (misty7666)
  - SDL2: Remove deleted file (yuv_rgb.c). (maron2000)
    
2026.06.02
  - Feature: Add 'Send Alt+SysRq/PrtScr' menu item (AleWin32)
  - DOS file search bugfix: Prevent undefined stat_block usage on failed
    ht_stat() calls. Use a separate variable for special file attribute
    checks to avoid reusing stat_block when it contains garbage values.
    This fixes issues on latest Darwin kernels. (cimarronm)
  - Added function to config to load MS-DOS device drivers. The command is
    config -device <device driver path> -devparm <parameters>. For example,
    to load OAKCDROM.SYS into memory, you could type:

    config -device C:\DOS\OAKCDROM.SYS -devparm "/D:CD001"

    which is equivalent to the DEVICE line in CONFIG.SYS:

    DEVICE=C:\DOS\OAKCDROM.SYS /D:CD001

    The goal is that DOSBox-X would fully support, through INT 21h and
    other interfaces, real device drivers instead of hard coding specific
    driver emulation. INT 21h would use the actual device chain instead
    of a built-in list. Built-in device emulation could appear properly
    in the device chain instead of fake entries.

    There seems to be interest on the DOSBox-X discussion and issue trackers
    of getting DOSBox-X to provide or emulate the MS-DOS/Windows 95 IFS
    driver to get Windows 95 to boot from a disk image in the native DOSBox-X
    environment, perhaps this would help enable that.

    At this time (in development), only INIT is called. (joncampbell123)
  - External DOS device driver read/write: Optimize I/O by using larger
    read/write transfers (currently 16 based on how much memory is allocated
    for device driver I/O request and data). Until this change, the code
    used an extremely inefficient 1-byte read/write method to transfer
    to or from the device driver. (joncampbell123)
  - DOS execute bugfix: While ownership was properly listed in the MCB for
    the PSP segment, the environment block associated with the program was
    always listed in the MCB as belonging to the parent process. This has
    been addressed (joncampbell123)
  - Fix INT 21h AH=3Fh/40h READ/WRITE processing, when talking to an external
    MS-DOS device driver, so that the bytes actually processed by the driver
    are returned in AX to the DOS program, instead of giving the DOS program
    the impression that all were processed when they may not have been. (joncampbell123)
  - CD Audio: Fix track not advancing at end of playback (maron2000)
  - Fix geometry detection of qcow2 images (maron2000)
  - Fixed advanced scaler rendering artifacts when machine type is MDA,
    Hercules, CGA, EGA, Tandy, or PCjr, or when SVGA 15/16bpp SVGA modes
    are active. CGA/EGA with Advanced MAME 2x/3x and HQ2X scalers should
    render correctly now. (joncampbell123)
  - Added dosbox.conf [devices] section, which functions much like the
    DEVICE= lines in CONFIG.SYS to load MS-DOS device drivers at startup.
    Added support for RUN= lines to run commands like IMGMOUNT to help
    set up drive mounts and CD-ROM devices, or any other diagnostic
    purpose. While RUN= works just like the command shell, it is not
    intended to be a general command shell for running DOS games or
    applications that are unrelated to system startup. Added debugging
    options like ECHO which echo the command about to be run, and
    DEBUGBREAK which breaks into the debugger when starting the program
    or device driver. (joncampbell123)
  - Added code to device driver loading which will, where possible,
    attempt to load the device driver as low as possible and pack it into
    the DOS kernel below the start of the MCB chain to resemble how
    device drivers are loaded in MS-DOS. (joncampbell123)
  - Added debugger command "DOS DEVS" to list and enumerate the device
    drivers in the DOS kernel. Added code to BOOT --boothax msdos to
    track the location of the device driver list in the guest MS-DOS
    kernel so "DOS DEVS" can work there as well. (joncampbell123)
  - DOSBox-X shell will now free any memory it allocated and close files
    that were opened on shutdown. This is important so that the CONFIG
    shell (used for loading device drivers) does not leave behind
    any memory it allocated when transferring control to the main
    command shell. However, do NOT release memory and do NOT close files
    on shell shutdown if the reason for the shutdown is the BOOT command.
    By the time normal shutdown occurs, the BOOT command has already
    overwritten low memory (and the MCB chain) with the guest OS's boot
    code, therefore freeing shell memory in that cause would only cause
    a complaint about a corrupted MCB chain and emulator E_Exit() shutdown.
    (joncampbell123)
  - Fixed VHD, qcow2 image geometry calculation (maron2000)
  - Fix CONFIG vs DOS shell to ensure the welcome screen is printed first
    before anything else on the console during startup. This is to help
    keep any output from programs and device drivers on screen where
    the user can see it (joncampbell123)
  - Add basic support for MS-DOS block device drivers. If a block device
    driver succeeds, set up a disk image object and attach it to the
    FAT filesystem driver, and then a drive letter. At this time, this
    is enough for Microsoft RAMDRIVE.SYS to load and appear as a working
    drive letter in DOSBox-X (joncampbell123)
  - CD-ROM device emulation is no longer strictly tied to MSCDEX emulation.
    While devices are still initialized through MSCDEX emulation, it is now
    possible for other parts of emulation to own a reference to it without
    MSCDEX. This means it is now possible for CD-ROM emulation to work
    after booting a guest OS without reaching back through MSCDEX emulation,
    and MSCDEX emulation can now unload properly with the rest of the DOS
    kernel. (joncampbell123)
  - Fix bug where El Torito no emulation boot failed to notify the DOS
    kernel that the MCB chain is no longer valid, causing MCB chain corruption
    crashes. (joncampbell123)
  - Added checks to sector I/O code to fix potential buffer overrun issues.
    (orbisai0security)
  - Fixed logging of 'Packed file is corrupt' message detection (maron2000)
  - Fixed upper 32-bit of LBA was always cleared (maron2000)
  - Fix and revise MSCDEX and CD-ROM emulation to disentangle the two,
    so that MSCDEX no longer needs to remain in the background when BOOTed
    into a guest OS for IDE emulation to work. (joncampbell123)
  - CD-ROM emulation updated to use reference counting to improve sharing
    of the image between IDE, MSCDEX, and general CD-ROM emulation.
    IDE emulation can hold on to a reference instead of constantly asking
    MSCDEX for it. (joncampbell123)
  - Fix bug where mounting an invalid CUE file with no tracks caused DOSBox-X
    to crash. (joncampbell123)
  - MSCDEX and CD-ROM emulation: Cleanup and centralize creation of CD-ROM
    interface objects, including the creation of the fake "empty" special
    interface used to emulate an empty CD-ROM drive. (joncampbell123)
  - Revise MSCDEX emulation to separate the CD-ROM subunit and drive tracking
    from MSCDEX itself so that state can persist properly for a guest OS
    even when MSCDEX is shutdown during BOOT. (joncampbell123)
  - Add -replace option to IMGMOUNT to allow changing the ISO image assigned
    to a CD-ROM drive without changing or altering the drive letter already
    assigned. -replace is strictly limited to CD-ROM drives where the drive
    letter is already assigned to that drive letter. (joncampbell123)
  - Clean up the Drives menu for any drive letter assigned to a CD-ROM drive.
    Enable the "Mount a disk or CD image file" and "Mount multiple disk/CD images"
    even if the drive letter already has a CD-ROM drive attached, in which case
    the menu item just replaces it. Allow these menu items to work even when
    running a guest OS so that Windows 95 users can load any ISO image they
    want at any time, instead of having to pre-load all images they will need
    on a swap chain before BOOT. (joncampbell123)
  - Replace ISO mounting code from the menu item to call more directly into
    IMGMOUNT to avoid making a commad shell object which would probably interfere
    with the guest OS. (joncampbell123)
  - Enable the "Unmount drive" menu option under Drives for any drive attached
    to a CD-ROM drive while running a guest OS like Windows 95. When used in
    that scenario, it does not remove the drive letter, but instead acts like
    a command to eject the CD from the CD-ROM drive (swaps in the "empty"
    CD-ROM image). In the DOSBox-X environment "Unmount drive" will still
    unmount the drive and remove the drive letter as expected. (joncampbell123)
  - "Swap disk" menu item under "Drives" is now enabled even while running a
    guest OS like Windows 95, if the drive is associated with a CD-ROM drive.
    Using the command rotates through the CD-ROM drive swap chain only for
    that specific drive, instead of all drives as the Swap CD mapper shortcut
    would do. (joncampbell123)
  - IDE emulation: Skip the CD-ROM eject / unload / load delay if media change
    is swapping to the "empty" CD-ROM image object. (joncampbell123)
  - Program object (base class of built-in commands) will no longer attempt to
    do anything with PSP segments or command line strings in memory if invoked
    while DOS kernel is disabled (running a guest OS). (joncampbell123)
  - IDE ATAPI CD-ROM emulation: If the guest issues the START/STOP command
    to eject the CD-ROM drive, replace the CD-ROM image with the "empty" object
    to emulate a now-empty CD-ROM drive. (joncampbell123)
  - Enable "Swap disk" menu command for floppy drives even while running a
    guest OS, as long as a floppy drive was already mounted there. (joncampbell123)
  - BOOT: Fixed a regression of floppy image detection (maron2000)
  - Sound Blaster DSP command 0x10 (Direct DAC) and Disney Sound Source emulation
    will hold the last sample received from the guest application to avoid popping
    noises if games like In Extremis use those devices to play sound effects
    that have a DC bias way off center. (joncampbell123)
  - Added DC bias correction to the audio mixing code so that, if games like
    In Extremis finish a sound effect with the last held sample way off center,
    it doesn't cause all other audio to clip and distort, and it does not
    potentially cause all audio on the user's operating system (as modern OSes
    mix all audio across applications) to clip and distort, such as playing
    In Extremis while listening to a YouTube video. (joncampbell123)
  - Fixed bug in MMX instruction EMMS emulation that correctly marked all FPU
    registers as empty but also reset the FPU status and control words. This
    fixes the distorted 3D cube when running the Microsoft DirectX diagnostics
    program (dxdiag.exe) with software rendering. (joncampbell123)
  - FPU instructions now correctly throw exception 7 (Coprocessor not present)
    if the EM (emulation) and TS (task switch) bits in CR0 are set, as documented
    by Intel. Many OSes, including Microsoft Windows, require this fix in order
    to properly maintain FPU state while multitasking. Without this fix, the FPU
    state is never switched and all applications (and kernel drivers in Windows 98)
    end up corrupting each other's FPU state. This fixes glitching artifacts in
    "Attack of the Saucerman!" by Psygnosis when emulating a CPU type that supports
    MMX instructions. It also appears to fix the random 3D rendering errors
    (verticies spiking off into the distance at random) when running "The Sims" for
    Windows 95 by Maxis, although the game still seems to exit at random after
    a while and the opening FMV video locks up at some random point. As part of the
    same fix, MMX instructions will also trigger the exception given the same
    condition.
    This fix is only applicable to normal core (core=normal) (joncampbell123)
  - Option to disable TTF winperc limit (emendelson)
  - Fixed screenshot crash (and others) in protected-mode games with output=ttf
    (AleWin32)
  - Debugger: Add missing debugger commands in documentation (AleWin32)
  - Debugger: MEMFIND/MEMS fixes (most important: protected mode addressing)
    (AleWin32)
  - IMGMOUNT: Attach CD-ROM to IDE controller (maron2000)
  - Bump mt32emu to ver 2.8.0 (maron2000)
  - IMGMOUNT: Ensure not to attach a new drive to the IDE Controller when running
    a booted guest OS. (maron2000)
  - Fixed savestate load producing scrambled graphics (AleWin32)
  - Feature: Add detailed info when loading savestate mismatch (AleWin32)
  - Fixed wrong disassembly after LMSW in debugger (AleWin32)
  - output_ttf: Don't reset colors when already in TTF output mode (maron2000)
  - Replaced Nuked-OPL3 with Nuked-OPL3-fast (tgies)
  - Windows: Build OSFREE nightly builds (maron2000)

2026.05.02
  - DOSBox-X will now check both the current directory and the .config
    directory in your home directory for DOSBox-X logo PNG files.
    It is now possible to configure one set of PNG files as a default
    for all uses of DOSBox-X from your user account. (joncampbell123).
  - src/gui/render.cpp: Added missing ifdef conditional on C_METAL to enable
    building on macOS platforms without Metal support. (herrnst)
  - Fixed Metal support detection: add framework linker flags to configure
    check (maron2000)
  - Fixed window position not centered even when windowposition option is set
    to do so. (maron2000)
  - Fixed MSCDEX device name padding for short names (maron2000)
  - When DOS games use the Adlib FM chip to do "digitized speech", DOSBox-X
    does emulate that correctly, and it also correctly emulates how low
    the volume is on the sound card output. However to make it more
    audible, a new option "adlib pcm boost" has been added. If set,
    and the Adlib emulation detects that the guest application is
    playing PCM audio through it, the audio levels of the FM output
    will be amplified to make the digitized speech much more audible.
    (joncampbell123)
  - Fixed mapping of TTF to match with guest codepage when launched with
    output=ttf. (maron2000)
  - Limit window size of TTF output to 2/3rd of the screen in both
    dimensions so that the window is not TOO large on the user's screen.
    (joncampbell123)
  - Fix segfault in TTF output code caused by codepage mapping when the
    TTF output is not active. (joncampbell123)
  - Fixed clip_paste_bios option change was not reflected. Also, default is
    changed to "true" for Windows due to some characters fails to paste when
    set otherwise. (maron2000)
  - Replaced some deprecated functions in dosbox.h. (maron2000)
  - Fixed colors in the screenshot of macOS SDL1 build were wrong.(maron2000)
  - Fix savestate restore crash in POD_Load_DOS_Files during live file slot 
    teardown (catbalony)
  - Fixed mouse cursor display in DOS/V Japanese mode (nanshiki)
  - INT 13h AH=48h: Fixed LBA detection (maron2000)
  - Fixed read/write errors on last sectors of disk image (maron2000)
  - Int 13h: Added option to enable/disable 48-bit LBA support (maron2000)
  - Fix VHD file geometry detection (maron2000)
  - Fixed crash when printing out multipages to printer (Windows) (maron2000)
  - printer.cpp: Fix occasional missing page break after line wrap (maron2000)

2026.03.29
  - Add dosbox.conf option to control the duration of the beep when
    DOS CON and INT 10h are given the BEL character. (joncampbell123).
  - DOS CON device BEL (beep) handling: For IBM PC modes, call on
    INT 10h to make the beep, rather than duplicate code. Fix the
    DOS CON device so that it can also properly beep in PC-98 mode.
    (joncampbell123).
  - Fix bug where the "zero memory on DOS allocation" option was
    stuck on. Some games, like "Bad Cat" rely on memory contents
    peristing across DOS EXEC and memory allocation. (joncampbell123).
  - Fix Hercules palette selection related to herc blend. (joncampbell123).
  - DOS kernel: When executing an EXE file, the loader can now detect
    EXE files that were compressed using EXEPACK. Based on the new
    exepack dosbox.conf setting, it can decompress the EXE by itself,
    switch off the A20 gate, or do nothing. The purpose of this
    setting is to avoid EXEPACK "Packed File is Corrupt" errors that
    happen if the A20 gate is enabled and the EXE was loaded too low
    in memory. (joncampbell123).
  - Linux SDL1: Use XDG_SESSION_TYPE environment variable to detect
    whether or not the user is running DOSBox-X under X11 or Wayland,
    and if so, prevent the fbcon and svga drivers from initializing.
    There seems to be a problem where, if run under Wayland and the
    XWayland compatibility layer if not present, SDL1 uses the fbcon
    driver to take over the screen using vtcon switching and the classic
    fbdev driver interface. Don't do that! (joncampbell123).
  - INT 21h AH=4Ah resize memory: If memory resize fails because there
    is not enough room for the requested amount of memory, do not
    set ownership of the block to the program. This fixes memory
    allocation error in California Games II. The game at one point
    seems to miscalculate and ask for an excessively large amount
    of memory on resize, and then fail, which doesn't seem to affect
    the game. HOWEVER, prior to the bugfix, the memory block that
    was available was assigned ownership to the game anyway. Later
    on after helicopter takeoff, the game would attempt to allocate
    more memory, which would fail because of the erroneous assignment
    of ownership to free memory. (joncampbell123).
  - Add debug logging to not only indicate DOS kernel memory alloc,
    free, and resize, but also log when the memory operation fails.
    Perhaps someday I'll figure out what the memory management in
    California Games II is doing wrong that makes the helicopter part
    fail in DOSBox-X. (joncampbell123).
  - Code development now occurs across two primary branches: master
    for fully functional emulation, and main-osfree for versions of
    DOSBox-X where built-in MS-DOS OS emulation is disabled. The osfree
    branch can only boot a guest OS. main-osfree is for use in jurisdictions
    that enforce or wish to enforce OS level age verification, and
    therefore, may consider the MS-DOS emulation an OS that is subject
    to those laws. (joncampbell123).
  - El Torito CD-ROM floppy disk boot emulation is no longer as slow
    as an actual floppy drive. Your bootable CDs will boot much faster
    now. (joncampbell123).
  - DOSBox-X shell: If a DOS error happened while trying to execute a
    DOS program, read the error code and print an appropriate message
    on the console. So far only "Access Denied" has any specific error
    message there. (joncampbell123).
  - Skip all keyboard code page and layout loading if running in PC-98
    mode. PC-98 systems store the entire font in ROM with only very
    limited room for custom fonts, therefore, it makes no sense to load
    code pages in PC-98 mode. (joncampbell123).
  - Keyboard code page layout: Fix bug where an out of range start_pos
    can cause DOSBox-X to segfault. Range check and print an error
    message instead. (joncampbell123).
  - Keyboard code page layout: The UPX unpacker checks the stack pointer
    (like a COM program would) to determine if there is enough memory
    to decompress. If there is not, it executes INT 20h to exit to DOS.
    Problem is, the code page execution never makes a proper PSP segment
    for that to work, so, during execution, intercept INT 20h and safely
    redirect execution to exit properly when called. Set an error flag
    so the code can know if that happened and say so. (joncampbell123).
  - Keyboard code page layout: If executing the CPI/CPX file because UPX
    decompression is detected, allocate memory based on the size of the
    file plus reasonable stack space rather than assume about 128KB of
    RAM following a DOS allocation of less, which for lower memsizes,
    only causes a crash on startup. (joncampbell123).
  - Debug print to log what code page file is being loaded at startup (joncampbell123).
  - CPU Idle callback is now strictly limited to processing IRQs and one
    CPU instruction, instead of however many CPU instructions can run
    until the next scheduled emulator event. This fixes a bug where
    system calls that use the Idle callback (INT 21h, etc) can sometimes
    vary their delay time by emulator events, and if "scanline render on
    demand is enabled", can cause the Idle call to take a full 1ms interval
    of time. This fixes an issue where "scanline render on demand" caused
    some DOS games like Xargon to take 5 to 10 times longer to transition
    between title, main menu, gameplay, etc. (joncampbell123).
  - Debugger LOGL command now includes the PIC_FullIndex() emulator time
    in millseconds so that it can be used to determine time as well as
    CPU state for debugging (joncampbell123).
  - Add dosbox.conf option to control whether VBE emulation provides the
    protected mode interface or not (joncampbell123).
  - Add dosbox.conf option vbememsize and vbememsizekb to control how much
    video memory is reported through the VESA BIOS, which can be less than
    actual video memory (but must be at least 256KB). This option can help
    with some DOS programs that have problems with "too much" video memory
    in the system (joncampbell123).
  - Add INT 10h mode flag _REQUIRE_LFB. When set, INT 10h calls to set
    VESA BIOS modes will fail unless requesting to set the linear framebuffer
    version of the mode (joncampbell123).
  - S3 emulation will mark any more large enough to exceed bank switching
    limits in S3 hardware as _REQUIRE_LFB (joncampbell123).
  - I'm not sure why Adlib emulation defaults to 48KHz in most versions of
    DOSBox, but the hardware rate is 49716 and that should be the default
    (joncampbell123).
  - Fixed crash on starting debugger on MinGW builds (maron2000)
  - Adjusted the ChinaSea/Big5-2003 extended code point ranges for CP951 to
    0x9140–0xA3FE and 0xC6A1–0xFEFE (1abcd)
  - Replaced deprecated symbols to enable launching on old macOSs (maron2000)
  - Converted all bash-dependent shell files to POSIX-shell compliant
    (pandasoli)
  - Removed 7 duplicate Chinese character mappings from CP951 (Big5-UAO) (1abcd)
  - Added SoundBlaster microphone input support (Windows WASAPI)
    (meldro364-glitch)
  - Fixed segfault on launch of macOS builds (maron2000)
  - Added OS/2 support for tinyfiledialogs, browser and external programs and
    some more fixes. (josch1710)
  - Fixed savestate load "Memory size mismatch" error on MSVC build (rebb)
  - Fixed savestate loading crash related to dynamically allocated TempLine in
    VGA system (rebb)
  - Added Direct3D11 and Metal support (Experimental, SDL2 only) (maron2000) 
  - When leaving fullscreen, only force rebuilding the window for OpenGL mode.
    (rebb)
  - Clear modifier keys before savestate gets saved. (rebb)
  - Re-enabled WinMM joystick support (Windows SDL1) (maron2000)
  - Fixed colors option fails at launch on TTF mode (maron2000)
  - Optional switch to disable post exit delay in DX-CAPTURE (villesundell)
  - Fixed Emscripten builds for Dosbox x v2026.01.02 (grootpot)
  - Fixed long freeze during startup on linux (SmileTheory)
  - Fixed windowposition option at launch (maron2000)
  - Fixed detection of EXEPACK failures (maron2000)
  - Added OS/2 dimension handling to UpdateWindowDimensions (josch1710)
  - Fixed handling of volume label searches (Allofich)
  - Microphone input: Make Hands-Free profile (HFP) optional (maron2000)
  - macOS: Fixed build script typo that made loading freetype library fail
    (maron2000) 
  - Fixed FPU FILD emulation (asemarafa)
  - Removed range check in INT10_GetCursorPos causing text glitches (maron2000)
  - Added experimental VS2026 CI builds. Can be downloaded as 64-bit Visual
    Studio nightly builds. (maron2000)
  - macOS: Fixed garbled message when opening image file(s) from dropdown menu.
    (maron2000)
  - Fixed XCOPY argument parsing to correctly handle switches appended directly
    to file paths without whitespace. (maron2000)
  - Fixed some Yes/No character was remained hardcoded as Y/N for some languages
    specifiying other characters (e.g. German). (maron2000)
    
2026.01.02
  - VESA BIOS will remove 8-bit bank switching limit if the video memory
    is large enough to need more than 256 banks. Memory size will always
    be limited to no more than 64 banks (128 if smaller than 64KB
    granularity) only if S3 emulation is active. DOSBox Integrated Graphics
    machine type is exempt from bank switching limit, so, if you are running
    legacy code or Demoscene stuff against it that never clears the upper
    8 bits properly, it's not going to work unless you use smaller memsize
    settings. (joncampbell123).
  - Update BOOT command to support multiple disk images with swapping (maron2000).
  - Render scaler system has been modified so that render and frame caches
    are now dynamically allocated, instead of fixed buffers. Not only does
    this reduce memory wasted by over-large buffers, it also removes
    limitations on guest video mode resolution that previously capped the
    video mode to 1920x1440 or lower, and the advanced scalers (HQ2X,
    Advanced MAME, etc) to 800x600 or lower. (joncampbell123).
  - VGA output will now automatically disable doublescan mode whenever an
    advanced scaler, such as the "XBRZ" or the Advanced MAME scalers, are
    selected, so that the scalers can do their job properly on the low
    resolution graphics mode automatically. The user no longer has to
    manaully turn off doublescan mode for those scalers to work. (joncampbell123).
  - Added TV, Scanline, and RGB scaler variants appropriate for VGA
    200-line modes with doublescan enabled (renders to 400 lines). In fact
    supporting those scalers with 400-line VGA is arguably more visually
    accurate than applying them to 200 lines of graphics, because it
    better reflects the actual 400-line raster as it would be displayed
    on a VGA monitor. (joncampbell123).
  - Apparently at random, VGA render will call RENDER_DrawLine too much,
    causing buffer overruns at random, so, instead of directly assigning
    the scaler line handler, assign a function that checks the rendered
    line count and ensures that rendering stops at the correct line
    count. This should fix some random crashes or corruptions, especially
    on Linux with the OpenGL output which likes to allocate EXACTLY the
    amount of memory required for the frame. (joncampbell123).
  - A patch was submitted to DOSLIB DSXMENU to incorporate non-selectable
    informational lines of text. Incorporate the updated DSXMENU binaries
    into DOSBox-X (joncampbell123).
  - Wrote IPS patching tools IPSMAKE and IPSPATCH in DOSLIB, then incorporated
    them as builtin executables on drive Z: under Z:\PATCHING. You can
    now use IPS patch files to "ROM hack" your MS-DOS games. (joncampbell123)
  - Add map13/map14 CGA/HGC like interleaved rendering support for VGA
    256-color mode. There is a game engine in development that is willing to
    use such oddball modes. (joncampbell123)
  - Added SDL2_net to source tree (maron2000)
  - Fixed regression of FIFA96 CD label detection (maron2000)
  - Log OpenGL context version (rebb)
  - Force SDL window regeneration when exiting fullscreen (rebb)
  - Fixed file handle leak prevents save state file removal (srcdabada)


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).
  - Fix: Load GetDiskFreeSpaceExA at runtime to restore compatibility with
    Win95RTM (emxd)
  - Support for musl libc under Linux (repzilon)
  - Utilize SDL2's keyboard capture logic to inhibit window manager shortcuts
    (BenAckerley)
  - Fix OpenGL resize / crash issue related to SDL and the internal GUI (rebb)
  - Fix: missing floppy drive after harddisk boot (merubird)
  - Fix crash on launch in MinGW and UCRT 64-bit builds (maron2000)
  - Fix file open dialog encoding (maron2000)
  - Allow controlling K-CG via BIOS interrupt (OPNA2608)
  - Add debug feature memory find (Enmet)
  - Fix turbo to allow burst mode and toggle mode (jez9999)
  - Linters - fixup freedesktop metainfo and flatpak (rderooy)

2025.10.07
  - INT 21h AH=4Ah resize memory: Compact free blocks only at or after the
    segment being resized, as MS-DOS is documented to do (joncampbell123).
  - INT 21h AH=4Ah resize memory: Fix bug where, if asked to resize a previously
    freed memory block and the block is not the last block in the MCB chain,
    and the next block in the MCB chain is also free, the MCB management code
    would correctly compact free blocks but then allocate according to the
    old size of the freed MCB block, causing truncation of the MCB chain.
    Fix for MCB chain truncation caused by California Games II DOS memory
    management when running in Tandy graphics mode. (joncampbell123).
  - Add dosbox.conf option, disabled by default, where if the MCB memory
    chain is corrupted anywhere past the running program's memory block,
    and it does anything to cause allocation, a new free memory block is
    created to satisfy allocations instead of halting emulation. Some DOS
    programs are a bit sloppy in a way that can corrupt the MCB chain.
    When enabled, this behavior matches apparent MS-DOS behavior (joncampbell123).
  - Debugger: DOS MCBS command now also prints the segment immediately
    following the last MCB block (joncampbell123).
  - Tseng ET3000/ET4000: Update Status register 3DAh behavior when emulating
    Tseng chipsets to reflect Tseng datasheet, and VGAKIT SVGA detection code
    expectations. Bit 7 is expected, as documented by Tseng, to be the inverse
    of bit 3 (vertical retrace). Extended Start Register CRTC 33h must not
    allow setting the upper 4 bits because Tseng only documents the bottom
    four, and because VGAKIT requires it for Tseng detection (joncampbell123).
  - Fix bug that, for machine=hercules, prevented Hercules palette shortcut
    from changing colors when in graphics mode (joncampbell123).
  - Remove mixer and VGA capture test modes from integration device. Update
    integration device version number. Convert hardcoded magic constants used
    in IG into constants in iglib.h which is now shared explicitly with the
    iglib.h in DOSLIB. Add integration device interface to allow the guest
    to read and set the CPU cycle count of the emulator. (joncampbell123).
  - Fix INT 10h AH=0Eh bug where printing BEL triggered screen scroll up if
    cursor beyond the last line. Fix for the Elder Scrolls Arena installer.
    (joncampbell123).
  - FAT filesystem driver (for disk images): If Elder Scrolls Arena calls
    INT 21h to find files named *.65 (such as STATES.65) with an attribute mask
    of 0xA (VOLUME LABEL | HIDDEN), ignore the VOLUME LABEL bit and scan
    normally. The 0xA value is leftover from a divide operation used to make
    the file name and is technically a bug in the game, though that happens
    to work on real MS-DOS and the DOSBox/DOSBox-X local folder support code
    anyway. This fix allows Elder Scrolls Arena to run from a mounted disk
    image. (joncampbell123).
  - FAT filesystem driver (for disk images): If Elder Scrolls Arena calls
    INT 21h to find SAVEGAME.00 (yes, a specific name for some reason) with
    an attribute mask of 0x7C (which represents... um... what?), ignore the
    VOLUME LABEL bit so that players can load their saved games from the
    menu instead of being told that the saved game that is clearly there on
    the screen does not exist. What other weird random values of CX attribute
    mask does this game use? (joncampbell123).
  - PCI bus improvements : Allow device to see full size access (smunaut)
  - Fix build error of SDL1 version on ArchLinux (possibly gcc-15) (maron2000)
  - Enable building DOSBox-X on older macOS versions and add instructions
    (maron2000)
  - Add code page 951 in dialog box (1abcd)
  - Fix failure of create/opening a temporary file for piping (maron2000)
  - Create/open a temporary file to device_TMP for piping on Z: drive.
    (maron2000)
  - Convert message to UTF16 before calling messagebox function (Windows)
    (maron2000)
  - Added some new members to the MMX_reg union for big-endian platforms.
    (alarixnia)
  - Create directory if not exist before writing conf file. (maron2000)
  - Fixed language files were still locked after loading is completed.
    (maron2000)
  - Fixed freeze when codepage switched to 3846, 3848. (maron2000)
  - Fixed build error when internal debugger is disabled (maron2000)
  - Show loaded conf file in log in full path (maron2000)
  - Print syntax error if pipe has no command to pass output (maron2000)
  - Add permanent option for initial DOSBox-X shell (maron2000)
  - Fix errors when initializing fluidsynth (maron2000)
  - PC-98: Redraw the function keys after updating them (bobsayshilol)
  - Do not carriage return with a single LF('\n') (maron2000)
  - Fix mapper not rendering anything on SDL2/Windows (aybe)
  - Scale mapper according display resolution (aybe)
  - Added applicable changes from SVN. (Allofich)
    r4485: Enable writing to all planes when drawing pixels in EGA modes.
    r4487: Correct panning of VESA text modes.
    r4488: Correct comment about odd/even bit.
    r4490: Set MCB ownership when *blocks==total at end of DOS_ResizeMemory.
    r4492: Don't clear message queues of MPU-401 and compatibles on reset.
    r4493: Handle EOF character in batch files as actual end of file.
    r4494: Use 4-byte partial page mapping data.
  - Replaced deprecated functions to enable building with FFmpeg 8 (maron2000)
  - Fixed screen blanked when restoring minimized window in TTF mode (Windows
    SDL1) (maron2000) 
  - PC-98: Save Kanji CG access mode setting, restrict output accordingly
    (OPNA2608)
  - Added missing language options to Windows installers (maron2000)
  - Debugger: IV must not truncate addresses to 16-bit (cmsautter)
  - Debugger: Warn single-stepping may not work as expected with Dynamic core
    (maron2000)
  - MIDI: Show loaded Soundfont/ROM path only when required to. (maron2000)
  - SDL2: Updated SDL2 library to version 2.32.10 (maron2000) 
  - Apply aspect/scaling/clipping when using OpenGL shaders in windowed-mode
    (rebb)
  - Fixed file locking problem on Linux port (loops)
  - Fixed typo in Linux man page (-date-host-forced option) (maron2000)
  - Mention OPL in MIDI/OPL configuration dialog menu (maron2000)  

2025.05.03
  - Show TURBO status in title bar. (maron2000)
  - Fixed MinGW32 builds failed using gcc15, due to a conflict in __inline__ 
    macro. (lazka)
  - Revise EGA/VGA emulation to treat the CRTC CGA/Hercules
    CRTC bit remapping as bits to mask out, instead of defining
    the upper limit of the memory mask. This makes the CGA mode
    Engine page flipping test work. I initially had reservations
    about whether or not real hardware did this, but, it would
    make sense for hardware to do it that way. (joncampbell123)
  - Updated libpng to version 1.6.47 (maron2000)
  - Updated XCOPY to version 1.9a (maron2000)
  - Updated SDL2 library to version 2.32.4 (maron2000)
  - Fixed a build/install error due to using wildcards in Makefile.am, which is
    not supported in GNU Automake. (maron2000)
  - macOS: Install SDL2_net in CI workflow to enable internal modem support on
    Release and Nightly SDL2 builds. (maron2000)
  - Fixed buffer size to allocate missing byte for string terminator for 
    savestate filename to prevent buffer overflow (arifogel)
  - Fixed settings of yellow color in COLOR command (maron2000)
  - Fixed COLOR command to match behavior on Windows (maron2000)
  - Fixed INT21h AH=0a cursor position moved by bell due to keyboard buffer full
    (maron2000)
  - Fixed INT21h AH=01 echo behavior (maron2000)
  - Replaced SetPixel with DIB Section Direct Memory Access for faster printing
    (DwayneSelsig)
  - Fixed creation of overlay special files (zyebytevt)
  - PC-98 mode: Add INT 18h function AH=10h to control cursor blink.
    Emulate documented side effect in that this call also hides the
    cursor. The PC-98 port of Lemmings will no longer show a blinking
    black box in the lower left corner. (joncampbell123)
  - Fixed Host key (F11, F12) handling in Codepage 932 (Japanese Shift-JIS).
    (maron2000)
  - Bumped ESFMu to ver 1.2.6 (maron2000)
  - Fixed regression of adding a dot to CD labels when longer than 8 characters,
    required for games such as Descent 2 CD installer (maron2000)
  - Added Modeswitch toggle option (DieSkaarj)
  - Fixed glitch of DBCS character at the end of a line (maron2000)
  - Fixed dialog for showing error of loading language files (maron2000)
  - Removed two and 226 duplicate Chinese character mappings from code
    pages 950 and 951, respectively, ensuring more accurate Big5 and
    Big5-UAO character mappings for Chinese IME users. (1abcd)
  - Enabled changing drives mounted prior to switching to securemode (maron2000)
  - Enabled some messages to be translated in the translation files (maron2000)
  - Fixed fullscreen mode occasionally switched to windowed mode (maron2000)
  - Updated French translation (FredBezies)
  - Fixed blank screen when output=ttf on PC-98 mode (maron2000)
  - Fixed crash when switching from fullscreen to window mode in TTF output
    (maron2000)
  - Fixed mounting zip files with white space in their names failed (maron2000)
  - Fixed crash on reboot when output=ttf (maron2000)
  - Fixed blank BIOS screen when output=ttf (maron2000)
  - Fixed direct input of half-width kana (maron2000)
  - Fixed PC-98 INT 1Fh, AH=90h source and destination address (drachen6jp)
  - Fixed unnecessary trailing backslash in path name (maron2000)
  - Fixed SSE MOVSS, MOVHPS, UNPCKLPS, UNPCKHPS, and PSADBW as well as
    MMX PMULLW, PSUBUSB, and PSUBUSW, instruction implementations (fuel-pcbox)

2025.02.01
  - Added new experimental dosbox.conf option that turns off the
    A20 gate automatically if loading a COM/EXE file to a memory
    location below 64KB. Option is off by default. This is intended
    for the startup routines of programs that assume 8086 wraparound
    to prevent them from crashing (joncampbell123).
  - Bump tinyfiledialogs to v3.19.1 (maron2000)
  - Fix VGA render-on-demand bug that causes all screen updates to
    stop working if something changes video state without changing
    any other attribute (width, height, frame rate, etc.). In
    PC-98 mode this bug could be triggered by leaving the text
    layer open while switching off the graphics layer when the
    graphics layer is in 256-color PEGC mode. Fix for KOARMADA.EXE
    when exiting back to the DOS prompt. (joncampbell123).
  - In PC-98 mode, add I/O port 43Bh which guest applications can
    then read to determine whether the 15MB "memory hole" is open.
    The guest can use this bit to determine whether the PEGC 256-color
    framebuffer is available at that location, or whether that is
    just plain system memory. Added for homebrew PC-9821 project
    KOARMADA.EXE which uses that bit to determine how to talk to
    the framebuffer. (joncampbell123).
  - Fix keyboard ISR in PC-98 mode to assume there is data waiting
    from the keyboard I/O ports (then check the status for more).
    The reason is that CWSDPMI.EXE for PC-98 has a keyboard ISR
    of it's own that reads the scan code first (which clears the
    "data available" bit) before then passing control to the
    real-mode keyboard ISR. If our keyboard ISR first checks for
    status in that case it will never see any keyboard data and
    keyboard input will never register to the guest while running
    under CWSDPMI (joncampbell123).
  - Fix BIOS POST location (F000:FFF0) JMP instruction in PC-98 mode
    so that the segment value of the JMP instruction matches a
    specific value that the DJGPP C runtime checks for to detect
    PC-98. (joncampbell123). 
  - Stop serving IBM PC-specific CWSDPMI.EXE in NEC PC-98 mode.
    It happens to work unless any interrupt or exception happens.
    Instead, provide an alternate common version of CWSDPMI.EXE
    that was patched to support PC-98 machines when machine=pc98
    (joncampbell123).
  - Add support for ucrt64 builds (maron2000)
  - DOS CTRL+C handling: Remove NULL vector check because built-in
    COMMAND.COM long ago was fixed to provide a CTRL+C vector. Fix
    code to use a different value for the C++ exception so that it
    cannot be confused for any other common signal in the emulator
    (joncampbell123).
  - Remove DOSBox Integration Device VGA "self capture",
    which was never used much anyway, as part of cleanup (joncampbell123).
  - x86 paging: Remove unused non-"full TLB" code. (joncampbell123).
  - Use mmap() to allocate system memory if available. This is
    for future work that may involve something that requires
    page-aligned allocation, such as KVM support in Linux (joncampbell123).
  - VGA cleanup, organization (joncampbell123).
  - Fixed regression of specifying DBCS fontx file was ignored. (maron2000)
  - Fixed mistakes in adding double quotes to filenames to pass to IMGMOUNT
    command, and syntax errors in showing a message dialog box. (maron2000)
  - Fixed bug where bios memSize was not set when using TTF. (maitchison)
  - Fixed CMS was always disabled regardless of config settings. (xrip)
  - Switch off TTF mode in text modes not working in TTF mode. (maron2000)
  - Gravis Ultrasound: Add dosbox.conf option that when enabled,
    prints a warning to the log file every time the guest pokes
    data into GUS RAM beyond the 1MB supported by the card,
    in order to better identify errant Demoscene code and/or
    any bugs in new tracker code currently in development. (joncampbell123)
  - VGA: Fix buffer overrun that can occur with 4bpp planar
    16-color modes if the guest writes beyond the first 2MB
    of video RAM. The planar support code also copies the 3rd
    bitplane to a font RAM array used in EGA/VGA text mode.
    This font RAM array is only 512KB, therefore in planar
    memory space, writes beyond (2MB/4) = 512KB cause corruption
    of emulator state and possibly crashes. Solve the issue
    therefore by not copying to font RAM beyond 512KB. (joncampbell123)
  - VESA BIOS support: Fix VGA draw and bank switching code
    to ensure that the guest cannot write outside video RAM
    limits, and fix VBE bank switching code to consider 4bpp
    planar SVGA modes properly. (joncampbell123)
  - VESA BIOS support: Fix scan line and page calculations related
    to 4bpp planar 16-color SVGA modes. (joncampbell123)
  - VESA BIOS support: Fix 24bpp RGB bugs related to VBE calls
    that control scan line length and display panning/scrolling.
    Now VBETEST can test 24bpp panning without potentially giving
    the user an epileptic seizure, and there are no more overlong
    scanlines. (joncampbell123)
  - VESA BIOS support: Correct mode information for SVGA text modes (joncampbell123)
  - VESA BIOS support: Like real Pentium-era hardware, do not
    list 4bpp planar 16-color modes as having a linear framebuffer.
    Most SVGA cards only support planar VGA memory within the
    standard VGA A0000-BFFFFh region and do not support the same
    up in the linear framebuffer area. (joncampbell123)
  - Save state support: Let the option to control whether or not
    compression is applied, apply to the ZIP compression. If you
    turn off compression, the ZIP file uses "store" mode instead,
    otherwise compresses as normal. (joncampbell123)
  - It turns out that for whatever reason, the savestate code was
    compressing the state twice. Once by itself, and then again when
    writing to the ZIP archive. Furthermore, storing the original
    length at the end of the compressed data using size_t is a big
    problem. Remove the extra compression/decompression and let the
    ZIP file support do the compression. Save states from now on
    will be marked as "No compression" for at least some backwards
    compatibility. (joncampbell123)
  - Volume label cleanup and fixes. Do not pad labels with white spaces. (maron2000)
  - Some NEC PC-98 games that support MIDI through MPU-401 like to use
    Roland GS-specific SysEx messages to control master volume and
    reset the MIDI synth, instead of standard messages. These games
    were known in DOSBox-X to have problems with MIDI stuck notes and
    hanging notes for this reason. Added code to recognize Roland GS
    reset SysEx and reissue it as standard MIDI reset, to resolve that.
    Added code to Fluidsynth MIDI support to recognize the Roland GS
    master volume SysEx commands and apply it to the output, which
    allows these games to "fade out" the MIDI properly. PC-98 games
    should no longer have hanging/stuck MIDI notes (joncampbell123).
  - Fix VESA BIOS modelist mistake that marked all "high definition"
    modes as modes to round bytes per line up to a power of 2 (joncampbell123)
  - Fix memory size register determination for S3 Virge/VX (clbianco)
  - Fixed a Y2038 bug by replacing Int32x32To64 with regular multiplication.
    (CookiePLMonster)
  - Fixed pasting Bell code (0x07) from clipboard was ignored. (maron2000)
  - Fixed a segfault crash when pasting the content of clipboard is empty 
    or consists of invalid characters only. (maron2000)
  - Fixed crash when trying to access MOUNTed empty physical CD/Floppy
    drives. (maron2000)

2025.01.01
  - Fix bug that prevented the Configuration GUI from saving to dosbox.conf
    the last Windows 3.1 theme you applied using the dropdown menu.
    (joncampbell123).
  - Add option to apply vmemdelay to SVGA and linear framebuffer
    modes (such as VESA BIOS modes), which reduces emulator performance
    for those modes, but allows you to emulate slower SVGA cards.
    Due to how some machine types are emulated, this option also enables
    vmemdelay to affect the PC-98 linear framebuffer, Tandy & PCjr
    video modes, as well as MDA/Hercules. (joncampbell123).
  - Add workaround to CPU reset logic that allows it to work correctly
    even with dynamic core. Previously, if the guest reset the system,
    the emulator would crash with an error message about an uncaught
    C++ exception because C++ exception handling doesn't work with
    dynamically generated code. (joncampbell123).
  - Correct CPUID family/model/brand values for cputype=pentium_iii.
    Add CPUID level 2, which returns "processor configuration
    descriptors", and return documented Pentium III values. Apparently
    Windows XP really REALLY cares about these configuration
    descriptors and will hang in-kernel in an infinite loop at bootup
    without these apparently really important values. This change
    makes it possible to boot Windows XP with Pentium III emulation.
    (joncampbell123).
  - Allow values of memsize to represent 4GB or more of RAM. Up to
    1TB, if Pentium PSE extensions are enabled, the memalias setting
    is 40, and "enable pse=pse40" in the conf file. Memalias maximum
    is now 40, instead of 32. Add code to provide that memory above
    the 4GB address mark when PSE is in use by the guest OS. Added
    dosbox.conf option to specify a memory file. When specified, all
    guest memory is memory-mapped from a file on disk, rather than
    allocated from host memory or host swap file. To avoid consuming
    too much RAM on the host, a memory file is REQUIRED to emulate
    memory at or above 4GB. For best performance with the memory file,
    make sure the filesystem you place it on supports sparse files,
    including Linux ext4 and Windows NTFS. (joncampbell123).
  - Fix EGA machine type to determine whether CGA RGBI or EGA RrGgBb
    display is active by vsync polarity, instead of the length of
    htotal. Several online references state that vsync is negative
    for 350-line modes, including 350-line to an MDA monitor. This
    also allows the "enhanced" EGA 320x200 modes in Rambo III to display
    colors correctly. (joncampbell123).
  - Dynamic x86 core: Reflect STI instruction to normal core so that
    the 1-instruction delay is correctly emulated. This makes it
    possible to run Windows XP or Server 2003 with dynamic core and
    SYSENTER/SYSEXIT emulation without random BSODs (joncampbell123).
  - Fix default code page. Instead of assuming 437 at all times, use
    437 for all IBM PC compatible modes and 932 for PC-98 emulation.
    (joncampbell123).
  - Normal core: Fix STI emulation to enforce the 1-instruction delay
    by forcing the normal core to execute another instruction right
    away without providing any opportunity for interrupt processing.
    This does not break Peret Em Heru, Keen games, and it seems to fix
    the random BSOD issues with Windows XP and Windows Server 2003
    when emulating a Pentium II that supports SYSENTER/SYSEXIT. I'm
    not clear on why this fix prevents them from crashing, but there
    you go. (joncampbell123).
  - Keyboard emulation: Fix PCjr key delay to match IBM documentation
    stating how long it takes to transmit one scan code, which is
    obviously much slower than normal to accomodate the slow CPU and
    the optical nature of the transmission. This is needed in order
    for emulation to correctly send Fn+key combinations. At normal
    key delay, the guest will miss scan codes and function keys will
    not be reliable. (joncampbell123).
  - Keyboard emulation: The 83-keyboard scan codes work differently on
    the PCjr keyboard because half of them are only accessible by holding
    the Fn key. The keyboard only sends the base key scan code and the Fn
    key scan code and the BIOS is expected to convert that to the normal
    83-key scan codes expected by DOS software. The problem is some games
    like "Agent USA" for PCjr are written to directly handle scan codes
    through IRQ 1 (the fact that PCjr handles keyboard via NMI and reflects
    to INT 9 is ignored here). Fix this by sending scan codes that emulate
    holding Fn and pressing the appropriate key. Agent USA expects the
    user to press F1 by holding Fn and pressing "1". (joncampbell123).
  - Revise VGA doublescan mode, vs bit 7 of the Max scanline register, to
    correct how VGA doublescans 200-line modes. Revise EGA/VGA text code
    to divide line by 2 in rendering to match double scanned scanlines,
    so that the "graphical" text of "After the War" can render properly
    for machine=vgaonly. (joncampbell123).
  - INT 10: If machine=ega, check the EGA switches on INT 10h modeset.
    Some games force the EGA BIOS to use CGA 200-line text modes by
    modifying those bits and then setting the mode ("After the War").
    (joncampbell123).
  - INT 10: Fix "load font" functions to correctly recompute video
    display end for machine=vgaonly and machine=ega. (joncampbell123).
  - INT 10: Like any other 200-line 16-color graphics mode, 200-line
    VGA text mode needs to program the AC and VGA palette using the
    CGA RGBI-type palette, not the EGA 64-color type palette. (joncampbell123).
  - CPU: Disallow clearing PE bit from LMSW by default, always.
    You can still allow it through dosbox.conf. It turns out that
    x86 CPUs never allowed you to clear it that way, even from the
    Pentium up, even though Intel documentation beyond the 386 never
    mentions it again. This fixes problems with DOS extenders and
    VCPI, particularly DOS4GW which for some reason with VCPI likes
    to try to clear the PE bit when switching to VM86 even though
    it clearly understands it's not supposed to be able to clear it.
    (joncampbell123).
  - VCPI: It turns out the VCPI server GDT selectors are expected to
    be 32-bit, because the protected mode VCPI entry point is expected
    to be called as if 32-bit far pointer. Correct VCPI entry point
    to return using RETF, not IRETD, which solves crashing issues with
    DOS extenders. For the first time, DOS extenders are working with
    the DOSBox-X built-in implementation of VCPI and most DOS games
    run fine now with it. (joncampbell123).
  - VCPI: Add code to INT 2Fh handler regarding Windows startup/shutdown
    messages to fill in DS:SI. If EMM386 and VCPI emulation is active
    and running the DOS machine in virtual 8086 mode, give Windows the
    proper callback procedure to allow Windows to switch off VCPI vm86
    mode on startup and turn it back on during shutdown. (joncampbell123).
  - BIOS "POST" screen: Change BIOS logo to PNG format. To avoid having
    to render a PNG in roughly 10 different video modes, add code to
    VGA draw code to allow a BIOS logo "overlay" to be rendered
    independent of the video mode. Depending on machine type load one
    of four PNG files from disk or from inside DOSBox-X itself.
    PNG requirements: 224x224 or smaller, bit depth of 8bpp or less,
    color palette (not grayscale), no alpha channel, and must not be
    interlaced. For best compatibility, use less than 64 colors, or
    perhaps just 16 colors. Much like the Windows 95 LOGO.SYS, you can
    change the logo to your taste by placing specifically named PNG
    files in the same directory as your dosbox.conf or current working
    directory. Have fun. Note that this addition requires that you
    compile DOSBox-X with libpng enabled. (joncampbell123).
  - Added dosbox.conf option to specify BIOS logo file. (joncampbell123).
  - Added dosbox.conf option to specify a text message, up to 3 lines,
    at the bottom of the screen during BIOS POST screen. (joncampbell123).
  - Fix color glitches in EGA, Tandy, Hercules mode on macOS SDL2 build 
    (output=opengl)(maron2000)
  - Add int33 mickey threshold option (Fixes Ultima Underworld) (jpernst)
  - Fix configure.ac (disable-screenshot option) (maron2000) 
  - Fixed codepage switching when loading language file in Traditional
    Chinese (maron2000)
  - Fixed display of some Chinese characters (Traditional Chinese)(maron2000)
  - Fixed garbled text and menubar on reset (maron2000)
  - Fixed codepage switching when a language file was loaded (maron2000)
  - sdlmain: Fixed crashing if no config files are found. (skitt)

2024.12.04
  - Arrange memory device allocation so that it is possible to allocate
    up to about 3900MB of memory instead of 3500MB. (joncampbell123).
  - Fix S3 LFB PCI base alignment error if system memory pushes it
    to a higher address (joncampbell123).
  - Fix EGA 640x350 4-color mode (when EGA memory size is 64KB) to
    display correctly. Prior to this fix, 640x350 4-color only worked
    properly if the INT 10h Video Parameter Table was enabled. (joncampbell123).
  - Fix S3 VGA memory size reported through register CR36 to cap at 4MB
    and set the value correctly. This fixes a known issue where setting
    vmemsize to 8MB caused Windows 98 to report memory size as 2.5MB. (joncampbell123).
  - Fixed a problem when VZ Editor is resident in PC-98 mode. (nanshiki).
  - INT 10: SVGA mode 0x6A does not exist on plain VGA hardware. (joncampbell123).
  - INT 10: Fix mode 0x6A (800x600 4-color SVGA) to use a correct dot
    clock so that the refresh rate is >= 60Hz instead of 37Hz, and make
    sure mode 0x6A is a 100% clone of VESA BIOS MODE 0x102. (joncampbell123).
  - Fix MMX/SSE instruction decoding, correct some mistakes in MMX emulation. (joncampbell123).
  - IMGMAKE: Add -partofs option to allow control of where the partition
    begins in the image (joncampbell123).
  - IMGMAKE: Add -align option so that the FAT filesystem can be arranged
    for more optimal I/O on devices with larger sectors, such as modern
    4096-byte/sector drives. (joncampbell123).
  - IMGMAKE: Add -label option so that the generated FAT filesystem has the
    specified volume label. (joncampbell123).
  - MDA emulation: Fix non-blink attributes 0xF0 and 0xF8 to correctly render
    bright green background. (joncampbell123).
  - Fixed crash when a CD image was loaded to an "empty" drive (maron2000)
  - Log loaded .conf file (maron2000)
  - Supress redundant screen reports in log (maron2000)
  - Fixed mouse capture locking by middle button (maron2000) 
  - Fixed toggling the menu option "Autolock mouse" did nothing (maron2000)
  - Fixed build failure with libc++ 19 (DimitryAndric)
  - Fixed fullscreen mode not responding when launched in TTF mode 
    in Windows (maron2000)
  - Fixed crashes when changing floppies mounted by drive numbers on
    a booted guest OS (maron2000)
  - Fixed launching host programs with white spaces in path (Windows)
    (maron2000)
  - Convert paths from relative to absolute when launching host programs
    in a mounted drive (Windows) (maron2000) 
  - Added an option not to pause after host program execution is 
    completed (maron2000)
  - Fixed corrupted display when loading language files at launch
    (maron2000)
  - Fixed Z Drive path expansion to be case insensitive (maron2000)

2024.10.01
  - Allow the ".inst" extension for CUE sheets. (Allofich)
  - Add SET /FIRST, a DOSBox-X extension, that takes the specified
    variable if it exists and moves it to the front of the environment
    block. (joncampbell123).
  - SET command processing has been cleaned up and streamlined.
    Added /ERASE command line switch to clear the environment
    block (DOSBox-X extension). (joncampbell123).
  - VESA BIOS: Add new option to adjust reported linear framebuffer
    address by a specific number of pixels. This is needed by
    "Out of Control" by Contract which for whatever reason,
    will always draw to the LFB base minus 128 bytes. This option
    makes it possible to correct the demo graphics. (joncampbell123).
  - Gravis Ultrasound: Officially, registers 0x0-0xF, the voice
    control registers, are documented to have a 0x0-0xF write and
    0x80-0x8F read alias. Unofficially, according to the behavior
    of 1997 demo "Out of Control" by Contract, all GUS registers
    have a N and (N+0x80) alias, or at least register 0x4C, and
    you can read them back from either index. Or else the demo
    fails to detect the GUS. So add this alias, but only if
    enabled in dosbox.conf. Real hardware testing is required to
    know if the actual GUS behaves this way and which versions.
    (joncampbell123).
  - Move the INT 3 default vector to well within the initial 16
    bytes of the DOS kernel, away from the List of Lists and SFT.
    The previous placement caused certain versions of Windows 3.2
    (yes, the Chinese version) to crash on startup. (joncampbell123).
  - When using the running program to name screenshots and such,
    filter out all invalid characters so that Windows users can
    take snapshots even if junk characters are there (joncampbell123).
  - DOS FAT driver: If INT 13h reports disk change, adapt floppy
    disk geometry to new disk image according to media byte. This
    allows DS_BLISS to present it's 720K fake floppy even if the
    user initially mounted a 1.44MB floppy to drive A: (joncampbell123).
  - INT 10 mode list: Add "pitch" parameter. If nonzero, the value
    (in pixels) is how to program the pixels per scanline when
    setting the mode.
  - VESAMOED: Add -pitch option to control the pitch (pixels per
    scanline). The intent is to work around DOS games that assume
    nonstandard pixels per scanline by allowing the VESA BIOS mode
    to use a different one. For example, Line Wars II has an S3
    acceleration mode that uses 800x600, but for whatever reason,
    assumes the video mode is 1024 pixels per scanline, and will
    render garbled graphics if that is not the case. (joncampbell123).
  - S3 emulation: Follow S3 Trio64 documentation and mask the Linear
    Window Position bits according to the size of the memory. You
    can only place it on a multiple of the memory size. This silences
    warnings caused by Line Wars II which appears to modify only the
    upper byte but not the lower when modifying this register, which
    then leaves 0xA0 in the lower half. That lower half would be
    ignored for 1MB or larger video memory sizes. (joncampbell123).
  - S3 XGA emulation: Add XGA acceleration for 4bpp packed 16-color
    SVGA modes. A CAD package has S3 support drivers that use the
    16-color 4bpp packed modes and expects XGA acceleration to work.
    (joncampbell123).
  - Add "-o int13" option to IMGMOUNT to direct the FAT driver to do
    all disk I/O through INT 13h instead of directly. This is intended
    for certain demoscene productions that apparently like to make
    files appear out of thin air by intercepting INT 13h floppy disk
    I/O and then asking MS-DOS to run something from it. Hack for
    "DS_BLISS" demo. (joncampbell123).
  - Fixed crash when a language file is loaded on a Windows host with
    US keyboard (maron2000)
  - Added Added sharp-bilinear Direct3D shader (RibShark)
  - Pass output dimensions to Direct3D shaders (RibShark)
  - Fixed BPB of floppy images made by IMGMAKE command (maron2000)
  - Fixed timestamp of volume label changed by LABEL command (maron2000)
  - Fixed pathname issues when mounting differencial VHD images (maxpat78)
  - Corrected relative/absolute track offset in subchannel data for
    CD-ROM images (RibShark).
  - Fixed particular dead keys were not working to input characters
    with diacritics (maron2000).
  - Enabled "Edit and Continue" option for debug builds of Visual Studio
    Intel builds (aybe).
  - Updated libchdr to latest (treloret).
  - Fixed icon in Gnome dock bar (FredBezies).
  - add option "[dos] automount drive directories" for Windows builds,
    this will mount existing drive directories from C to Y drive (aybe).
  - fix off-center and off-screen window after entering the
    configuration tool while using TTF output mode (aybe).
  - add menu item for centering window "Video/Center window" (aybe).
  - Fixed update-version-number script to patch all *.iss files, not 
    just the specific one it did before, to ensure future releases have
    correct version numbers. (joncampbell123).
  - Updated Nuked-OPL3 code to nukeykt/Nuked-OPL3@cfedb09 (StevenSYS) 
  - Updated SDL2 library to 2.30.4 (maron2000)
  - Fixed TTF mode didn't change to graphic mode when machine = Hercules
    (maron2000)
  - Configuration tool: (aybe)
    - more Windows 3.1 look'n'feel (themes w/ host dark mode detection)
    - enhance main window layout, it is now visible in its entirety
    - fix layout issues, off by one in rectangle drawing functions
    - fix 'list iterators incompatible' when pressing the Tab key
    - properties/help: sorted alphabetically, mouse wheel scrollable
    - remove few rendundant labels, adjust names of some others
    - retain 'show advanced options' state throughout session
  - SVN r4483: Fix compilation in Visual Studio 2008 (Allofich)
  - DOSBox Staging: Decouple CMS and OPL emulations (Allofich)
  - Fixed reading NEC specific character font data.(nanshiki)

2024.07.01
  - Correct Hercules InColor memory emulation. Read and write planar
    behavior was incorrect due to a misunderstanding of available
    documentation. (joncampbell123).
  - Hercules/MDA and InColor integration broke the Hercules blend mode
    render, fix the render so that adjacent lit pixels are brighter
    again. (joncampbell123).
  - Fix "VRD" debugger command bug that didn't properly render out the
    rest of the VGA display frame. (joncampbell123).
  - Fixed debugger mapper shortcut bug where entering the debugger
    completes the 1 ms "tick" early, effectively jumping emulator time
    up to start of the next ms. This might explain the mysterious cases
    where a program always fails to work unless you are debugging it.
    (joncampbell123).
  - Added debugger command "VRT" which resumes running the guest until
    vertical retrace. Added for programmers who wish to write something
    to screen and then see it show up. (joncampbell123).
  - Fix IMGMOUNT, when mounting FAT disk images, to provide the DPB the
    actual media id byte instead of assuming 0xF8 or 0xF0. INT AH=1Ch
    should now report the proper media id byte for any floppy format,
    instead of always reporting 0xF0 (1.44MB floppy). (joncampbell123).
  - Allow BOOT to load and execute the boot sector of a guest OS even if
    memory size is too small (in IBM PC emulation, less than 32KB of RAM).
    MS-DOS 1.x of course will crash if you try that because of the
    assumptions made in the boot sector, but it's there if you are feeling
    adventurous or are in an experimental mood (joncampbell123).
  - If memsize is 4KB, place the COMMAND.COM PSP segment in the private
    UMB area instead of the normal MCB allocation chain (joncampbell123).
  - DOS kernel will always allocate kernel memory from private UMB area
    if memory size < 16KB, in order to continue to work (joncampbell123).
  - DOS kernel will allocate from segment 0x60 instead of 0x70 if the
    memory size is less than 64KB. (joncampbell123).
  - files= and fcbs= default value now automatically scales according to
    available conventional memory (640KB or lower) in order for memsize 64KB
    or lower to free up or memory and run properly. (joncampbell123).
  - dosbox.conf files= and fcbs= settings have been changed to allow
    "0" as a value to mean choose a reasonable default. (joncampbell123).
  - Fix bug where DOS kernel crashes on startup because of the initial
    stack pointer set by BIOS startup that points past available memory
    when memsize is 64KB or less. (joncampbell123).
  - If minimum mcb free is not set and memory size is less than 256KB,
    automatically set minimum mcb free to minimum mcb segment, in order
    to release more available memory within the limited space (joncampbell123).
  - Do not enable XMS emulation if system memory size is 1MB or less. (joncampbell123)
  - DOS drive cache: When listing a directory, defer the filename sort until
    the entire list is built. This improves directory listing performance
    in directories with many files. (joncampbell123).
  - INT 10h, if instructed, will now use the video parameter table to set
    standard VGA modes instead of internal logic. (joncampbell123).
  - Removed erroneous VGA display compensation code for certain EGA/VGA
    registers that really only caused incorrect display of the EGA 640x350
    4-color mode. (joncampbell123).
  - Corrected EGA and VGA video parameter tables by copying the parameters
    from actual IBM EGA VGA ROM BIOS images. They should be 100% correct
    now. (joncampbell123).
  - Corrected register values and video rendering of machine=EGA 640x350
    mode when emulating 64KB of RAM. This should fix rendering and display
    issues with EGA 640x350 4-color emulation. Also corrected INT 10h
    character printing functions to filter the color attribute value for
    640x350 4-color mode so the DOS prompt does not have alternating
    colors, in the same manner the real IBM EGA BIOS does. (joncampbell123).
  - Fix BIOS screen to use CGA 640x200 2-color mode if machine=ega with
    less than 128KB of video ram, or machine=ega200, instead of showing
    a garbled 640x350 display. (joncampbell123).
  - Fix memory buffer overrun with machine=ega that can occur with
    640x350 mode and less than 256KB of video RAM. (joncampbell123).
  - The DOSBox clipboard API (via INT 2Fh) is now disabled by default, because
    some programs use it's presence to detect whether they are running under
    Windows. This fixes a program where Norton Desktop 1.0 does not use it's
    "graphical" text UI elements because it thinks it's running within a
    Windows DOS box. (joncampbell123).
  - Remove unnecessary and useless Win32 fcntl() on some memory typecast
    to int which is causing a segfault whenever a ZIP file is mounted
    as a drive with an overlay filesystem atop it. (joncampbell123)
  - Update caption control feature to use equivalent APIs on Mac OS. (joncampbell123)
  - Add dosbox.conf and menu option to control whether the DOSBox-X window
    can be seen in screen captures in Windows 7/8/10/11. Windows 11 "Recall"
    is very concerning and users might not want their DOS gaming to be
    part of it's memory. (joncampbell123).
  - Correct EGA switch readback from port 3C2h to reflect a value of 0x8
    instead of 0x9 when machine=ega200 (joncampbell123).
  - Correct BIOS data area value that holds the "EGA switches" to reflect
    200-line EGA "emulation" when machine=ega200. Value 0x08 instead of 0x09
    (joncampbell123).
  - Correct mode parameters for CGA 640x200 2-color mode when using
    machine=ega200 so that it displays correctly. (joncampbell123)
  - DOS kernel: Remove fixed hacks for SFT and dynamically allocate the
    second SFT table for the last N - 5 file handles. Add code to zero
    SFT table memory to ensure that random data doesn't cause issues.
    Windows 3.1 is still perfectly fine with it, so the SFT table update
    and cleanup is complete. (joncampbell123).
  - DOS kernel: Move the magic "CON" strings into the first SFT and
    mimic the 5 default open file handles that every DOS process starts
    with: CON CON CON AUX PRN. Windows 3.1 is still happy with it, which
    is good. (joncampbell123).
  - DOS kernel: Put the CON driver somewhere else because allowing it
    to overlap the SFT is messy. Fix SFT generation to match the way that
    MS-DOS 5.0 does it where the first table is always 5 entries and the
    second table is always N - 5 entries. Cleanup the DOS memory allocation
    a bit. So far, Windows 3.1 doesn't have a problem with it. (joncampbell123).
  - DOS kernel: Interrupt handler IRET was accidentally placed within
    the SFT table, move it up to resolve the conflict. (joncampbell123).
  - Local DOS drive support: On Windows, if the guest is attempting to
    create a hidden file, make sure to call the right APIs to create a
    hidden file on the host. Not only is this needed to create a hidden
    file, but if the guest tries to create a hidden file and the file
    already exists as a hidden file, the file creation needs to succeed.
    Fix for "Facts of Life" by Witan because the demo creates a hidden
    WITAN.92 every time it is run (joncampbell123).
  - XMS: Add dosbox.conf option to XMS driver to switch on flat real mode
    when a) the XMS driver initializes and/or b) when the XMS driver is
    called on to move/copy memory. (joncampbell123).
  - INT 21h: If a DOS program frees a memory block, and then resizes the
    freed memory block, reassign ownership of that block to the program
    as if allocated. This is apparently canonical MS-DOS behavior. Added
    dosbox.conf option to control whether resizing a freed block silently
    assigns ownership (default setting) or whether it returns an error.
    DOS resize memory function for the most part DID assign ownership but
    not in the case where the size of the MCB was exactly the size requested
    to resize to. (joncampbell123).
  - Sound Blaster: Fix bug where "force autoinit" prevented Sound Blaster
    playback from working at all, fix for "Jump" by Public NMI (joncampbell123).
  - Debugger UI now shows PIC_FullIndex() and whether or not the CPU is
    in the HLT state. Single stepping does not do anything when the CPU is
    in the HLT state, so at least let the user know (joncampbell123).
  - Keyboard controller (IBM PC): Cancel the IRQ signal upon reading I/O
    port 60h. The reason for the IRQ, the pending data, was just read, so
    now there is no point in keeping the IRQ signal up. This fixes Escape
    key problems with "Cronologia" by Cascada that causes part 3 "Time"
    to immediately exit and continue to the credits. Part 1 and 2 are not
    affected by the pending IRQ because those parts mask IRQ 1 and poll
    the keyboard controller directly. (joncampbell123).
  - Fix complexity test code to determine when Odd/Even mode is enabled
    in all cases and to resolve a problem with garbled scrolling text
    in the "Vectorballs" part of "Unreal" (joncampbell123).
  - M_EGA display mode now applies CRTC BYTE/WORD/DWORD shift to display
    start address, same as M_VGA, to ensure correct display when demos
    and games set the CRTC to non-BYTE modes. This fixes page flipping
    flickering during the "Vectorballs" part of "Unreal" by Future Crew.
    (joncampbell123).
  - Update Configuration GUI to use radio buttons for selection, meaning the
    circular buttons that resemble those in Windows, not the check boxes.
    The GUI toolkit had them all along, the Configuration GUI was using
    check boxes for that for some reason. (joncampbell123).
  - Linux ALSA MIDI output: Any attempt to send RESET or other Fx commands
    to the ALSA library causes a segfault in the ALSA library. Revise the
    code to send without crashing. (joncampbell123).
  - Linux ALSA MIDI output: Add code to list and enumerate the MIDI sequencer
    devices available so the user can use it to determine what magic numbers
    to put into the midiconfig setting, especially if the user wants to send
    MIDI to an external synthesizer. (joncampbell123).
  - Suddenly Mac OS 14 and XCode consider the "id" and "int" datatypes
    different and assigning or returning one to the other is now a compiler
    error. Add typecast to enable compile on latest XCode. (joncampbell123)
  - INT 33 mouse emulation: Add dosbox.conf options to force a specific
    coordinate system for the DOS game with respect to host/guest mouse
    cursor integration (getting the DOS cursor to match the host cursor
    within the window). Add dosbox.conf option where additional adjustments
    are available. The maximum x/y and max-adjust options are ideal for
    Lemmings 2, which uses INT 33h in a way that confuses the automatic
    range detection code used to synchronize cursor position and therefore
    needs this option, and the first Lemmings as well. (joncampbell123).
  - PIT timer: Fix restart_counter(), the delay computation was completely
    backwards. This is particularly important where it concerns programs
    that use the PIT to detect the rate at which the Pentium time stamp
    (RDTSC) advances as the previous code caused wildly inaccurate measurements
    and bad timing (GRUB bootloader, the Microsoft CD-ROM boot "press a key
    to boot from CD" message). (joncampbell123).
  - IDE: Make sure to set feature/error register to 0x01 when the guest
    soft or hard resets the IDE devices through the controller. The Linux
    kernel uses a soft/hard reset on startup to detect PATA devices and
    if it does not see the correct value after reset, it will either ignore
    the device or complain about diagnostic failure and cautiously talk to
    the primary IDE hard drive while ignoring any ATAPI CD-ROM emulation.
    This allows the Linux kernel to boot and see the CD-ROM drive. (joncampbell123).
  - IDE: Do not clear registers unnecessarily when finishing IDENTIFY DEVICE.
  - The BOOT command now supports El Torito "no emulation" booting from a
    CD-ROM drive, which is needed to boot install CDs for Windows XP, Linux,
    etc. or Linux-based live CDs. Note that at this time, BOOT only supports
    "no emulation" and IMGMOUNT only supports "floppy emulation" (joncampbell123).
  - INT 13h extensions: If a read was interrupted by an error, update the
    block transfer count so the caller knows (joncampbell123).
  - DOS: Move version parsing farther up, so that the initial DOS version
    can affect memory layout and tables as needed. (joncampbell123)
  - DOS DPB and FAT driver: If the DOS version is 4.0 or higher, write a
    DOS 4.0+ compatible DPB structure (as DOSBox-X already has been doing
    since forking from DOSBox). If the DOS version is lower than 4.0,
    write an MS-DOS 3.30 compatible DPB structure. This allows Popful Mail
    to run without getting into an infinite loop scanning the DPB linked list
    when [dos] section ver=3 30 (MS-DOS 3.30), aside from the fact that the
    game will also run without this change if you set ver=4 0 since the game
    appears to be aware of the change in structure between MS-DOS 3.30 and
    MS-DOS 4.0, though for whatever reason the game refuses to run on
    MS-DOS 5.0 or higher. (joncampbell123).
  - IDE: Silently ignore SET FEATURES command 0x03. Any negative response
    to feature 0x03 causes the Linux kernel to reject the IDE device.
    (joncampbell123)
  - Add support for PIT timer 0 mode 4. Linux kernel 6.1.29 compiled in
    "tickless" mode uses mode 4 instead of mode 0 as a delay timeout. Prior
    to this fix, the Linux kernel would switch into tickless mode and then
    nothing would happen because IRQ 0 would never fire again. See also Linux
    kernel source code, drivers/clocksource/i8253.c function pit_set_oneshot()
    to see what I mean. (joncampbell123)
  - Windows 95 S3 driver behavior suggests that S3 16-color VESA modes
    0x202 to 0x208 are NOT planar modes, but packed modes. Change modes to
    M_PACKED4 and update modelist building to allow that range even if the
    dosbox.conf is configured not to list 4bpp packed VESA modes. This fixes
    Windows 95 S3 driver 16-color modes 800x600, 1024x768, 1280x1024.
    Noted: Windows 95 is the last version of Windows to support 4bpp packed.
           Windows 98 and higher refuses to support it and the Display settings
           will not allow you to select any 16-color mode other than the stock
           VGA 640x480 16-color planar mode. (joncampbell123)
  - Add --load-seg option to BOOT in case any PC-98 game boot floppy expects
    to be loaded somewhere other than the default. PC-98 game "Private School
    Adventure" will crash if loaded to segment 0x1FC0 but runs fine if booted
    with --load-seg 0x0FC0 instead. (joncampbell123)
  - Add dosbox.conf option to direct the EMS page frame segment, in a limited
    fashion, though only effective for PC-98 mode. PC-98 segment is still
    0xD000 by default, but apparently there are games that require the EMS
    page frame to exist at 0xC000. For these games, you can now set under the
    [dos] section "ems frame=C000". (joncampbell123)
  - Restored libslirp support for 32-bit MinGW CI builds which was temporarily
    dropped in 2024.03.01 release. Also since MinGW plans to gradually phase
    out 32-bit support, added code to manually build on our own. (maron2000)
  - Fixed build errors of Windows installers. Windows Vista support for standard
    installer is dropped to fix this issue. Vista users can either use the XP
    installer or portable builds instead. (maron2000) 
  - Fixed compile error of speexdsp/fftwrap.c on gcc-14 (maron2000)
  - PC-98: Fixed US keyboard support for tilde (Shift+grave) key (maron2000)
  - Fixed DOSBox-X freezed when codepages regarding EGA18.CPX were set (maron2000)
  - Fixed CUE sheets of GOG games were rejected. Still requires "-t iso" or 
    "-t cdrom" option for uncommon file extensions except ".CUE". (maron2000)
  - Added loongarch64 support (donmor)
  - Disable FP exceptions in a portable way (xry111, donmor)
  - Added "*.ccd" in file open dialog (maron2000)
  - Added CI builds for ARM mac (maron2000)
  - Bump tinyfiledialogs to ver 3.17.4 (maron2000)
  - Obtain geometry info of non-standard sized floppy from BPB (maron2000)
  - PC-98: Implemented int 18h ah=47h,48h,49h (nanshiki)
  - Added breakpoint type "Freeze memory" (Enmet)
  - Implemented seeking in MSCDEX
    (Imported from dosbox-staging/dosbox-staging#3516 authored by weirddan455)
  - Fixed built-in COPY command failed to obtain free space when reported DOS 
    version is set to 7.1 (maron2000)
  - Fixed some file extensions in the filter list were ignored in the file open
    dialogs (maron2000)
  - Fixed mounting a non-FAT VHD image (maxpat78)
  - Fixed VHD geometry detection (maxpat78)
  - Fixed issue that IMGSWAP command did not work for CD drives. (maron2000)
  - Fixed loaded language file unexpectedly changes on launch. (maron2000)
  - Fixed reported size issues in builtin DIR command (maxpat78)
  - Added missing language file in Windows standard & XP installers. (maron2000)
  - Fixed a bug in IME character display on macOS Sonoma (nanshiki)
  - Fixed build errors of SDL1 code when built with gcc-14 (maron2000)
  - Fixed static link errors of libslirp >= 4.8.0 (maron2000)
  - PC-98: Added MEM command for PC-98 mode (maron2000)

2024.03.01
  - If an empty CD-ROM drive is attached to IDE emulation, return "Medium Not
    Present" instead of a read error, when asked to read. (joncampbell123).
  - Add "empty drive" CD-ROM image type "IMGMOUNT e: empty -t iso" as a way
    to emulate an empty CD-ROM drive with no disc in the drive. (joncampbell123).
  - Add "empty drive" floppy image type "IMGMOUNT 0 empty -t floppy -fs none"
    as a way to emulate a floppy drive with no disk in the drive. (joncampbell123).
  - Video debug overlay: Fix mouse integration misalignment when the video
    debug overlay is enabled while Windows is running (joncampbell123).
  - Video debug overlay: Fix segfault when enabled with 15/16bpp SVGA modes.
    (joncampbell123).
  - Video debug overlay: Fix bug where video debug failed to appear in SVGA
    15/16/24/32bpp display modes because of a design where the VGA drawing
    code points directly at video RAM except when drawing the hardware cursor.
    One symptom was that the video debug info on the side failed to appear at
    all, unless running in Windows and only within the vertical range of the
    mouse cursor. (joncampbell123).
  - Video debug overlay: Do not bother showing the Attribute Controller palette
    in 15/16/24/32bpp SVGA modes because it doesn't matter there and is not
    involved with how anything is displayed. (joncampbell123).
  - Video debug overlay: Fix debug info text to appear for 15/16/24/32bpp SVGA
    modes. (joncampbell123).
  - BOOT --bios no longer triggers a system reset VM event, but instead just
    jumps to the new BIOS image after DOS kernel shutdown. This is needed for
    hardware and resources to stay as they were when running the BIOS i.e.
    keeping any IDE devices configured within the DOS kernel intact so that the
    BIOS can find and use them. Prior to this change, all hardware was fully
    reset and unmapped prior to running the BIOS which made IDE emulation
    unusable with BIOS images. (joncampbell123).
  - BOOT --bios no longer immediately loads the new BIOS into memory, but instead
    loads and stores the image to a temporary buffer. The ROM image does not
    actually get mapped in until the DOS kernel and everything else has had a
    chance to shut down fully. (joncampbell123).
  - Fix BOOT --bios not to try to load PC-98 ITF firmware unless actually running
    in PC-98 mode (joncampbell123).
  - Write PC-98 keyboard translation table (non-shifted) in ROM BIOS and set the
    keyboard translation table pointer in the BIOS data area for "Nut Berry".
    This Nut Berry game also assumes lookup and translation tables exist at
    specific locations in the ROM BIOS, so put those tables there. The shift
    state table in BIOS has also been added, though at the moment, the tables
    are incomplete. (joncampbell123).
  - MegaZeux from the MS-DOS days had a 256-color tweakmode that worked on some
    popular SVGA chipsets of its time though on others it does nothing but halve
    the display resolution of text mode. The basic idea is that it makes the VGA
    card latch two 4-bit outputs of the VGA text mode into one 8-bit value, thus,
    256 colors possible. Add support for this. However I am not sure whether this
    tweakmode is supported by S3 chipsets, so it is OFF by default and you will
    need to add "enable supermegazeux tweakmode=true" to the [video] section of
    your dosbox.conf to enable it. (joncampbell123).
  - Undo the "no partition offset" change. DOOM II for PC-9821 requires it to work
    else the page flipping fails and sprites and rendering flickers as you play.
    (joncampbell123).
  - Allow text layer to appear in PC-98 256-color mode. Even though I was unable
    to enable it on real hardware, "Shamat, The Holy Circlet" requires having
    the text layer visible on top of 640x400 256-color mode for the introductory
    scrolling text to appear on screen. So for now, just allow it. (joncampbell123).
  - The reason some PC-9821 games have been giving bad PITCH values (double the
    correct value) to the GDC in 256-color mode has been determined. They read
    port 9A0h to determine if the GDC is running at 5MHz or not. That port 9A0h
    index was not implemented and therefore gave the game the impression it was
    running at 5MHz when it was not, therefore the doubled PITCH value. This fix
    corrects the squeezed 256-color mode and allows it to appear properly.
    (joncampbell123).
  - IMGMOUNT: If the file extension is HDI, assume a hard disk image even if the
    image file is small enough to qualify as a floppy disk image. There is an
    HDI image of PC-98 game "D.O. Doki Doki Disk 8" that is 2.2MB, small enough
    to be mistaken as a 2.88MB IBM PC floppy disk and therefore fail to mount
    as an HDI image, this change fixes it. (joncampbell123, maron2000).
  - Emulate PEGC PC-98 linear framebuffer at both 0xF00000-0xF7FFFF (at 15MB
    memory mark) but also make it appear at top of memory below BIOS (normally
    at 0xFFF00000-0xFFF7FFFF). Some 32-bit PC-9821 CD-ROM MS-DOS games assume
    the top of memory alias and will fail to show anything on screen without
    it (unless, alternatively, the memalias setting is set to emulate 24 address
    lines like a 386SX). Now to figure out why these same games are programming
    a GDC PITCH value that's double what it should be... (joncampbell123).
  - PC-98 GDC scan offset no longer pays attention to scan offset of data
    partition in 256-color mode. Required to help fix broken 256-color graphics
    for some PC-98 CD-ROM games. (joncampbell123).
  - Refuse to enable ISA 15MB-16MB memory hole if memalias is set to 24 bits or
    less. Not only is it redundant to do that but it also causes the BIOS to
    immediately crash on startup. (joncampbell123).
  - IDE ATAPI CD-ROM emulation: In PC-98 mode when emulating a NEC CD-ROM drive,
    also limit sector reads to one CD-ROM sector per DRQ because the MS-DOS driver
    assumes that behavior. The driver will stall and error out if it requests a
    multi-sector read and the drive does NOT limit transfers to one sector at a
    time per IDE data transfer. This is in line with my experience writing the
    DOSLIB IDE testing program and laptops from the 1990s with IDE ATAPI CD-ROM
    drives, so it's understandable. (joncampbell123).
  - The reason the CD-ROM driver in PC-98 game HDI images refused to talk to our
    IDE CD-ROM emulation is... (drumroll) we didn't report ourself as an NEC
    CD-ROM drive when given the MMC INQUIRY command. Yes, really. The OAK CD-ROM
    driver in these HDI images really does care whether or the drive is an NEC
    brand drive. What a stupid reason not to talk to a CD-ROM drive. Add code to
    default to "NEC" "CD-ROM DRIVE" as the INQUIRY result if running in PC-98 mode.
    (joncampbell123).
  - Add basic rudimentary support for CloneCD (*.ccd *.img) images. It might not
    work with more complex arrangements but it is enough for most CD-ROM PC-98
    games so far. (joncampbell123).
  - libpng supports the pHYs PNG chunk which describes the pixel aspect ratio of
    the PNG image. libpng 1.6 has it, use it. Programs that support the information
    like FFMPEG will then display the PNG image with the correct aspect ratio.
    (joncampbell123). [https://github.com/joncampbell123/dosbox-x/issues/4754]
  - PC-98 mode: There is a 302KHz timer behind I/O ports 5Ch/5Eh that some MS-DOS
    drivers depend on for timing, particularly a popular IDE CD-ROM device driver
    in many PC-98 game HDI images. This change allows the driver to time out after
    about 5-10 seconds instead of an infinite hang. (joncampbell123)
  - Fix INT 10h to keep hardware CRTC I/O port synchronized with BIOS DATA area
    copy so that other parts of INT 10h called by SetVideoMode do not accidentally
    talk to the wrong I/O ports. This fixes corrupted INT 10 Mode F display
    (640x350 monochrome graphics mode). (joncampbell123).
  - Add DOS Int21 0x5D 0x00 - remote server call
    Inspired by FeeDOS inthndlr.c
    With this change it is possible use a plain dosbox-x to install and run
    Windows for Workgroups V3.11 as an IPX server on the pcap ne2000 interface
    offering a host directory for read and persistent write access to an
    MSDOS machine running a WfW 3.11 IPX network client.
    Please don't forget mounting with -nocachedir
    (Issue #4162)(Yogi-baer)
  - Fix missing keystroke SDLK_LESS on DE keyboard on Raspbian OS (Yogi-baer)
  - Fix crash when loading a language file without existing menu item "ttf_extcharset" (Yogi-baer)
  - Change ISA memory hole 512kb option from boolean to true/false/auto. (joncampbell123)
  - Add ISA memory hole 15mb option, make it true/false/auto.
    Auto means off for IBM compatible mode and on for PC-9821 compatible mode.
    This should allow some DOS games that depend on the linear framebuffer
    to work properly even if memsize=16 or higher. (joncampbell123)
  - MIDI: set minimum sysex delay when enabled (mistydemeo)
  - International support in LABEL, COPY, DEL builtin commands (maxpat)
  - Fix palette setting bugs due to SETCOLOR fix in 2023.10.06 release. (maron2000)
      Graphical glitches in Ultima VI(#4507), Chessmaster 3000(#4510), Wizardry VII(#4534) 
      Crash Sid Meyer's Civilization I (#4511)     
      TTF color settings regarding 'colors' option (#4579, #3318) and some more
  - Fix crash when mounting floppy/ISO images with no extension (maron2000)
  - Fix Intel macOS CI builds crashed on startup due to missing dylibs
    (Issue #4438)(maron2000) 
  - Fix TTF mode didn't switch to graphics mode on certain types of machines
    such as tandy/pcjr.(Issue #4559)(maron2000)
  - Fix crash on switching to fullscreen when output=opengl (Intel macOS) (maron2000)
  - Update DXCapture shell command to support /O for OPL capture (AranVink)
  - Fix floppy images lock bug (maxpat78)
  - Fix type of return value at bool MountFat() (jg1uaa)
  - Fix VHD geometry bugs by performing MBR analysis (maxpat78)
  - Change maximum number of joystick buttons allowed by the mapper (mattcaron)
  - Enable Win9x support on a Pentium3 PC (crazii)
  - Add PC98 image extensions in file open dialogs (maron2000)
  - Fix input in configuration tool (SDL2) (maron2000)
  - Reduce warnings by replacing sOffset (use offsetof) (jg1uaa)
  - Fix LFN functions (nanshiki, SmileTheory)
     Fixed a bug in which 2 extra bytes were copied to the buffer (ax=714eh,714fh).
     Fixed wrong value of date/time etc. in file information (ax=714eh,714fh,71a6h).
     Fixed date/time conversion to be correct (ax=71a7h)
     Report correct file size on win32 when file is open (ax=71a6h).
  - Fix C++11 uncompliant codes (midi_alsa.h, gamelink.cpp) (maron2000)
  - Consider function key display in MORE command (PC-98) (maron2000)
  - Add support for J-3100 video mode 75h (nanshiki)
  - Reflect drawing status bit of GDC status I/O port (PC-98) (nanshiki)
  - Re-enable top line dimming when focus is lost in fullscreen (TTF mode) (maron2000)
  - Fix PC98 mouse counter value range to unsigned value (0-255) (nanshiki)
  - Added function for int DCh cl=10h ah=0Ah to 0Eh (nanshiki)
  - Added escape sequences (ESC[0J ESC[1J ESC[0K ESC[1K ESC[2K ESC[nL) (nanshiki)
  - Fixed behavior of Kanji character output at the right edge of screen (nanshiki)
  - Fixed Media ID was being written to an incorrect location in DPB (nanshiki)
  - Refined version info (maron2000)
  - Added PC-98 NEC mouse functions in INT33h (nanshiki)
  - Bump Nuked-OPL3 code to commit 730f8c2 (13 Nov. 2023) (maron2000)
  - Enabled OPL pass-through code (oplmode=hardware)(dbjh)
  - Fixed crash on startup due to SDLnet library linked externally (macOS) (maron2000)
  - Changed PC-98 floppy boot behavior when Drive 2 is mounted before Drive 1(maron2000)
  - Added Human68k ver.1.0&2.0 floppy disk support (maron2000)
  - Fixed attribute copy behavior of FreeDOS XCOPY.exe to match genuine DOS (maron2000)
  - Added Russian translation (Lartenik)
  - Fixed COPY/XCOPY command fails to recognize 2GB+ free disk space (maron2000)
  - Enable FONTX2 files in PC-98 mode (nanshiki)
  - Fix codepage switching when loading lang files (maron2000)
  - Add missing quotation marks in vcxproj (bredbored)
  - Fixed BPB detection of PC-98 floppies (maron2000)
  - Changed sequence to boot with drive numbers when booting from image (maron2000) 
  - Added force JIS (JP106) keyboard layout option in PC-98 mode (maron2000)
  - PC-98: Enable mounting partitions with non-genuine IPL entry names (maron2000)
  - Added support for XDF disk format (maron2000)
  - Added ESFM emulation (ESFMu v1.2 core) (Kagamiin)
  - Added support for ESS "ESFM" sound synthesis (oplemu=esfmu, oplmode=esfm) (Kagamiin)
  - Added experimental/WIP support for the ESS ES1688 sblaster type (sbtype=ess1688) (Kagamiin)
  - Delete obsolete information regarding "INTRO SPECIAL" option (maron2000)
   
2023.10.06
  - Add "VRD" debugger command to force redraw of the VGA screen. (joncampbell123)
  - Add VGA debug set commands to force a video start address and another
    to clear all debug settings. (joncampbell123)
  - Add "PITSYNC" option to VFRCRATE command. "VFRCRATE PITSYNC ON"
    directs the system timer interrupt to synchronize tick rate with
    vertical refresh rate of VGA emulation if the game or demo set
    the timer tick rate to a value close enough to vertical refresh.
    This is intended for games or demos that use the system timer for
    a vsync interrupt. (joncampbell123)
  - IMGMAKE: Fix bug where if -bat was specified, the generated .bat
    file would attempt to mount the .bat file, not the disk image. (joncampbell123)
  - IMGMAKE: If -nofs and -bat was specified, the generated .bat file
    will refer to "IMGMAKE 2" instead of "IMGMAKE C" (joncampbell123)
  - DOS FAT driver: When the guest sends in a new BIOS Parameter Block,
    recalculate the disk locations and FAT type properly instead of
    assuming that FORMAT.COM is using the same format already present. (joncampbell123)
  - DOS FAT driver: If the partition is unformatted and looks as if
    freshly written by FDISK, then instead of failing to mount, mount
    the partition instead as an unformatted partition and fail file
    I/O until a BPB is set and the partition formatted by FORMAT.COM.
    This matches MS-DOS behavior and it makes it possible to mount an
    image, FDISK it, restart, FORMAT.COM the unformatted partition,
    and end up with a working drive letter (just like MS-DOS). So far
    verified against MS-DOS 6.22 and Windows 98 versions of FDISK,
    FORMAT, SYS, and SCANDISK. (joncampbell123)
  - DOS FAT driver: Add options -o sectoff and -o sectlen to make it
    possible to manually specify the start and length of a partition.
    Future code will use this internally as well. (joncampbell123)
  - IMGMOUNT: Allow *: as a drive letter to mean automatically pick a
    drive letter. (joncampbell123)
  - Fix debugger to use toupper(), but only for ASCII range ncurses
    keycodes. (joncampbell123)
  - Timer PIT: If the guest writes the counter value while the counter
    gate is off, make sure the counter read back is the same value
    written regardless of gate status. Prior code returned the stale
    latched value of the counter as it was prior to shutting off the
    gate and writing the counter, causing timing issues. (joncampbell123)
  - Fix restoring minimized window on TTF output (Issue #4248) (maron2000)
  - Fix macos crash on launch when output=surface or auto (SDL2) (maron2000)
  - Update in-tree SDL2 library to ver 2.28.2 (maron2000)
  - Updated build tool for MinGW lowend builds required for the updated SDL2
    library. As a result, MinGW lowend builds are now able to enable debugger
    features. (maron2000)
  - Debugger RUN and RUNWATCH commands were broken, fix. Make sure debugger
    shortcut triggers execution to stop whether in RUN or RUNWATCH mode.
  - Fix SETCOLORS command didn't change color when output=ttf.(Issue #4503)
    Also fixed the values reported were wrong. (maron2000)
  - BIOS CMOS date/time functions will now idle the CPU 4 times after reading
    or setting the clock to allow interrupts, CPU time, and RTC clock ticks
    to proceed normally. This fixes "Pizza Tycoon" and allows it to continue
    past the initial logo. (joncampbell123)
  - Fix segfault when mounting hard disk images with no file extension
    (joncampbell123).

2023.09.01
  - Disable by default message confirmation after snapshot and AVI video
    capture, but leave the option there for those who want to enable it (joncampbell123).
  - Remove "LOG: Logging output has been disabled." output when -nolog
    is specified on the command line (joncampbell123).
  - Fix stuck Ins key problems by fixing a typo in src/ints/bios_keyboard.cpp.
    The code is supposed to clear the "Ins key down" flag, but instead cleared
    all bits EXCEPT "Ins key down" (joncampbell123).
  - NE2000 macaddr default is now "random", which instructs the NE2000
    hardware at startup to pick a random MAC address. (joncampbell123).
  - IPX: If NE2000 and IPX are enabled, and an IPX tunneling connection is
    active, and the user boots a guest OS, switch on a mode where all IPX
    packets going to and coming from the guest are re-routed through the
    IPX tunnel instead of to the NE2000 ethernet backend. This feature
    makes it possible to play IPX-based games in a guest OS like MS-DOS
    and Windows 95. (joncampbell123).
  - IPX: Add extension to server to allow clients to register their own
    MAC address instead of using the default MAC address given by their
    IP address and port number. The extension is designed so that if DOSBox-X
    is a client to another DOSBox fork's IPX tunneling server, it will
    be ignored and DOSBox-X will get the usual MAC address instead. This
    extension is required for guest OSes to be able to use the IPX protocol
    through the NE2000 card given upcoming code changes as they normally
    use the network card MAC address when picking an IPX address because
    the IPX interface is not available once booted into a guest OS. (joncampbell123).
  - IPX client: If both IPX and NE2000 emulation are enabled, IPX emulation
    will use the NE2000 card's MAC address instead. It will use the IPX
    server DOSBox-X extension to try. If it doesn't work, then the normal
    MAC address assignment is accepted without complaint. (joncampbell123).
  - NE2000: Add "nothing" backend. It receives nothing and send packets go
    nowhere. If no other backend is available, this backend is a fallback
    so that at least the NE2000 emulation can work. The other purpose of
    a nothing callback is to give NE2000 something to talk to for those
    who wish to use the upcoming IPX packet redirection to link DOS and
    Windows games over the IPX client or server connection to other
    instances of DOSBox. (joncampbell123)
  - Added record function to capture NE2000 network traffic to a
    pcap/Wireshark file in the capture directory. (joncampbell123)
  - Fixed bug where guest VM reset causes the CMOS to stop ticking for
    exactly the amount of time it was running before reset. (joncampbell123)
  - Added alarm interrupt function to RTC CMOS emulation (joncampbell123)
  - Reverted DOS to using the BIOS_DATA tick count for time and the cached
    copy of date it keeps internally, rather than always calling INT 1Ah.
    It turns out that is how DOS actually behaves, which is also why it is
    possible for the DOS and CMOS RTC to diverge. Fix CMOS emulation to
    allow get/set time and to run in emulation time, not real time, though
    the clock starts from the host time. (joncampbell123)
  - Fixed VHD disk image calculation of footer position and, thus, of newly
    allocated block position. (maxpat78)
  - Enhanced Dynamic and Differencing VHD support #4273 (maxpat78)
  - Imported IBM Music Feature Card support from DOSBox Staging. (Allofich)
  - Fix IMGMAKE large size image error on MinGW builds (maron2000) 
  - Set usescancodes=true when non-US keyboards are detected. (Linux / MacOS 
    builds) (maron2000)
  - Fix day of week detection (INT 21h function 0x2Ah). (maron2000)
  - Refine KEYB and CHCP command (maron2000)
  - Use segment descriptor's big flag (if present) when disassembling code in
    the debugger code view (cimarronm)
  - Add decoding of rdmsr/wrmsr instructions to disassembler (cimarronm)
  - Fix disassembly for far jmp/call decoding (cimarronm)
  - Fix memory limits on expand-down segment descriptors (cimarronm)
  - Bump tinyfiledialog to ver 3.13.3 (maron2000)
  - Fix mouse column limit on text mode (issue #4353) (maron2000)
  - Fix Blocek launching failure (issue #4385) (maron2000)
  - Bump in-tree FreeType library to ver 2.13.1 (maron2000)
  - Enable debugger function for MinGW builds (maron2000)

2023.05.01
  - IMGMAKE will choose LBA partition types for 2GB or larger disk
    images, but the user can also use -chs and -lba options to override
    that choice. The CHS or LBA partition types do matter because it
    affects which version of INT 13h is used by Windows 98/ME to boot up
    and, if drive C: is in compatibility mode, at all times. (joncampbell123)
  - PC-98 256-color mode will also trigger the auto mode of "render on
    demand" for performance reasons because per-scanline raster effects
    are very unlikely in that case, as will MDA and Hercules machine
    types. (joncampbell123)
  - When the DOS IDLE API is enabled (by default), limit STI+HLT to
    occur on INT 28h only once after any call to read the CON device
    or call to BIOS INT 16h to read the keyboard. This fixes stalls
    and sluggish input problems with programs that like to call INT 28h
    often like the Pacific C compiler PPD IDE interface. (joncampbell123).
  - Hercules InColor machine type: Fixed attribute and RAMFONT handling
    of 48K RAMFONT mode and added planar text rendering. (joncampbell123).
  - Write BIOS data area fields for number of rows, char height, etc.
    for MCGA machine type in addition to EGA/VGA machine types because
    IBM technical references suggest it's there for MCGA as well.
    This also resolves an issue where with the MCGA machine type, INT 10h
    failed to print any text to screen whatsoever. (joncampbell123).
  - Render on demand (Staging calls it "lazy rendering") now defaults
    to "auto" and allows an "auto" setting. The auto setting will
    turn it off for standard VGA modes and will turn it on for SVGA
    modes where per scanline raster effects are very unlikely to
    occur. This may provide a performance boost for DOS games in SVGA
    modes and the Windows desktop (joncampbell123).
  - CGA 320x200 4-color mode is now rendered using the M_EGA render
    code for EGA/VGA machine types to better reflect real hardware.
    (joncampbell123).
  - Fix bug where setting doublescan=false for anything other than
    the VGA machine type would break CGA graphics modes.
    (joncampbell123).
  - Fix video debug overlay calculations of source video mode for
    CGA graphics modes. (joncampbell123).
  - CGA 640x200 2-color mode and MCGA 640x480 2-color mode are no
    longer rendered as M_CGA2 for EGA/VGA machine types. The reason
    is that at the hardware level they are really just IBM standard
    tweaked versions of the EGA/VGA 16-color modes with additional
    bits for the interleave emulation and can be properly emulated
    with the M_EGA renderer. M_CGA2 is still used for the CGA and
    MCGA machine types for those modes. The DCGA DOS/V mode has been
    carefully made into its own render mode instead of part of the
    M_CGA2 case. (joncampbell123).
  - Fixed refcount -1 error and abort when multiple floppies are
    attached to a floppy drive and the "Swap floppy" mapper shortcut
    is used at least once (joncampbell123).
  - Hercules palette selection now provides a "dark gray" color
    mapping to match the green, amber, or gray palette selection of
    the user (joncampbell123)
  - Fix Hercules vs MDA attribute handling of "dark gray" background
    color when hardware blink is disabled. (joncampbell123)
  - Added RAMFONT emulation to Hercules Plus machine type, fixed code
    to allow Hercules Plus text mode to draw farther than the first 4KB
    of RAM if RAMFONT enabled. (joncampbell123)
  - DOS kernel: Fix programming mistake that allocated perhaps a bit
    too much DOS kernel memory for the "List of Lists" info block.
    Fix the sizes of the info block and other structures to make sure
    specific kernel structures are placed at fixed addresses because
    later Microsoft software for MS-DOS checks those values.
    (joncampbell123)
  - Serial port: Add multiplier: setting as requested to enable
    faster than 115200 baud rates. (joncampbell123)
  - Fix mistakes in CPUID emulation that threw a #UD exception for
    specific cases where EAX was not recognized by particular CPU
    types. (joncampbell123)
  - Fix RTC clock emulation to correctly signal IRQ8 interrupt for
    both periodic tick and update-ended events. Prior to this fix,
    only periodic tick events were reported even if the bit was set
    to enable update-ended. (joncampbell123)
  - Fix serial and AUX PS/2 mouse emulation to not send relative
    motion unless mouse captured, to make it consistent with the
    BIOS PS/2 mouse emulation (joncampbell123)
  - FAT driver: Major performance boost is possible by eliminating
    unnecessary code that re-reads the entire directory when looking
    up or changing one particular directory entry. (joncampbell123).
  - CMOS registers: Fix code to allow getting and setting time,
    fix year vs century registers to work properly. (joncampbell123).
  - BIOS INT 1Ah: Fix functions to get and set time and date
    instead of faking on read and ignoring set. Use the CMOS
    registers. (joncampbell123).
  - DOS INT 21h: Fix date and time functions to call the BIOS for
    time instead of trying to fake it only at the DOS level. This
    includes allowing INT 21h to change the date/time using the
    BIOS. (joncampbell123).
  - DOS shell: Make TIME actually use INT 21h to set time instead of
    directly modifying the BIOS timer tick count in the BDA.
    (joncampbell123).
  - Increased PIC event queue size, there are corner cases especially
    with Windows XP that can occasionally overrun the queue.
    (joncampbell123).
  - Updated IBM PC keyboard emulation to correctly encode Pause and
    Print Screen key scan codes when shift, alt, and ctrl are held
    down. This makes it possible to type "Alt+SysRq" for programs
    that expect it, including SoftICE. (joncampbell123).
  - NE2000 emulation: Looking at recent Bochs source code, ne2k.cc
    appears to have downgraded the "IMR write, reserved bit set"
    message from BX_PANIC to BX_ERROR. Update the same in DOSBox-X
    so that Windows 2000 no longer crashes the emulator with E_Exit()
    when probing the NE2000 hardware. (joncampbell123).
  - INT 33h mouse services: Add "Get General Driver Information"
    function for Microsoft Word 5.5 (joncampbell123).
  - INT 33h mouse services: Render cursorType == 2 (graphics cursor)
    as if text cursorType == 0 if the current mode is text mode.
    Microsoft Word 5.5 always calls functions to set text AND graphics
    cursor regardless of whether the actual mode is graphics or not.
    This fix allows the cursor to show correctly as the block cursor
    it wanted in text mode instead of a moving hardware blinking cursor.
    (joncampbell123).
  - Fixed S3 XGA emulation bitmap rendering to correctly handle
    8/16/32-bit pixel transfer I/O and update comments to reflect
    the 32-bit byte aligned transfer mode of the Trio chipset.
    This fixes incorrectly drawn radio buttons and 16x16 icons
    in Windows NT 3.5, Windows NT 3.51, Windows NT 4.0, and
    Windows 2000. (joncampbell123).
  - Fixed keyboard emulation so that upon the keyboard reset command
    FFh, the keyboard does the reset process and THEN sends back
    bytes 0xAA (power on/reset OK) and 0x00 (interface self-test).
    This resolves the issue where Windows NT 3.1 pauses at startup and
    does not resume booting until you press a key on the keyboard.
    This also resolves the issue where Windows NT 3.5 keyboard and
    mouse input stops working completely if you press a key on the
    keyboard. (joncampbell123).
  - Add Hercules InColor emulation of MDA vs CGA attribute select,
    and make sure it obeys the blink setting (joncampbell123)
  - Change Hercules/MDA text output to render 9 pixels per char
    if the char9 setting is on, to match the 9x14 character cell
    that those cards emit to the screen. The user can always turn
    it back off to get the 8x14 text they're probably accustomed
    to in other DOSBox forks. (joncampbell123)
  - Render output fixed to never double pixels vertically on render
    if the machine type is emulating VGA and the Doublescan option
    is enabled, in order to help resolve SVGA text mode issues
    reported by ThomasKjoernes (joncampbell123)
  - Add InColor CRTC registers and add code to emulate the planar
    bitplane operations. Microsoft Flight Simulator 3.0 renders
    correctly now. (joncampbell123)
  - Update Hercules InColor code to render the same 64-color EGA
    palette as machine=ega. (joncampbell123)
  - Correct machine=hercules text rendering flaw that prevented
    the bright attribute (bit 3/7) from working, making all text
    output the same normal brightness. (joncampbell123)
  - Add expected data structures and signatures to VGA ROM BIOS at
    C000:0000 if machine type selects ATI emulation (joncampbell123).
  - Add ATI machine types, which at this time, is just a placeholder
    for development to go in that direction over time for those
    machine types. (joncampbell123)
  - Added "machine=hercules_plus" and "machine=hercules_incolor" as
    stubs to be developed on going forward to emulate the HGC+ and
    InColor cards. Note that InColor will require the MCH_HERC case
    to generate 64-color EGA-like output going forward even if the
    documented startup state still emulates the MDA-like monochrome
    attributes. (joncampbell123)
  - SDL2: Stop checking for compiler flags that make it an error to
    declare variables after statements in a function or any other
    terrible sins that would offend old C89 standard compilers.
    DOSBox-X is never going to compile for a C standard that old.
    Furthermore this check is preventing compilation on ARM-based
    Macbooks for some reason, though not Intel based Macbooks.

2023.03.31
  - "mount -t overlay" will now print a message on the console to
    let you know if the act of mounting the overlay replaced a
    previous overlay mount. Overlay mounts cannot be stacked in
    DOSBox-X (and probably most DOSBox forks that support overlays)
    and the user should understand that. (joncampbell123).
  - Remove kludges from DOS path resolution to handle drive paths
    that refer to drive @ (at sign). Note that in ASCII the at sign
    is one code below capital "A". Windows 95 FORMAT.COM due to
    another issue was asking for "@:\WINBOOT.SYS" and sometimes
    causing a segfault in DOS path resolution due to an uninitialized
    drive index. The fix for the other issue removes the need for this
    kludge. In it's place a message will be logged to your log file if
    anything attempts to access files on drive "@:" because it likely
    means a failure to determine the drive index properly. (joncampbell123).
  - In addition to reporting the "boot drive" via INT 21h AX=3305h, also
    write boot drive in the "List of Lists" structure. Windows 95
    FORMAT.COM reads the boot drive from the LoL and does not do any
    error checking if that value is out of range (such as if it was
    never set and the byte value is zero). Failure to set this field
    will result in FORMAT.COM attempting to access "@:\WINBOOT.SYS"
    and "@:\IO.SYS" and failing. (joncampbell123).
  - Add dosbox.conf option to set a fixed RTDSC tick rate to use at
    all times during emulation instead of the CPU cycle count
    (joncampbell123).
  - Fix RDTSC to maintain a monotonic increasing count even if the
    CPU cycles count changes, and better handle timestamp writes
    through WRMSR (joncampbell123).
  - FAT filesystem driver: Instead of searching from cluster 0 every
    time a new cluster is to be allocated, keep track of the search
    to help reduce slowdowns on fairly large filesystems when many
    files are copied onto it (joncampbell123)
  - Page Up/Down vs Roll Down/Up was in the wrong order, switch order
    to correct it. (joncampbell123)
  - Fix 'pc98 force ibm keyboard layout' was always forced to be 'true'
    for left & right bracket keys on US keyboards. (maron2000)  
  - Fix dynamic_nodhfpu FPU stack bugs, the same bugs that once plagued
    dynrec. dynamic_x86 never seemed to have the same problem because
    in reality the DH FPU case was normally used, to hit this bug you
    had to use core=dynamic_nodhfpu. Also fix dynamic x86 DH FPU code
    never to restore from DH case if the DH FPU code was never enabled,
    which periodically caused FPU state to disappear. (joncampbell123).
  - Add dosbox.conf option to control the MSCDEX.EXE device name when
    emulating a CD-ROM drive (joncampbell123).
  - Wengier coded this nice text-only DOSBox-X logo for the TTF output.
    Fix border alignment issues and make the text logo the default and
    only option for MDA and Hercules machine types at boot.
    (joncampbell123).
  - Add -print-ticks command line option, which enables code to print
    both SDL_GetTicks() and emulator time once a second to the console
    and the log file. This may help in tracking down bugs related to
    long term laptop suspend or suspension of the process in general.
    (joncampbell123).
  - PC-98: Ignore INT 18h AH=0Ch (enable text layer) in 256-color mode.
    Real hardware doesn't seem to let you turn on the text layer in
    256-color mode, though I am not certain if this is a restriction
    imposed by the BIOS or by the hardware. This fixes possible cases
    where Sim City 2000 in 256-color mode reveals garbage text data at
    the bottom of the screen if it is there when it starts. This doesn't
    fix the issue where Sim City 2000 cannot set 640x480 256-color mode
    properly unless your display is already set to 31Khz hsync because that
    is evidently a bug in the game, not DOSBox-X. (joncampbell123).
  - PC-98 256-color mode: Fix "Active Display Words" value set by INT 18h
    to 40, not 80, for graphics layer. This has no apparent effect on
    games but it does fix the sometimes erroneous graphics layer width
    in the video debug display. Neko Project II source code seems to
    indicate the 31KHz hsync mode is programmed that way even if 256-color
    mode. This should not break anything since the GDC doesn't let you
    read back the "SYNC" reset parameters anyway--this isn't VGA hardware,
    after all. (joncampbell123).
  - IPX emulation was broken because it set up the virtual file, IRQ
    and interrupt handler way too early, which the BIOS startup would
    then overwrite with the default BIOS IRQ handler. IPX emulation
    should work now, at least multiplayer DOOM. (joncampbell123)
  - Added debug menu and dosbox.conf option to show debug information
    at the bottom of the screen when enabled. This debug information
    reflects the video state at the start of active display. It can be
    used to see in real time the state of the palette, display offset,
    display stride, and other useful information. It is rendered into
    the frame on purpose so that it appears as part of the picture
    when you take a screenshot or record a video to AVI or MTS for
    later review. (joncampbell123)
  - Dynamic core: Fix serious bug in dynrec dynamic core where calls
    to handle x86 FPU instructions erroneously passed the entire
    FPU status word instead of passing only the FPU stack pointer.
    The result of this error was that floating point was erratic,
    buggy, and often caused memory corruption in DOSBox-X eventually
    leading to a crash. It should now be possible to properly run
    DOS games on dynrec based systems, including ARM-based M1 Macbooks,
    that use the FPU. (joncampbell123)
  - Debugger: When entering debugger interface, force dynamic core
    to flush it's state so that the debugger can show the correct
    state to the user when they use the "FPU" command to see it.
     (joncampbell123).
  - VGA emulation: Automatically ignore odd/even mode if "Chain 4"
    mode is enabled in the sequencer (normally enabled only for
    256-color mode). Some games accidentally set odd/even mode
    in 256-color mode and yet apparently worked just fine on real
    hardware. Without this change, such games will display distorted
    graphics. It makes logical sense "Chain 4" would take priority
    over odd/even mode. Note: If a game uses 256-color unchained mode
    AND foolishly enables odd/even mode, then the resulting distorted
    graphics are probably accurate to what would happen on real
    hardware, but then programmers would have caught their mistake
    and fixed it so that is very unlikely to occur. This helps to fix
    "Seal: Magic Eye" although some remaining visual artifacts in the
    game can only be resolved by setting machine=svga_et4000
     (joncampbell123).
  - Set usescancodes=true when non-US keyboards are detected
     (Windows builds) (maron2000)
  - For long double without using x86 FPU, the code still calls the
    fstcw instruction and can enable FPU exceptions that crash the
    emulator, therefore mask off all exception bits to stop that.
    (joncampbell123)
  - Added code to mouse emulation to control how often the mouse
    reports events through the interrupt. Added dosbox.conf option
    to allow the user to force a report rate, which can be used to
    force a lower than normal report rate for games that cannot
    properly handle higher ones. Allow PS/2 mouse emulation, if
    rate not set by user, to control report rate. (joncampbell123).
  - Add code to COMMAND.COM to flush keyboard input before running
    the command given by the user, and flush again when the command
    returns. Added option to dosbox.conf to enable/disable this
    function (joncampbell123)
  - Fix bug where Tandy mode ignored the "allow more than 640kb"
    setting.
  - Fix INT13h AH=02 broken conditional branch which prevents
    installer of game "Inherit the Earth: Quest for the Orb"
    to obtain free space of hard drive (maron2000)
  - qcow2 image support: Make image able to be mounted by
    drive letters (experimental) (maron2000)
  - VHD image support: Make file name check for .vhd extension
    to be case insensitive (maron2000)
  - VHD image support: Fix auto-detection of geometry (maron2000)
  - Sound Blaster: Added code to periodically check the user's
    settings regarding recording source selection and listening.
    This should allow the user to change those settings on the
    fly. (joncampbell123).
  - Sound Blaster: Added options to control whether the generated
    recording source is audible through the speakers, and what
    generated audio to send to the client. Options are: silence,
    hiss, and a 1KHz test tone. (joncampbell123).
  - Sound Blaster: If the DSP is recording rather than playing,
    then send audio to the guest at the recording sample rate
    containing some form of generated audio. Default is silence.
    This ALSO satisfies the Creative driver CTSB16.SYS when it
    does the DMA test at startup. (joncampbell123).
  - Sound Blaster: Fixed code to properly recognize when the
    guest wants to record audio, including through SB16
    commands. Prior to this fix, all SB16 Bxh-Cxh commands
    were handled as if playback even if the command would
    instead trigger recording. (joncampbell123).
  - Sound Blaster: Add missing update of "last DMA callback"
    timestamp that is needed for when the guest pauses DMA
    during playback or recording. (joncampbell123).
  - VHD image support: If the VHD image is not a fixed type,
    say so in the log (previously it said nothing) and say
    what kind of image was mounted (joncampbell123).
  - Added INT 13h AH=44h Extended Verify to satisfy any disk
    utilities that might use it. The function doesn't really
    do anything except return success (joncampbell123).
  - Fix CPU stack management to use CPU mode agnostic method
    using mem_readw instead of real_readw. However the real
    mode version is used if real or virtual 8086 mode because
    of comments in an older commit that mention UNLZEXE that
    depends on real mode stack pointer rollover. This fixes
    a bug related to protected mode APM (Advanced Power
    Management) emulation that prevented the Linux kernel
    from booting (joncampbell123).
  - Add support for INT 2F function 1680h "Idle" and DOS
    idle (INT 28h), add code to reduce DOSBox-X CPU load
    during emulation when the idle function is called,
    add dosbox.conf enable/disable (default enable) to
    control this behavior (Github user "finalpatch")
  - Graphical fixes and dialog support for Haiku OS (amol-)
  - Allow jp106 keyboard layout in DOS/V mode, automatically
    choose when keyboard layout is auto on Windows with
    Japanese keyboard, fix jp106 input in SDL1 builds running
    on Japanese Windows with English keyboard (nanshiki)
  - Sync dh fpu state with normal fpu when dynamic core
    calls normal core to handle self modifying code. Add
    additional code to other cases. (Github user "finalpatch")
  - Fix incorrect handling of upper 4 bits of character attributes
    in video mode 72h in DOS/V mode (nanshiki)
  - Fix BIOS signature at 0xFFFFF to reflect actual value
    of Tandy machines so "Ninja" works correctly in
    Tandy mode (rderooy)
    See also: [https://www.vogons.org/viewtopic.php?f=32&t=92129]
  - Change default mixer rate to 48KHz instead of the
    long standard 44.1KHz. Most modern sound cards on
    modern OSes render at 48KHz anyway and resample
    either in hardware or software and most configurations
    render at 48KHz. Perhaps somewhat improved audio quality
    could be had by rendering at what most sound cards are
    doing these days anyway. As usual, audiophiles are free
    to set the mixer rate to 96KHz if supported by their
    sound card. (joncampbell123)
  - Fix PIT 0 timer interrupt handling not to attempt
    periodic event and error adjustment unless the game
    is using periodic modes 2 or 3. This fixes PIT timing
    bug and possible emulator hang when exiting games
    like "Days of Thunder" that leave PIT 0 in mode 0 or
    1 on exit for some reason. (joncampbell123)
  - Fix Sound Blaster DMA rate limits to better reflect
    actual hardware. SB16 limits to 45454Hz just as
    Pro and earlier do. These limits were added before
    the proper measurements were coded and tested on
    real hardware. (joncampbell123)
  - Fix S3 cursor emulation to support both X11 and
    Windows hardware mouse cursor modes available
    on S3 Virge, Trio, and possibly other cards
    (John Tsiombikas)
  - Add EGA/VGA emulation code to keep track at runtime
    whether planar features are in use. If they are not,
    then handle EGA/VGA video memory access using a
    simplified version for a bit of a performance boost
    in response to complaints about poor VGA emulation
    performance. (joncampbell123)
  - VGA palette DAC update: Instead of recalculating
    the palette map every time a color is written through
    port 3C9h, set a flag. Defer palette map update to
    when the next scan line is rendered, in order to
    improve performance. (joncampbell123)
  - Add option to enable or disable the "memory I/O
    optimization" option, meaning the code that was
    added to assign simplified VGA memory I/O handling
    when the DOS game is not using any bit planar raster
    op and more complicated features of the EGA/VGA
    hardware. (joncampbell123)
  - Added VGA render on demand mode to VGA emulation.
    When enabled, VGA emulation does not render scanlines
    until vertical retrace or when certain registers are
    written that change the display (attribute controller,
    VGA palette, etc.). It is added to dosbox.conf as
    "scanline render on demand" and is false by default
    because it can provide a performance boost for DOS games
    but it also tends to break timing-dependent Demoscene
    effects. The idea is that some emulator performance
    improvement may be possible by not interrupting the
    CPU loop per scanline for the same reason that DOSBox
    SVN has traditionally only rendered the VGA display
    in quarters instead of per scanline. (joncampbell123).
  - Remove experimental "alt VGA" rendering code. It was
    never completed and it is probably starting to
    bitrot (joncampbell123).
  - Fix EGA/VGA version of CGA 4-color graphics renderer
    code to consider all four bitplanes when combining
    each pair into a 2-bit value. When bitplanes 2+3 are
    enabled and writeable, the 4-color mode becomes a
    sort of 2-plane 2 bits per pixel 16-color mode. Fix
    for machine=ega and "Leather Goddess of Phobos 2",
    a game that sets up EGA 640x200 16-color mode then
    suddenly switches on the 2bpp CGA mode as a way to
    do 16-color dithered graphics. (joncampbell123).
  - Fix installers for Dynamix games not working.
    (Allofich & halcyon00)
  - Fix crash related to swapping between disk
    images. (Allofich)
  - SVN r4482: Correct CMS sound pitch. (Allofich)

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).
    (https://github.com/joncampbell123/dosbox-x/issues/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)
  - Updated FFMPEG video capture to use newer API,
    fix memory leaks, and fix use-after-free bug that
    may have been responsible for occasional crashes
    when using the function. (joncampbell123)

2022.09.0 (0.84.3)
  - Added 86PCM support for PC-98 emulation. (nanshiki)
  - Added German language translation. (Link-Mario)
  - Added code page 867 (compatible with Hebrew DOS
    WordPerfect) and 868 (Urdu) for the guest-to-host
    code page conversions. (Wengier)
  - Improved ANSI.SYS detection for the welcome banner
    and CLS command. The command "INTRO WELCOME" will
    re-display the welcome banner without running the
    commands in AUTOEXEC.BAT. (Wengier)
  - Improved IME support on macOS SDL2 build. (Wengier)
  - Improved detection for the Chinese/Japanese/Korean
    keyboard layouts on Windows platform. (Wengier)
  - Improved Windows installer for selecting languages
    for the DOS emulator. (Wengier)
  - Improved config option "file access tries" for the
    Linux and macOS platforms. (Wengier)
  - Fixed SafeDisc 2 check for Red Alert 2 by renaming
    the IDE CD-ROM device. (rderooy & psyraven)
  - Fixed problem when inputting characters with call
    INT21/AH=3Fh in PC-98 mode. (nanshiki)
  - Fixed hang on zip-mounted drives and minor bug on
    the DOS file-read code. (tbr)
  - Fixed file copying problem with Windows 9x install
    at the end of the DOS-based Setup. (Wengier)
  - Fixed command like "IF NOT EXIST D:\NUL ..." not
    working if the drive does not exist. (Wengier)
  - Fixed that pasting text from clipboard via mouse
    may not work properly in some cases. (Wengier)
  - Fixed the mouse scrolling wheel not working with
    CTMOUSE 2.1's "CTMOUSE /O" in guest DOS. (Wengier)
  - Fixed window transparency setting not working in
    macOS SDL1 build. (Wengier)
  - Fixed macOS small display issue with the in-tree
    SDL2 library by applying SDL updates. (Wengier)
  - Fixed menu option "Always on top" to work with the
    in-tree SDL2 library on macOS. (Wengier)
  - Fixed the terminal mess-up issue with -display2
    option on Linux and macOS platforms. (Wengier)
  - Fixed OpenGL output options not working in Windows
    ARM32/ARM64 builds. (Wengier)

2022.08.0 (0.84.2)
  - Fill in PC-98 BIOS data area byte value indicating
    CPU type (whether 8086, 286, 386 or higher)
    (Wengier), fill it in at startup (joncampbell123).
  - CHOICE now supports breaking and errors on end of
    file or pipe instead of freezing DOSBox-X. (Jookia)
  - Fixed debugger commands parsing numbers wrong. (Jookia)
  - Fixed DIR crashing on volumes with more than
    999,999,999,999 bytes of free space. (Jookia)
  - Switched to year.month.patch versioning (Jookia)
  - Fix NE2000 panicking if packets are queued too fast.
    (kcgen, Jookia)
  - Fix ISO image format detection to support pure
    UDF formatted images, meaning that the image
    lacks any ISO 9660 features and contains only
    UDF. (joncampbell123).
  - Added support for UDF filesystem to ISO image
    handling. It is enabled by default if emulating
    MS-DOS 7.10 (aka Windows 98) or higher.
    (joncampbell123).
  - Added code to detect Rock Ridge according to the
    System Use Sharing Protocol standard, and to
    read the SUSP entries correctly for the alternate
    name, if enabled. (joncampbell123)
  - Updated ISO MSCDEX drive emulation to scan the
    available volumes in the ISO image rather than
    assume the first volume, which makes Joilet
    support possible if long filenames are enabled
    and the DOS version is 7.0 or higher. (joncampbell123).
  - Add IMGMOUNT -o option for ISO filesystem support
    to enable/disable Joliet extensions, which is a
    Microsoft extension to ISO 9660 where long names
    encoded using Unicode UCS-16 exist as a supplementary
    volume in the ISO image and are used by Windows 95
    and higher to support long filenames on CD-ROM.
    Added support for reading the Joliet volume and
    providing them for both the 8.3 and long filename
    APIs in DOS. (joncampbell123).
  - Add IMGMOUNT -o option for ISO filesystem support
    to enable/disable Rock Ridge long filename support.
    The option is -o rr=1 to enable and -o rr=0 to
    disable. (joncampbell123).
  - Fixed 8.3 name generations on ISO drives with Rock
    Ridge extension. The ISO drives can be refreshed
    via RESCAN command like other drives. (Wengier)
  - SDL_Net support is available for HX-DOS builds,
    similar to other builds. Packet driver is needed
    for network capability in DOS. (Wengier)
  - Fixed line endings when copying to shared clipboard
    (e.g. CLIP$) in non-Windows platforms. (Wengier)
  - Fixed problems with SDL1 Windows builds in which
    the user had to type the Fullscreen mapper shortcut
    twice. It seems a SDL1 library function that is
    used to indicate ignoring or adding a class of
    events also liked to flush the event queue. This
    is called on mode change. This caused lost
    keystrokes, leaving the mapper the impression that
    those keys were still held down. (joncampbell123).
  - Fixed PC-98 mode MS-DOS 7/Windows 9x boot disk's
    80386 CPU check. (Wengier)
  - Added support for auto-converting non-image drives
    (such as mounted local drives) to disk images, so
     that they will be visible when booting into guest
    systems. A config option "convertdrivefat" (in
    [dosbox] section) is added to toggle this setting,
    or you can toggle via BOOT command's -convertfat
    (or -convertfatro option for read-only access) and
    -noconvertfat options. There're also config options
    "convert fat free space" (in [dosbox] section) and
    "drive z convert fat" (in [dos] section) to control
    free space (in MB; 0 means read-only) and whether
    to also convert virtual drive Z:. Much of the code
    is imported from DOSBox Pure, with added support
    for PC-98 HDI and code page conversions. (Wengier)
  - Added menu option "Save to disk image" (under drive
    letter in "Drive" menu) to save a mounted non-FAT
    drive to selected disk image (IMG/HDI). (Wengier)
  - Added the "Limit disk transfer speed" menu group
    (under "DOS") to toggle the hard & floppy disk data
    rate function. Also moved "Quick launch program..."
    menu from "DOS" menu to "Main" menu. (Wengier)
  - Added code pages 856 (Hebrew) and 859 (Latin 9) for
    the guest-to-host code page conversions. (Wengier)
  - Added config option to allow create of temporary
    devices for piping operations when a temporary DOS
    path is not available. (Wengier)
  - Added support for ATAPI raw sector reading with
    READ CD command. (schellingb)
  - Report bad sectors recorded in raw CD images as
    ATAPI read errors. (schellingb)
  - You can use CONFIG -set langcp=... to change the
    current language along with the embedded code page,
    or CHCP nnn:... to specify a language file as well,
    e.g. "CHCP 932:" or "CHCP 932:ja_JP" for Japanese
    code page and language file. Also improved -langcp
    option for SBCS code pages, and Windows installer
    will additionally set keyboard layouts for the
    selected languages. (Wengier)
  - Changed menu option "Restart DOSBox-X with language
    file..." to "Load language file..." for loading
    language files without rebooting DOSBox-X, unless
    a guest system is currently running. (Wengier)
  - Imported the more recent MBR code from FreeDOS to
    avoid the "boot menu" as in older code. (Wengier)
  - When changing TTF font, DOSBox-X will try to show
    the number of missing characters in the new TTF
    font (if any). (Wengier)
  - Fixed color becoming darker after changing TTF font
    multiples times in TTF output. (Wengier)
  - Fixed display of individual/total file sizes with
    DIR command when they are very large. (Wengier)
  - Fixed non-US code page conversions for mounted FAT
    drives. (Wengier)
  - Fixed incorrect message displays in Configuration
    Tool and Mapper Editor when booting into guest
    systems with language files. (Wengier)
  - Fixed possible "Path not found" bug when switching
    to code page 950 from another code page. (Wengier)
  - Fixed creating directories may not work properly
    for overlay drives on Windows systems. (Wengier)
  - Fixed -set and -get options of CONFIG command when
    there are spaces in property names, without having
    to prepend the section names. For example, command
    CONFIG -get "synchronize time" is supported just
    as CONFIG -get "dosbox synchronize time". Similar
    for -SET option when launching DOSBox-X. (Wengier)
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).
0.84.0
  - CMOS century register now aliased to register
    32h and 37h to appease Windows 2000, which assumes
    the century is stored there and will complain
    about invalid date/time otherwise (joncampbell123).
  - Treat IDE command E7h (FLUSH CACHE) as a no-op
    so that the common use of it from Windows 2000
    doesn't spam your log file (joncampbell123).
  - BIOS: At post, if DOS kernel was active and the
    DOS Shell was still running, initiate a proper
    system reset event. Some software, including the
    WINNT.EXE install program for Windows NT, like to
    restart the system by JMPing to the BIOS POST
    entry point. Prior to this fix, doing that from a
    DOS program caused instability with mounted images
    and the DOS shell due to recursion. (joncampbell123).
  - Fix FPU implementation for aarch64 cores (cimarronm)
  - Fixed INT 10h and DAC palette mapping to resolve
    incorrect colors with Hercules graphics mode when
    a game calls INT 10h to set video mode after setting
    it up. This resolves the incorrect blue on black
    color map for Grand Prix by Accolade (joncampbell123).
  - Add recursive mkdir_p() directory creation so that
    overlay filesystem support can correctly create
    a subdirectory of any depth, instead of only one
    level deep from an existing directory on disk.
    (joncampbell123)
  - Add dosbox(-x).conf option "isapnpport" to control
    whether the ISA Plug & Play I/O port is presented
    to the guest. Setting is "true", "false", or "auto".
    "auto" means to enable if PnP BIOS is enabled.
    Previously this port was always present even if
    the PnP BIOS was not. Some operating systems,
    including Windows NT/2000/XP, will enumerate ISA
    Plug & Play hardware by themselves whether or not
    the PnP BIOS is present. (joncampbell123)
  - Fix FPU operations using the top of stack on
    32-bit VS builds (cimarronm)
  - Add IDE ATAPI command MECHANISM STATUS for
    Windows NT 4.0 because that system seems
    to want to know if your CD-ROM drive is a
    CD changer (joncampbell123)
  - IDE Plug & Play resource descriptor changed to use
    2-byte structure for listing IRQ resource instead of
    3 bytes. This (for some reason) fixes problems with
    the IDE driver in Windows NT 4.0, Windows 2000, and
    Windows XP and allows them to boot properly.
    (joncampbell123)
  - INT 13h extensions function 48h is supposed to
    return physical geometry, not the logical geometry
    normally returned by function 08h. This means for
    IDE devices, to return the geometry the IDE controller
    is using. (joncampbell123)
  - Enhanced the Mapper Editor interface. The Mapper UI
    has been greatly improved. (aybe)
  - Add IDE ATAPI command MECHANISM STATUS for Windows
    NT 4.0 because that system seems to want to know if
    your CD-ROM drive is a CD changer. (joncampbell123)
  - Fix IDE devices to start up with the drive ready
    bit set for OSes that expect it when probing IDE
    devices. This allows the Linux kernel to see IDE
    ATA drives emulated by DOSBox-X. (joncampbell123)
  - Fix IDE ATAPI emulation to correctly handle CD
    READ across one or more DRQ block transfers. Use
    block size given by guest in consideration of DRQ
    block size, which allows ATAPI CD-ROM emulation to
    work properly with the Linux kernel. (joncampbell123)
  - Add debug command to show PC-98 color palettes.
    Corrected typo. (joncampbell123)
  - Add support for PC-98 monochrome graphics mode.
    (joncampbell123)
  - IDE emulation now handles implementation events per
    IDE device instead of per IDE controller, which
    may resolve IDE controller issues with some guests.
    (joncampbell123)
  - Added PC-98 GDC drawing commands, which is
    based on Neko Project II source code (nanshiki)
  - Added PC-98 LIO BIOS interface, which is based on
    Neko Project II source code (nanshiki)
  - INT 21h AH=31h Terminate And Stay Resident: If the
    program called INT 21h to free its own PSP segment,
    reassign the block back to the program as allocated
    and then resize as expected. Needed for PC-98 game
    "Yu No" in which PLAY6.EXE, one of the resident
    drivers used for music, does just that. (joncampbell123)
  - Add a hack to enable read access to port 0xa460 on PC-98 which 
    returns Sound ID to detect the sound board available.
    Note that the current hack returns Sound ID of PC-9801-86 board
    regardless of the board selected to emulate. (maron2000)
  - Adds WINCHECK to list of programs which should not
    return a valid installation check for WinOldAp
    (AX=1700h/int2fh) so it doesn't mistakenly believe
    Windows is running (cimarronm)
  - Add minimal support for IDE SET FEATURES command EFh.
    (joncampbell123)
  - Fix CMPXCHG8B to change only the ZF flag, instead of
    changing ZF with other flags in an undefined state
    afterwards. This fixes problems with the Windows 2000
    kernel booting up and cputype=pentium (though I am
    unable to get past the INACCESSIBLE_BOOT_DEVICE error).
    (joncampbell123)
  - Updates XADD instruction to set appropriate flags
    (cimarronm)
  - Updates to FPU to handle opcode size prefix (66h)
    on FSTENV/FLDENV/FSAVE/FRSTOR instructions (cimarronm)
  - Update FLD constant FPU instructions to more
    accurately match FPU implementations (cimarronm)
  - Fixed dynamic_dynrec being displayed as dynamic_x86
    in menu, and PREFETCH instruction breakage in the
    dynamic core. (Jookia)
  - Fixed crash if no dynamic cores available (Jookia)
  - Fixed TTF mode breaking a guest not running the
    DOS kernel. (Jookia)
  - Fix DBCS table initialization on reset and
    restart (cimarronm)
  - Fixed some guest systems may not work as expected
    in non-TTF outputs. (Wengier)
  - Fixed IME input not working in MinGW builds, and
    FluidSynth in MinGW-lowend builds. (Wengier)
  - Fixed resizable OpenGL Voodoo window not working
    properly on Windows in previous version. (Wengier)
  - Fixed commands "CHOICE /N /C:123" and "MIXER /GUI"
    not working properly in previous version. (Wengier)
  - Integrated commits from mainline (Allofich)
    - Disable leading directory validity check in
    DOS_FindDevice.
0.83.25
  - XGA: Do not register XGA I/O ports unless emulating
    S3 chipset (such as machine=svga_s3) (joncampbell123)
  - Menu options "Force scaler" and "Print text screen"
    can now be assigned to keyboard shortcuts from the
    Mapper Editor. (Wengier)
  - Allowed to boot from Toshiba DOS image file for the
    Toshiba J-3100 emulation. (nanshiki)
  - Default S3 machine types now support XGA/SXGA VText
    in DOS/V, in addition to svga_et4000. (nanshiki)
  - Added "j3100backcolor" and "j300textcolor" config
    options (in [dosv] section) to specify background
    and text colors in J-3100 mode. (nanshiki)
  - Added config option "aspect_ratio" (in [render]
    section) which when set will force the specified
    aspect ratio (e.g. 16:9 or 3:2) in the aspect ratio
    correction mode (i.e. aspect=true). A menu group
    "Aspect ratio" is added to "Video" menu for users
    to select or set an aspect ratio, including an
    original ratio option. (Wengier)
  - Added config option "show recorded filename" (in
    [dosbox] section) which when set to true (default)
    will show message boxes with recorded filenames
    when making audio or video captures. (Wengier)
  - Added config option "allow quit after warning" (in
    [dosbox] section) which when set to false DOSBox-X
    will disallow the quit option after displaying a
    warning message. (Wengier)
  - Added config option "turbo last second" (in [cpu]
    section) which allows to stop the Turbo function
    after specified number of seconds. (Wengier)
  - Updated FLAC, MP3, and WAV decoder libraries to the
    latest versions (v0.12.38, v0.6.32, and v0.13.6)
    respectively; per David Reid). (Wengier)
  - Added support for upper case characters (A-Z) for
    AUTOTYPE command. (kcgen)
  - Added /T option for CHOICE command to set a default
    choice as in DOS, e.g. CHOICE /T:Y,3 (Wengier)
  - Added Korean language option in Windows installer.
    Also, language option page will be shown regardless
    of the output option selected. (Wengier)
  - Add stub INT 10h handler at F000:F065 if
    machine=vgaonly and using a VGA ROM BIOS image.
    The IBM VGA ROM BIOS image points INT 42h at that
    fixed address and calls it for any function it does
    not understand. (joncampbell123)
  - Set int33 event status bit 8 when passing absolute
    mouse coordinates, which is useful in emulation or
    virtualization environments where the mouse may be
    integrated with the host cursor. (javispedro)
  - Added support for Pentium Pro hinting NOPs and
    related multi-byte NOPs. (Jookia)
  - Updated HX DOS Extender to latest version 2.19 for
    HX-DOS builds. (Wengier)
  - DOSBox-X returns 1 instead of 0 when E_Exit occurs
    or unit tests fail. (Wengier)
  - Fixed built-in IPX and Modem emulation unavailable
    in MinGW builds. (Wengier)
  - Fixed -machine command-line option (as listed by
    "INTRO USAGE" command) not working. (Wengier)
  - Fixed lockup in classic Jumpman. (maron2000)
  - Fixed color in some modes under x86-64 macOS SDL2
    builds. (myon98)
  - Fixed extra INT 10h call during BIOS screen. The
    extra call caused crashes when combined with a ROM
    image of the stock IBM VGA BIOS. (joncampbell123)
  - Fixed fscale FPU operation and updated FPU status
    word. Also fixed FPU stack value log messages on
    x86-based builds. (cimarronm)
  - Fixed bug that OpenGL Voodoo window may not appear
    correctly if the DOSBox-X window was previously in
    full-screen mode in some builds. DOSBox-X will now
    ensure a switch to window mode (or maximized window
    mode) in this case. Also fixed some menu options
    including rebooting DOSBox-X while Voodoo emulation
    is currently active. (Wengier)
  - Fixed crash when switching to dynamic_rec core from
    menu when dynamic_x86 is also available. Also fixed
    the dynamic_rec core may not be displayed correctly
    in the menu when a language file is used. (Wengier)
  - Fixed Windows resource information. (Wengier)
  - Fixed a buffer overflow when launching a program.
    (Jookia)
  - Fixed bug where DOS IOCTL would call device control
    channel on devices which did not advertise support
    for IOCTL. (cimarronm)
  - Clean up of DOS device and attribute flag usage
    (cimarronm)
  - Integrated commits from mainline (Allofich)
    - Use real pointer with font data for reading
    characters. Also ignore page number for modes with
    only one page.
0.83.24
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.24.html
  - PC-98: Search for FONT.ROM in resources directory
    in addition to the working directory. (bsdf)
  - Add S3 Vision964 and Vision968, based on existing
    support for the Vision864/868 chips (rderooy).
  - APM BIOS: When the guest calls the APM BIOS to go
    into suspend or standby mode, emulate a suspended
    or standby mode. Spacebar resumes the guest machine.
    Blank the display (if VGA/SVGA machine type) upon
    suspend/standby and unblank upon leaving it.
    (joncampbell123)
  - APM BIOS: Add dosbox-x.conf option to control
    whether the power button triggers a suspend or
    standby event. (joncampbell123)
  - APM BIOS: Add power button mapper event, tie
    power button to APM BIOS, return power button as
    APM suspend event, add code to APM BIOS to handle
    suspend and resume events. Windows 98 no longer
    complains about the inability to suspend or go to
    standby. (joncampbell123)
  - APM BIOS: Limit debug logging of APM BIOS function
    AH=05h (CPU IDLE) because Windows 98 likes to call
    that function way too often. Once a millisecond, in
    fact! The log spam makes it difficult to see
    anything important scroll by while debugging.
    (joncampbell123).
  - Revise S3 Trio64 XGA line drawing code to
    add comments, and obey the "skip last pixel" bit
    so that the Windows drivers can better draw polygon
    line segments. This fixes broken XOR polylines in
    Windows 3.1 and Microsoft Word 2.0. (joncampbell123)
  - Add S3 ViRGE accelerated XGA line drawing function.
    Windows 3.1 through Windows 98 can now draw lines
    with hardware acceleration. (joncampbell123)
  - Merge code to help preserve long filename when
    older program writes/overwrites the 8.3 filename.
  - Change "fpu" config setting to an enumeration
    that still accepts true and false, but now also
    accepts auto, 287, and 387. It is now possible to
    specify fpu=287 and cputype=386 to emulate a 386
    paired with a 287 chip as is said to be how early
    386 Compaq systems were wired, for example.
    (joncampbell123)
  - 3Dfx Voodoo window is now resizable (inc. maximized
    window) when using OpenGL mode, in addition to the
    software mode. (MartyShepard, kekko, Wengier)
  - Menu options "CJK: Switch between DBCS/SBCS modes",
    CJK: Auto-detect box-drawing characters", and "Reset
    color scheme" (in "Video" -> "TTF options") are now
    assignable in Mapper Editor. (Wengier)
  - The "colors" config setting now allows a leading
    "+" character to stay the specified color scheme when
    switching from another output. (Wengier)
  - SETCOLOR command allows a syntax like "SETCOLOR 1 +"
    to return the specified color number to the preset
    value (as specified by "colors" setting). (Wengier)
  - When using TTF output, DOSBox-X will dim the topmost
    line when the window is inactive in full-screen or
    menuless mode as in vDosPlus. (emendelson)
  - IMGMOUNT command now accepts wildcards, such as
    "IMGMOUNT A disk*.img" to mount image files matching
    the given pattern. (Wengier)
  - Added CuteMouse wheel mouse extension so that DOS
    programs such as DOS Navigator 2 can make use of it.
    It is enabled when mouse wheel movement conversion is
    currently disabled. (FeralChild & Wengier)
  - Implemented basic support for VMware mouse protocol
    so that when used together with e.g. the VMware mouse
    driver for Windows 3.x, the mouse will be seamlessly
    integrated with the host system, and can enter/exit
    the DOSBox-X window without having to capture/release
    the mouse. Config option "vmware" is added (in [dos]
    section) which allows to disable VMware mouse guest
    integration. (FeralChild, Wengier, joncampbell123)
  - When country number is not specified and cannot be
    obtained from system, DOSBox-X will try to map the
    keyboard layout to country number. The country list
    is also extended. (Wengier & FeralChild)
  - Added "-nolog" command-line option to disable logging
    output completely, and "Disable logging output" menu
    option in "Debug" menu to toggle this. (Wengier)
  - Updated EGA?.CPX and KEYBOARD.SYS/KEYBRD?.SYS to the
    latest version from FreeDOS. The CPX files now appear
    in CPI directory of Z drive, which can be replaced by
    files provided by the user. (FeralChild & Wengier)
  - Fix lockup when printing in dBase IV. (Wengier)
  - Fix crash/restart when running Wing Commander with
    EMS memory enabled. (grapeli)
  - Fix possible buffer overflow issue that may happen
    in certain conditions. (maron2000)
  - Fix NewWadTool 1.3 unable to play music by ensuring
    that periodic timer interrupt is triggered on every
    cmos_timerevent. (cimarronm)
  - Fix handling of some DOS file I/O device drivers that
    expect a pre-filled input-buffer on READ function and
    also do not like to be called for every single byte
    in that buffer may not work correctly. (leecher1337)
  - Fix FPU emulation to use 8087 FENI/FDISI behavior
    when cputype=8086 or cputype=80186. (joncampbell123)
  - Fix FPU emulation to correctly emulate 80287 -/+inf
    compare behavior even if compiled for x86 targets
    where C_FPU_X86 uses the host FPU. (joncampbell123)
  - Fix audio speech stuttering issue in SpaceQuest 4
    v1.3 using Sound Blaster. (grapeli & rderooy)
  - Fix issue with Lemmings palette swapping not working
    properly. (maron2000 & grapeli)
  - Updated MT32emu to version 2.6.1. (maron2000)
    (Refer to https://github.com/munt/munt for details)
  - Updated DOSMID to version 0.9.6. (Wengier)
  - Integrated commits from mainline (Allofich)
    - Indicate in BIOS memory when keyboard ACK received.
    Fixes Soko-ban Revenge.
    - Fix execution of small COM programs on PCjr machine
    type.
0.83.23
  - Fixed XGA accelerated rendering for ViRGE emulation
    and 24 bits/pixel display modes. Since Windows drivers
    insist on 24bpp, this is necessary for
    "Truecolor (24-bit)" to display and render correctly.
  - dosbox-x.conf option "vesa vbe 1.2 modes are 32bpp" is
    now "true", "false" or "auto", where "auto" determines
    this setting based on which S3 chipset is being
    emulated. It seems the Windows drivers for ViRGE
    chipsets require 24bpp for truecolor modes, in fact,
    they do not even offer 32bpp as an option. Since
    the Windows 3.1/95/98 drivers use VESA BIOS calls to
    set video modes, this implies that the VESA BIOS on
    ViRGE cards are also making the base modes 24bpp rather
    than 32bpp. Note that the Windows drivers for older S3
    chipsets are perfectly happy to use 32bpp unless you
    select "16.7 million colors (1 Meg)" in Windows 3.1,
    which is the only option in those drivers to offer
    24bpp. To avoid grief with DOSBox-X users, "auto"
    is the default setting.
  - Added basic S3 ViRGE XGA acceleration. It's enough for
    90% of the GDI functions in Windows 3.1 so far.
  - Fixed S3 rectangle XGA accelerated pattern blit, when
    using display memory as the pattern mask source, to
    follow S3 Trio32/Trio64 documentation, instead of the
    DOSBox SVN educated guess, to resolve some edge cases
    where the wrong color is chosen to draw filled rectangles
    in Windows 3.1. This fixes the "basement" in Microsoft
    Creative Writer so that clicking around no longer leaves
    white boxes on the screen.
  - Extend 256-color foreground/background color behavior
    from S3 86c928 to Vision864 and Vision868 as Windows
    95 behavior suggests they handle the hardware cursor
    the same way in 256-color mode.
  - Extend "divide cursor X position by bytes per pixel"
    behavior from S3 86c928 to Vision864 and Vision868
    emulation as well, based on Windows 3.1 video driver
    behavior.
  - Gravis Ultrasound: Most I/O registers except port 3x4
    are intended for 8-bit I/O. If 16-bit I/O occurs to
    such registers, handle as two 8-bit I/O cycles. I
    found something in the Demoscene (1997 demo "Atlantis,
    Deep Like A Sea") that uses a 16-bit I/O write to write
    current channel and register select in one write.
    Prior to this fix, there was no music other than quiet
    popping noises in DOSBox-X.
  - Sound Blaster: Fixed DSP command 0x48 (Set DSP block
    transfer size) to accept block size as BYTES as
    standardized by Creative and convert to SAMPLES
    internally. This fixes stuttering voices in Freddy
    Pharkas when sbtype=sb16. (joncampbell123)
  - Avoid crashes due to assertion failure when media 
    keys are pressed (maron2000)
  - Fix CD audio playback failure (cue + mp3) when
    trying to play from pregap sectors. (maron2000)
  - Change default value of mt32.rate to 48kHz to match
    default value of mt32.analog option. (maron2000)
  - Fix a buffer overflow issue in dos.cpp (maron2000)
0.83.22
  - Added Pentium 3 Processor Serial Number emulation.
    Serial number can be set from dosbox-x.conf or not
    set, in which case it will act as if disabled by the
    BIOS. (joncampbell123).
  - Added Pentium III cputype, added SSE register set,
    added SSE instructions to debugger disassembler,
    added some initial SSE instructions. (joncampbell123)
  - Added some MSRs expected by Linux, Windows, and
    tools like CPU-Z to make them happy. (joncampbell123)
  - Added FXSAVE/FXRSTOR which makes Linux happy with
    Pentium III emulation. (joncampbell123)
  - Allow WRMSR to set time stamp counter, as it is known
    though undocumented a standard since the Pentium
    (joncampbell123).
  - Added debugger command to show global and per-voice
    status of the Gravis Ultrasound emulation. May come
    in handy for programmers who wish to write their own
    GUS routines, and for Trixter who brought up the
    subject of determining whether a program plays music
    with the GUS or treats it like a dumb sound card.
    (joncampbell123).
  - Added debugger command to show SSE register file, and
    to set SSE register contents. (joncampbell123)
  - Added debugger command to show MMX register file, and
    to set MMX register contents. (joncampbell123)
  - Added support for expressions within parenthesis in
    debugger expression handling. (joncampbell123)
  - Added & (AND), ^ (XOR), and | (OR) operators, and
    << and >> bit shift operators to debugger expression
    handling. (joncampbell123)
  - Added multiply (*) and divide (/) operators to debugger
    expression handling. Order of operations applies, so
    given mixed addition and multiplication, the multiply
    is done first then the result is added. Also added
    support for the modulo (%) operator to the debugger
    expression handling. (joncampbell123)
  - Revised debugger expression handling to correctly
    parse arithmetic operators with order of operations
    in mind. Prior to this fix, consecutive subtraction
    would cause seemingly illogical results, for example
    "10-1-1-1" would yield "9" instead of "7" because
    subtraction was handled in the wrong order. This fix
    also makes mixed addition and subtraction possible.
    NOTICE: Remember that all numbers going in and
    coming out of the expression handler are hexadecimal,
    NOT decimal! (joncampbell123)
  - Fixed simple expression handling in the debugger.
    Revised hexadecimal vs register parsing so that
    hexadecimal numbers that happen to start with
    the name of certain CPU flag registers does not
    cause confusing results. Prior to this fix,
    hexadecimal numbers like "dfe" or "af0" were
    impossible to enter without leading zeros or
    quotes because the parser would confuse the
    first digits with the DF and AF bits of the FLAGS
    register. (joncampbell123)
  - Added menu options "AMD Athlon 600MHz" and "Pentium
    III 866MHz EB" within the group "Emulate CPU speed"
    (under "CPU") for CPU speeds to emulate. (Wengier)
  - Added support for archive, hidden, system attributes
    on mounted local and overlay drives for non-Windows
    platforms by using special file(s). (Wengier)
  - Added config option "special operation file prefix"
    (in [dos] section) to specify an alternative file
    prefix for DOSBox-X's special operations on mounted
    local and overlay drives. (Wengier)
  - Added code page 3021 for the MIK character set used
    by the Bulgarian language (as in FreeDOS). (Wengier)
  - Added language file for the Brazilian Portuguese,
    available from Windows installer. (altiereslima)
  - For piping (|), DOSBox-X will now also try C: drive
    as a temporary piping path if current directory is
    read-only and the environment variable %TEMP% (or
    %TMP%) is not set. (Wengier)
  - For clipboard copy, CR+LF will now be used instead
    of LF on Windows for better compatibility. (Wengier)
  - Disk images are automatically mounted as read-only
    (instead of failing) now if the image files are
    read-only and the users do not explicitly specify
    read-only mode for the disk images. (Wengier)
  - The default value of config option "autofixwarning"
    (in [dos] section) is now "false", and it is now
    changeable via CONFIG command. (Wengier)
  - The default output for Linux SDL1 builds is changed
    from opengl to surface, unlike Linux SDL2 builds
    whose default output remains opengl. (Wengier)
  - Native Windows menus is supported in Windows SDL2
    builds just like Windows SDL1 builds. It is possible
    to force SDL-drawn menus for both Windows SDL1 and
    SDL2 builds at compile time. (Wengier)
  - Setting "windowposition" to "-" in the configuration
    will leave DOSBox-X window position as is instead of
    a specific position or being centered. (Wengier)
  - For printing, the SarasaGothicFixed TTF font will
    also be searched for DBCS code pages. (Wengier)
  - Added config option "showdbcsnodosv" (in the [dosv]
    section) which when set to true enables rendering of
    Chinese/Japanese/Korean characters for DBCS code
    pages in non-DOS/V, non-PC98, and non-TTF mode.
    Video capturing started from TTF output will enable
    DBCS characters when possible. (Wengier)
  - Changing DBCS code pages is supported for standard
    modes (i.e. non-DOS/V, non-PC98 and non-TTF modes)
    using CHCP command. (Wengier)
  - Fixed issues with certain DBCS characters for the
    DOS/V system. (Wengier)
  - Fixed slow blinking text in TTF output. (Wengier)
  - Fixed copying box drawing characters to clipboard
    not working in non-TTF JEGA mode. (Wengier)
  - Fixed background for the Configuration Tool when
    the TTF output is active. (Wengier)
  - Fixed DBCS characters not showing up when capturing
    screenshots in TTF CJK mode, or they do not show up
    properly in the Configuration Tool when "autodbcs"
    is set to "false" in the configuration. (Wengier)
  - Fixed media keys presses by ignoring these keys in
    Windows SDL1 builds. (maron2000)
  - Fixed IOCTL & ASPI interfaces for mounting physical
    CD drives on the Windows platform. (Wengier)
  - Fixed the issue of loading scalers in the previous
    version. A message box will only show up if you
    append "prompt" to the scaler option. (Wengier)
0.83.21
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.21.html
  - Improved clipboard copying & pasting for different
    code pages including box-drawing characters in DBCS
    code pages. Also, for the J-3100 mode, the selected
    text will now be highlighted when you try to select
    text for copying. (Wengier)
  - Improved IME support for Chinese/Japanese/Korean
    languages on Windows builds. (Wengier)
  - Pausing the emulation will automatically release
    the mouse and prevent mouse capture. (Wengier)
  - For Configuration Tool, a "..." button is added to
    properties which have limited numbers of values so
    that when clicking their possible values will be
    shown in a new dialog and can be selected directly.
    Also, more settings will be applied immediately when
    modified from the Configuration Tool. (Wengier)
  - For Windows SDL1 builds, DOSBox-X will now try to
    prevent the Windows menus from separating into more
    than one lines due to small window width. (Wengier)
  - If a scaler as specified in the config may not work
    as expected and if not forced, DOSBox-X will show a
    a message box asking whether to load it. (Wengier)
  - Config option "pixelshader" now allows a shader file
    name without the .fx extension, or a shader file in
    the current directory. (Wengier)
  - Added support for ENET reliable UDP as an option for
    modem and null-modem emulation. You can enable it
    with "sock:1" option for modems/null-modems that are
    connected with serial ports (COM1-COM9), such as
    "serial1=modem listenport:5000 sock:1" for COM1 to
    listen to port 5000 with reliable ENET UDP instead
    of TCP connection. The feature is ported from DOSBox
    Staging. (sduensin, GranMinigun, kcgen, Wengier)
  - Added new command-line option "-o" for providing
    command-line option(s) if programs(s) are specified
    to start when you launch DOSBox-X. An example:
    dosbox-x program.exe -o "opt1 opt2". (Wengier)
  - Added special properties to CONFIG command including
    "cd", "date", "errorlevel", "random", "time", and
    "lastmount" so that commands like "CONFIG -GET cd"
    and "CONFIG -GET errorlevel" will get current DOS
    directory and ERRORLEVEL value. The returned value
    will also be saved to %CONFIG% variable. (Wengier)
  - Added "Enter Debugger Command" button to "DOSBox-X
    logging output" and "Code overview" windows (from
    "Debug" menu") for users to enter some debugger
    command(s) and see the result. (Wengier)
  - Added debugger commands DATE and TIME to view or
    change DOSBox-X's internal date and time, using the
    same date and time formats as the shell DATE and
    TIME commands, e.g. "TIME 10:11:12". (Wengier)
  - Added config option "badcommandhandler" (in [dos]
    section) which allows to specify a custom error
    handler program before error message "Bad command
    or file name" shows up in the DOS shell. (Wengier)
  - Added config option "stop turbo on key" (in [cpu]
    section) which allows to automatically stop the
    Turbo (fast forward) mode when a keyboard input
    has been detected. (Wengier)
  - Added config option "fat32setversion" (in [dos]
    section) which controls whether DOSBox-X should
    automatically set reported DOS version to 7.0/7.10
    when it's less than 7.0/7.10 and mounting LBA/FAT32
    disk images is requested. It defaults to "ask" so
    that DOSBox-X will ask in this case. (Wengier)
  - Added config option "j3100colorscroll" (in [dosv]
    section) which defaults to "false" and allows the
    J-3100 version of SimCity and VGA version of the
    Toshiba Windows 3.1 to run, whereas CGA/EGA version
    of the latter requires a "true" setting. (nanshiki)
  - Added config options (in "ethernet, slirp" section)
    "tcp_port_forwards" and "udp_port_forwards" for port
    forwarding when using the Slirp backend. (kcgen)
  - Added code pages 737 (Greek) and 775 (Baltic) for
    the guest-to-host code page conversions. (Wengier)
  - Added UTF8 and UTF16 commands to convert UTF-8 and
    UTF-16 text to view in the current code page. For
    example, the command "UTF8 < UTF8TEXT.TXT" will
    output converted text UTF8TEXT.TXT in the current
    code page, and for UTF16 command there are optional
    /BE & /LE options to specify endianness. (Wengier)
  - Added support for DBCS characters located in UNC
    network paths of the form \\COMPUTER\FOLDER\FILE
    on the Windows platform. (Wengier)
  - Added hidden code page 951 for Big5-HKSCS encoding
    or Big5 Unicode-At-On (Big5-UAO) encoding. Config
    option "uao" is added in [ttf] section so that if
    set to "true" code page 951 will use the Big5-UAO
    encoding instead of the Big-HKSCS encoding, the
    latter being the default for CP951. If ChinaSea is
    enabled, ChinaSea characters will be used instead
    of original characters in these encodings. (Wengier)
  - Added -nl option for MOUNT command to automatically
    find the next available drive letter to mount if
    the specified drive is already mounted. This allows
    multiple directories to be mounted when DOSBox-X
    starts with multiple [name] arguments. (Wengier)
  - Added HISTORY command to display or clear command-
    line history for the internal DOS shell. (Wengier)
  - Added ASSOC command to view/change file extension
    associations. You can define a command or program
    to open a file with a specific file extension, e.g.
    "assoc .txt=edit" to open .TXT files with the EDIT
    command when entering the .TXT file name from the
    DOS command line. Wildcards are allowed, such as
    "assoc .*=dir", although in such case exceptions
    including "assoc .com=com", "assoc .exe=exe", and
    "assoc .bat=bat" are probably desired. (Wengier)
  - Commands CHOICE and COUNTRY are external commands
    that appear on the Z drive (Z:/DOS/CHOICE.COM and
    Z:/SYSTEM/COUNTRY.COM respectively) now rather than
    internal shell commands. COUNTRY command now also
    affects thousand and decimal separators. (Wengier)
  - The internal Virtual Drive Z: can now be rescanned
    just like mounted local drives. (Wengier)
  - You can now change most config options in [printer]
    section of the configuration for the virtual printer
    with CONFIG -set commands. (Wengier)
  - Added missing ChinaSea characters in code page 950
    with ChinaSea/Big5-2003 extension enabled. (Wengier)
  - Added support for Bash-shell completion for DOSBox-X
    on non-Windows platforms. (rderooy & FeignInt)
  - Improved DBCS support for DOS commands including
    ATTRIB, ECHO, TYPE, MORE, and TRUENAME. (Wengier)
  - Improved checking of segment limits. (joncampbell123)
  - Mac OS X builds from now on will use an in-tree tool
    to replace dylib references in all executable files.
    XCode install_name_tool is no longer used, it became
    a hypochondriac and is sitting in the corner screaming
    about link edit data that doesn't fill a __LINKEDIT
    segment. It is once again possible to make Mac OS X
    ARM releases and to use dylib files from Brew doing
    so. (joncampbell123)
  - Fix IPL1 partition choice debug message to actually
    show the partition index chosen, not the -partidx
    option variable, which if not given by the user, is
    -1 and was reported as a very large unsigned
    number. (joncampbell123)
  - Fixed command-line options -starttool & -startmapper
    not showing messages from specified language file
    for Configuration Tool and Mapper Editor. (Wengier)
  - Fixed an issue with RENDER_Reset function while
    loading previously saved states. (yetmorecode)
  - Fixed E_Exit "RET from illegal descriptor type 0"
    when running DirectX diagnostic program (dxdiag)
    from a guest Windows 98 system. (Wengier)
  - Fixed "parallel?=file openwith:xxx" not working if
    a file name is not provided. (Wengier)
  - Fixed crash in the following config combination:
    output=ttf, machine=pc98, dosvfunc=true. (Wengier)
  - Fixed Disney sound source connecting to parallel
    port not working in the previous version. (Wengier)
  - Fixed NET command from Windows for Workgroups 3.11
    not working from the internal DOS shell. (Wengier)
  - Fixed MODE command options like "rate" and "delay"
    not working if entered in upper cases. (Wengier)
  - Fixed command-line parameters (when launching
    DOSBox-X) containing Chinese characters in code page
    950 not working in Windows SDL2 builds. (Wengier)
  - Integrated commits from mainline (Allofich)
    - Improve BIOS FDD motor timeout counter, most
    notably for earlier PCs. Fixes a Chinese variant
    of Space Harrier.
0.83.20
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.20.html
  - Implemented support for Pentium II cputype (with
    the setting "cputype=pentium_ii" in [cpu] section),
    and added Pentium II SYSENTER/SYSEXIT instructions
    to normal core and debugger disassembler. The two
    instructions are supported for Pentium II cputype.
    CPUID for Pentium II will now report stepping 3 and
    model 3 which is a minimum requirement for OSes to
    attempt to use SYSENTER/SYSEXIT. Silencing for
    RDMSR/WRMSR and SYSENTER/SYSEXIT debug messages is
    removed while CPU "debug spew" is silenced by
    default. MSRs related to Intel microcode are added
    because both Linux and Windows ME probe those MSRs
    if Pentium II emulation reports stepping 3 model 3.
    The microcode MSRs are silently ignored. Moreover,
    the MSR register 0x0000001B has been added to
    Pentium II emulation. DOSBox-X does not emulate a
    local APIC but Windows ME assumes that MSR is
    present and reads/writes it on startup if DOSBox-X
    reports itself as a Pentium II. (joncampbell123)
  - Added support for DCGA and Toshiba J-3100 emulation
    modes by importing code from DOSVAXJ3 by nanshiki.
    The J-3100 emulation mode can be enabled with the
    option "dosv=jp" along with a non-off setting of
    "j3100" option in [dosv] section. For example, with
    "j3100=on" or "j3100=auto" (and "dosv=jp") J-3100
    system will be enabled and activated at start. With
    "j3100=manual" (and "dosv=jp") J-3100 system will
    be enabled and not activated at start, but there is
    now a DCGA command to enter DCGA (either English or
    J-3100 DCGA, depending on if J-3100 is enabled)
    mode from other video modes. (nanshiki & Wengier)
  - Added support for unit tests based on Google Test
    framework (gTest/gMock) to ensure code stability.
    Unit tests can be started with command-line option
    "-tests" in the debug builds. Some unit tests are
    ported from DOSBox Staging. (Wengier)
  - Added SERIAL and PARALLEL commands to view/change
    the current configuration of serial/parallel ports.
    Type "SERIAL /?" and "PARALLEL /?" for further info
    about the two commands. Commands like "config -set
    serial?=..." and "config -set parallel?=..." will
    also auto-call these commands. (sduensin & Wengier)
  - Added IMGSWAP command to swap disks for drives.
    e.g. "IMGSWAP D" to swap D: drive to the next swap
    position, and "IMGSWAP A 3" to swap A: drive to
    the 3nd swap position. (Wengier)
  - Added DOS commands including COMP, DISKCOPY, EDLIN,
    FC, FILES, PRINT, and SHUTDOWN (most from FreeDOS)
    to the built-in Z: drive. Updated or recompiled
    EDIT and EDLIN commands to support LFNs. (Wengier)
  - The CAPMOUSE command without a parameter now shows
    whether the mouse is captured/released. (Wengier)
  - The command "config -set" is now case-insensitive
    for property names. Also, if an option cannot be
    changed at run-time, DOSBox-X will ask whether to
    restart itself to apply the new setting. (Wengier)
  - Do not read real-mode data areas from mouse event
    handling if running a protected mode guest OS like
    Windows NT, and disable INT 33h functions when DOS
    kernel is shut down to boot into a guest OS. Moving
    mouse while Windows NT is running should no longer
    cause page faults and crashes. (joncampbell123)
  - The setting "mountwarning = false" will now silence
    more warning messages during mounting. (Wengier)
  - The code page setting of "country" option will now
    be ignored for PC-98, JEGA and DOS/V modes. These
    modes will enforce the desired code page. (Wengier)
  - Added support for loading the ASC16/ASCFONT.15/
    ASC24/ASCFONT.24? font files from the UCDOS/ETen
    Chinese DOS systems for the options "fontxsbcs",
    "fontxsbcs16" and "fontxdbcs24" in [dosv] section
    of the config file for DOS/V systems. (Wengier)
  - Improved auto-detection of box-drawing characters
    when using DBCS code pages. (Wengier)
  - Applied UTF-8 conversions to file browse dialog
    boxes for selecting files containing Unicode
    characters (e.g. CJK characters). (Wengier)
  - For screenshot and MIDI/OPL recording, DOSBox-X
    will now display a message box showing the saved
    file name when the recording has been completed.
    The full paths will also be logged. (Wengier)
  - Added confirmation message while trying to load a
    Direct3D pixel shader which may not be needed or
    may have undesired effect. (Wengier)
  - Added warning message if DOS/V or Japanese PC-98/AX
    machine type is selected and a language file with
    an incompatible code page is specified. (Wengier)
  - Added "AMD K6 166 MHz", "AMD K6 200 MHz" and "AMD
    K6-2 300 MHz" menu options within the menu group
    "Emulate CPU speed" (under "CPU"). (Wengier)
  - Added a TrueType font selection page into Windows
    installer, which will show when TrueType font (TTF)
    output is selected for new installations. (Wengier)
  - Added MMX instruction PSHUFW and added typecasts
    to some MMX instructions in case compilers cannot
    properly shift uint64_t by uint8_t otherwise. Most
    Pentium-level MMX instructions (such as MOVD, MOVQ,
    and EMMS) are added to the debugger disassembler
    and support for the disassembler to represent MMX
    registers. (joncampbell123)
  - Added code to normal core to flush paging TLB
    whenever handing a non-recursive guest page fault.
    The guest OS will likely update the page tables
    to resolve the fault. The Linux kernel will
    constantly get "stuck" whenever you run a command
    without this change. (joncampbell123)
  - Added code to make sure DOS kernel drives and drive
    letters have been unmounted and deallocated before
    booting a guest OS or shutting down DOSBox-X
    (joncampbell123).
  - Added ability to change floppy images with drive
    number (0 or 1) only. (Wengier)
  - Added INT 13h AH=16h, detect disk change. This can
    be controlled by config option "int 13 disk change
    detect" (in [dos] section) in case any older OS can
    not handle it. INT 13h AH=15h will report a floppy
    drive with change line support if enabled. MS-DOS
    seems to work just fine with it. (joncampbell123)
  - Added menu item "Enable extended Chinese character
    set" in "Video" => "TTF options" to toggle setting
    for the Simplified Chinese (GBK extension) and
    Traditional Chinese (ChinaSea extension). (Wengier)
  - Added config option "chinasea" (in [ttf] section)
    which when set to "true" allows ChinaSea (中國海字集)
    and Big5-2003 extension of the original Big5-1984
    charset for Traditional Chinese TTF output. This
    requires the use of a TTF/OTF font containing such
    extended characters to correctly render them; the
    included SarasaGothicFixed TTF font is updated to
    support such characters.Certain Traditional Chinese
    DOS software like the Hyper Editor 5.03 (漢書5) makes
    use of ChinaSea characters. Also moved "gbk" config
    option from [dosv] to [ttf] section. (Wengier)
  - Added config option "forcesquarecorner" (in [sdl]
    section) which when set to "true" will force to
    disable rounded corners on Windows 11. (Wengier)
  - Added code to INT 18h emulation (IBM PC mode) to
    jump to ROM BASIC if the user provided an IBM
    ROM BASIC image to load. (joncampbell123)
  - Added config option "ibm rom basic" in [dosbox]
    section which allows users to load a ROM image
    containing IBM PC ROM BASIC, for disk images
    and MS-DOS setups that need it. (joncampbell123)
  - Added stub IBM ROM BASIC points in the BIOS area
    so that when BASIC(A).COM from MS-DOS 1.x and 2.x
    are run, a polite message is displayed instead of
    invalid code and crashes. (joncampbell123)
  - 8086 and 80186 CPU types no longer check segment
    limits. (joncampbell123 & Allofich)
  - Put in undocumented behavior in opcode 0x8e for
    8086 and 80186. (Allofich)
  - Made 8086 treat opcodes C0,C1,C8,C9,F1 as aliases
    of C2,C3,CA,CB,F0, and opcodes 0x60-0x6F as aliases
    of opcodes 0x70-0x7F. (Allofich)
  - Adjusted multiple-prefix bug for 8086/286 to only
    apply when REP or REPZ is used. (Allofich)
  - Fixed 0x0F opcode being valid on 80186 core when
    it should be invalid. (Allofich)
  - Fixed CGA modes to always use a character height
    of 8, rather than reading it from address 485h.
    Fixes corrupt graphics in the PC Booter version
    of Apple Panic. (Allofich)
  - Fixed underflow when INT 13 AH=2 called for
    sector 0. (Allofich)
  - Fixed infinite loop when trying to run a 32-bit
    program with the 8086 CPU type. (Allofich)
  - Fixed INT 13h emulation to no longer call the DOS
    kernel "DriveManager" if the DOS kernel has been
    shutdown. This fixes memory corruption issues in
    the guest OS system run by the BOOT command that
    can occur when the "swap disks" command is used in
    the emulator. (joncampbell123)
  - Fixed DTA memory leak from FAT driver if FAT drive
    was mounted when booting into a guest OS. (joncampbell123)
  - Fixed a crash on unmount that occurs if IMGMOUNT
    is used to mount multiple floppy disk images to
    a drive letter. (joncampbell123)
  - Fixed possible crash with printing. (jamesbond3142)
  - Fixed possible freeze when shutting down Windows 9x
    after changing a CD image from the menu. (Wengier)
  - Fixed the default U.S. keyboard layout for the
    HX-DOS build. (Wengier)
  - Fixed copying full-screen or multi-line text from a
    DBCS codepage in TTF output or PC98 mode. (Wengier)
  - Fixed possible crash at start with getsysfont=true
    when a font may not be obtained on some Chinese
    Windows systems. (Wengier)
  - Fixed TTF color issue with some DOS GUI programs by
    initializing the color scheme when with default
    COLORS= setting in EGA or VGA mode. (Wengier)
  - Fixed some Direct3D pixel shaders not working (such
    as GS2x and CRT-geom-blend). (Wengier & depaljas)
  - Fixed config option windowposition=x,y not working
    in Linux/macOS SDL1 builds. (Wengier)
  - Fixed copying files from the virtual drive Z: not
    working when using the 4DOS shell. (Wengier)
  - Fixed some issues in MORE command. (Wengier)
  - Fixed "DIR>NUL" freeze/crash when only disk or CD
    images are mounted. (nanshiki)
  - Fixed BIOS screen when resetting the machine with a
    non-TTF output and DOS/V mode enabled. (Wengier)
  - Fixed the key `/~ not working when IME is enabled
    on a non-Japanese keyboard. (Wengier)
  - Fixed display glitches in the game "Continuing
    adventures of Cyberbox". (Wengier)
  - Fixed unusable joystick with config options like
    joy1response1 set to certain values. (Baderian)
  - Make memory B0000-B7FFF unmapped for the CGA
    emulation. Fixes "Backgammon 5.0" detecting that
    an MDA is also present when using CGA. (Allofich)
  - Make floppy I/O delay separately configurable from
    hard drive delay, and make it slower than before
    by default. It is adjustable via the "floppy drive
    data rate limit" config option. (Allofich)
  - Always return bit 6 of port 61h as set for PC and as
    clear for PCjr and Tandy. Allows Zaxxon to load in
    PC mode. (Allofich)
  - Video emulation for PC-98 mode (for 400-line modes)
    is now 16:10 instead of 4:3. 480-line PC-98 modes
    are still 4:3. (joncampbell123)
  - PC-98 EGC emulation: Add generic ope_xx handler for
    the remaining block of undefined/undocumented EGC
    ROPs. This fixes "Atomic Punker" which uses EGC ROP
    0xBE for sprite rendering. (joncampbell123)
  - Don't run mouse setup code if there is no emulated
    mouse. (Allofich)
  - Integrated commits from mainline (Allofich)
    - Add proper opl3 handling of the waveform select
    to dbopl.
    - Correct disassembly of some FPU instructions.
0.83.19
  - Reorganized the "List network interfaces" and "List
    printer devices" dialogs (under the "Help" menu) to
    allow the use of scroll bars. (Wengier)
  - Added menu option "Reset TTF color scheme" to reset
    the current color scheme for TTF output. (Wengier)
  - Added config option "righttoleft" in [TTF] section
    which when set to "true" will cause DOSBox-X to
    display text from right to left (instead of left to
    right) for the TTF output. It can also be toggled
    from the menu ("Video" => "TTF options" => "Display
    text from right to left"). (Wengier)
  - Added config option "vga fill active memory" which
    when set to "true" will fill inactive video memory
    regions with RAM rather than mapping them as empty.
    This allows the ETen Chinese DOS system (倚天中文系統)
    3.5/2000 (e.g. ET16V and ET24VA) to run. (Wengier)
  - Added config option "middle_unlock" ([sdl] section)
    to control whether to unlock the mouse with middle
    mouse button click. (Wengier)
  - Added config option "dosvfunc" in [ttf] section to
    support DOS/V applications when country information
    is set to Japan in TTF output. (nanshiki)
  - Added "VTEXT" command to view or change the current
    V-text mode for the DOS/V emulation. Also improved
    the font support for 24-pixel font DOS/V mode, such
    as supporting HZK24? fonts for Simplified Chinese
    DOS/V mode and STDFONT.24 from ETen Chinese system
    for Traditional Chinese DOS/V mode. If a Chinese
    font is specified via "fontxdbcs", "fontxdbcs14" or
    "fontxdbcs24" options, it will be loaded before
    system font even with "getsysfont=true". (Wengier)
  - Commands like 80x25, 80x43, ... now use internal
    function for better compatibility with the TrueType
    font (TTF) output. (Wengier)
  - MODE command without a parameter will now print the
    current lines/columns instead of usage. (Wengier)
  - INTVEC debugger command now correctly outputs
    addresses when in protected mode. (Allofich)
  - Fix horizontal lines in the debugger window being
    rendered as unrelated characters in some code
    pages. (Allofich)
  - INT 21 AX=4B03 now sets AX to 0000 like MS-DOS
    does. Fixes missing music in "聊齋誌異之幽谷傳奇"
    (Liáozhāi zhì yì zhī yōugǔ chuánqí) (Allofich)
  - Use 0x1E to 0x3E for the keyboard buffer of the CGA
    machine, which fixes the controls locking up in the
    PC booter version of Apple Panic. (Allofich)
  - Allowed machine types "pcjr_composite" and
    "pcjr_composite2", similar to "cga_composite" and
    "cga_composite2", instead of having to switch the
    composite type manually. (Wengier)
  - If machine is PCjr, place PC BIOS reset code at
    F000:0043 to match that of the real BIOS.
  - Fix PCjr NMI handler to load DS with segment 0x0040.
    Fixes crashes in SHAMUS. (Allofich)
  - Fix PCjr NMI handler to use 8086-level instructions
    when loading DS with segment 0x0040 so that it
    works properly with cputype=8086.
  - Remove useless check for signed divide quotient
    of 0x80/0x8000/etc. (the result was -0x80/0x8000/etc
    anyway. Add code to check specifically for these
    values after signed divide if cputype=8086 and
    trigger divide overflow exception, to match behavior
    described for the 8086 processor.
  - Modify exception handling so that for cputype=8086
    the return address for an exception handler points
    at instruction after fault location.
  - Fix IDIV instruction incorrectly raising a divide
    error exception for some borderline values. Fixes
    Microsoft Flight Simulator. (Allofich)
  - IBM PC BIOS emulation fixed to place key pieces of
    code and entry points at fixed legacy locations
    required by some older DOS games, instead of
    by dynamic allocation. Added code to BIOS allocation
    to reserve F000:E000 or higher for fixed allocation
    and force dynamic allocation below that address to
    prevent further conflicts should others submit
    pull requests for additional fixed locations. This
    fixes some games like "聊齋誌異之幽谷傳奇" (Liáozhāi
    zhì yì zhī yōugǔ chuánqí) which appear to assume
    some of these fixed BIOS addresses and will
    crash if they are wrong.
  - Added tool EMSMAGIC.COM as alternative EMS manager,
    which can be dynamically installed or uninstalled
    with the setting ems=false. (Wengier)
  - If a program is provided in the command-line when
    launching DOSBox-X, it will now be executed after
    any commands in the [autoexec] section by default.
    A command-line option "-prerun" is added to force
    the program run before any commands in [autoexec]
    section like before. (Wengier)
  - Added auto-detection for single-wide DBCS-encoded
    characters for the TTF output (non-PC98). (Wengier)
  - Improved the menu option "Restart DOSBox-X with
    language file..." (under "Main") for switching
    between DBCS languages. (Wengier)
  - Disabled the Alt+F4 key for closing the DOSBox-X
    window in MinGW SDL2 builds. (Wengier)
  - Fixed program or config file containing Unicode
    characters passed from command-line when launching
    DOSBox-X in Windows SDL2 builds. (Wengier)
  - Fixed issue with DELETE key in PC-98 mode. (Wengier)
  - Fixed COLORS config option (in [ttf] section) not
    working in the previous version. (Wengier)
  - Fixed issues after resetting the virtual machine
    when using DBCS language files. (Wengier)
  - Fixed some issues related to system IME support for
    CJK (Chinese/Japanese/Korean) languages, for both
    Windows SDL1 and SDL2 builds. (nanshiki & Wengier)
  - Fixed bugs in the region memory allocator C++ class
    that claimed the entire free block even if the
    size wanted was smaller. Added field to remember if
    the allocated block was allocated for fixed or
    dynamically allocated memory. Cleaned up allocator
    code and removed redundancy.
  - Fix SELINFO command not showing output correctly
    in the debugger window. (Allofich)
  - Better CMOS register B and C emulation. (Allofich)
  - Integrated commits from mainline (Allofich)
    - Support for DMF floppy disk images.
    - Zero-out DX in EXEC overlay command.
    - Improve stack check for wrap-around cases.
    - Change to misc_output for SVGA_S3Trio.
0.83.18
  - Cleaned up and more accurately worded CMOS-related
    log messages. (Allofich)
  - Fixed the names of virtual files and files on mounted
    FAT drive images being logged as "(null)". (Allofich)
  - Fixed packed structure alignment problem with MSVC
    (Microsoft C++) builds regarding some disk image
    formats. These problems prevented VS2019 builds from
    mounting hard disk images. (Allofich)
  - REP STOSB will correctly move one byte if one byte
    remains to be processed aka CX == 1, this is needed
    for FD98.COM self clearing code to work properly. (nanshiki)
  - Fixed IOCTL support for character device drivers. (nanshiki)
  - Fixed ANSI ESC [6n escape handling to correctly
    report cursor position as 1-based count, not 0-based
    count. (nanshiki)
  - PC-98 INT DCh emulation fixed to better represent the
    function key shortcuts as real DOS does. (nanshiki)
  - Emulator fix for HX-DOS builds. (Wengier)
  - Integrated commits from mainline (Allofich)
    - Fix the return value of register al from INT10 ah=0x0F
    for non EGA/VGA machines.
0.83.17
  - Added FISTTP instruction to experimental cputype (LBi)
  - Updated debugger to support and decode fisttp, fcomi,
    fcomip, fucomi, fucomip (LBi)
  - Added support for Chinese/Japanese/Korean IMEs on
    Windows/Linux SDL2 builds. (nanshiki)
  - Added cputype=experimental, which is the same as the
    highest CPU emulation level but with additional
    instructions from newer processors that do not exist
    in the era emulated by DOSBox-X i.e. FISTTP which is
    an SSE3 Pentium 4 instruction. (joncampbell123)
  - Added support for 286/386 call gates to JMP
    instruction (joncampbell123)
  - Added -bd <n> option to IMGMOUNT to allow mounting
    partitions from a hard disk image mounted as an
    INT 13h hard disk. <n> is the numeric value the
    hard disk image was mounted to. In this way, it
    becomes possible to mount any or all partitions
    in a hard disk image. WARNING: To safely mount
    multiple partitions, use -o partidx=<n> to specify
    each partition you mount by index. (joncampbell123)
  - If a drive has no volume label, and user runs
    LABEL without specifying one, do not ask whether
    or not to delete the volume label because there
    is in fact no volume label to delete. (joncampbell123)
  - Added FreeDOS utilities DEFRAG, FORMAT, FDISK,
    CHKDSK, and SYS to the built-in Z drive. KERNEL.SYS
    is not provided so that the user can provide what
    they consider the best version of the FreeDOS kernel
    to format with if they use FORMAT /S (joncampbell123)
  - INT 29h routes output through ANSI.SYS driver in
    both IBM PC and PC-98 mode, unless ansi.sys=false
    is set in the config setting. (joncampbell123)
  - Integrated commits from mainline (Allofich)
    - Fix regression in r4444: Hercules machine type
    cursor translation.
    - Remove redundant signature for ET4K that is now
    done in video BIOS.
    - Implement mouse driver function 0x27, fixes
    Alive - Behind the Moon.
    - Add log message for unusual cases where an
    executable unsafely places its initial stack outside
    the memory block.
0.83.16
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.16.html
  - Added support for extended MS-DOS partitions that
    reside in extended partitions. These partitions
    can be manually mounted using -o partidx=n where
    n is 4 or larger. To assist in partition indexes,
    the FAT driver will also print the partition
    table to your log file and console when asked to
    print debug information. (joncampbell123)
  - Added dosbox-x.conf options to control VESA BIOS
    window size and window granularity. This allows
    DOS development to test VESA BIOS support against
    SVGA cards that use window sizes and/or window
    granularity other than 64KB including older SVGA
    hardware by Paradise and Cirrus. Note that use
    of these options is intended solely for DOS
    development and will break S3 drivers that do not
    use the VESA BIOS extensions. (joncampbell123)
  - Fixed VESA BIOS S3 modelist to match the VBE 1.2
    standard modelist properly, including the addition
    of modes 0x119-0x11B. (joncampbell123)
  - Added machine=vesa_oldvbe10 to emulate a VESA
    BIOS that follows version 1.0 of the standard.
    Specifically, in version 1.0, mode information
    like XResolution was OPTIONAL and the VESA BIOS
    was allowed not to fill it in since you could
    assume the information from the standard video
    mode number you applied. This setting emulates
    a VESA BIOS that does NOT provide this information,
    for testing purposes. Also, machine=vesa_oldvbe is
    fixed to never report a LFB, since that was not yet
    defined for VBE 1.2. (joncampbell123)
  - Reorganized Windows installation to 2 installers
    installing 32-bit and 64-bit DOSBox-X binaries,
    for WinXP+ (all) and Vista+ 64-bit respectively,
    reducing the sizes of installers significantly
    while adding the SarasaGothicFixed TTF font and
    a language selection page for choosing existing
    language translations (with new language files
    for French and Traditional Chinese). (Wengier)
  - DOSBox-X will now search for more paths (such as
    user config directory and "languages" subfolder)
    for loading language files before failing, and
    on Linux and macOS platforms will also search for
    additional directories such as /Library/Fonts/
    (Linux) or /Library/Fonts/ (macOS) for TrueType
    fonts when using the TTF output. (Wengier)
  - DOSBox-X will try to load the SarasaGothicFixed
    TTF font when no external TTF font is specified
    and a CJK code page detected at start. (Wengier)
  - Added Shift+Tab shortcut in Debugger to switch to
    previous window complimenting existing function of
    Tab switching to the next window. (cimarronm)
  - LH/LOADHIGH command can now load programs into UMB
    memory if it is available. Also added "shellhigh"
    config option to decide whether to load builtin
    command shell to UMB memory (with default setting
    of "auto", it is enabled if reported DOS version
    is at least 7, similar to MS-DOS 7+). (cimarronm)
  - HELP command is now an external command appearing
    on Z drive rather than an internal shell command
    (it is never a DOS internal command). (Wengier)
  - Command-line options -eraseconf and -erasemapper
    will now erase loaded config file and mapper file
    respectively and continue, whereas -resetconf and
    -resetmapper will erase user config file or user
    mapper file and exit as before. (Wengier)
  - Added menu group "3dfx" in "Video" menu to toggle
    the low-level Voodoo card emulation and high-level
    Glide emulation at run-time. (Wengier)
  - Added menu options "Restart DOSBox-X instance" and
    "Restart DOSBox-X with language file" in "Main"
    menu to reboot the current DOSBox-X instance or
    reboot the DOSBox-X instance with the specified
    language file automatically. (Wengier)
  - Added menu options "Show code overview" and "Show
    logging text" in "Debug" menu to show the overview
    of the current code and the output of DOSBox-X's
    current logging text in debug builds. (Wengier)
  - Added config option "customcodepage" in the [dos]
    section to allow a custom code page, in the format
    "customcodepage=nnn,codepagefile" in TrueType font
    (TTF) output. CHCP command also supports additional
    parameter to specify a code page file. Also added
    builtin support for code pages 1250-1258. (Wengier)
  - Added config option "transparency" in [sdl] section
    to change the DOSBox-X window transparency (from 0
    to 90, low to high transparency) on the Linux/macOS
    SDL2 and Windows platforms. (Wengier)
  - Added config option "hidenonpresentable" in [dos]
    section to toggle whether to filter out file names
    on local drives that are non-representative in
    current code page. (Wengier)
  - Added config options "pc-98 try font rom" and
    "pc-98 anex86 font" for the PC-98 emulation to
    customize the font file to load. If former option
    is set to "false", then DOSbox-X will not try to
    load FONT.ROM first for PC-98, and latter option
    specifies an Anex86-compatible font to load for
    PC-98 (before trying FREECG98.BMP). (Wengier)
  - Added support for composite support for PCjr mode
    by porting patch from NewRisingSun. (Wengier)
  - Non-Japanese DOS/V systems will now use 19-pixel
    VGA fonts rather than 16-pixel VGA fonts for SBCS
    characters to look better. (Wengier)
  - You can now also load HZK14/HZK16 font files (for
    14- and 16-pixel height) and STDFONT.15 font file
    via the "fontxdbcs" and "fontxdbcs14" options for
    Simplified Chinese DOS/V (dosv=cn) and Traditional
    Chinese DOS/V (dosv=tw) emulations. (Wengier)
  - Improved the DOS/V font acquisition function on
    the Linux platform (both SDL1 & SDL2), such as
    adding support for 14-pixel height fonts (used by
    Configuration Tool & Mapper Editor), and enhancing
    support for Chinese characters acquisition (e.g.
    WenQuanYi support for the Traditional Chinese). A
    config option "getsysfont" is added which when set
    to "false" will disable the font acquisition on
    Windows and Linux platforms. (Wengier & nanshiki)
  - Implemented support for inputting CJK characters
    on Linux SDL1 builds using Linux system IMEs. Code
    imported from SDL-IM-plus by nanshiki and confirmed
    to work on Linux/X11 platform by him.
  - Added support for inputting Japanese and Korean
    characters using system input method (IME) using
    the default "windib" video driver in Windows SDL1
    build (in addition to "directx" driver). (nanshiki)
  - Fixed CJK characters not showing correctly for the
    SDL-drawn menu with OpenGL outputs if "language"
    config option is used instead of -lang command-line
    option. Thank nanshiki for catching this. (Wengier)
  - Fixed setting "machine=amstrad" cause DOSBox-X to
    crash on non-Windows platforms. (cimarronm)
  - Fixed bug related to DBCS vector table. (nanshiki)
  - Fixed running e.g. built-in DEBUG command from a
    drive other than Z may not work. (cimarronm)
  - Fixed the command "FOR %I ..." not working when
    executed from the command line. (Wengier)
  - For audio/video recording, DOSBox-X will display
    a message box showing the saved file name when the
    recording has been completed. (Wengier)
  - Mapper Editor will try to show the actual mod keys
    for mod1/mod2/mod3 when clicked. (Wengier)
  - Removed the special DOS function at Int21h/AH=2B/
    CX=0x4442h/DX=0x2D58h in favor of the DOSBox-X
    Integration Device at I/O ports 28h-2Bh which works
    for both integrated DOS and guest OS environments.
  - Enabled MT-32 emulation on ARM-based Mac OS X
    builds (joncampbell123)
  - For Configuration Tool, ensure mouse coordinates
    are adjusted accordingly with forced scaler. (aybe)
  - Fixed a bug in the Int21/AH=36h (get disk space)
    function for returning very large CX values, and
    that non-zero values are returned when the free
    space is 0 on mounted local drives. (Wengier)
  - Fixed "FILES" always fixed to 200 as reported by
    the "DOSINFO" tool, in spite of "files" setting in
    [config] section of the config file. (Wengier)
  - Refined the handling of international keyboards and
    fixed some issues in version 0.83.15. (maron2000)
  - Fixed initialization order that prevented Bochs
    port E9h emulation from working. (joncampbell123)
  - Fixed menu options in system menu not working in
    Windows SDL1 builds with "windib" driver. (Wengier)
  - Fixed issue that the mouse cursor not showing in
    the game "Power Dolls". (Wengier)
  - Fixed non-English accents may not show correctly
    with a SBCS code page in TrueType Font (TTF) output
    (introduced in version 0.83.15). (Wengier)
  - Fixed line endings for SBCS language files such as
    English and Spanish translations. (Wengier)
  - Fixed resetting the TTF screen when exiting from
    Configuration Tool or Mapper Editor when TrueType
    font (TTF) output is active. (Wengier)
  - Fixed the option "drive z expand path" not working
    if Virtual Drive Z: has been moved to a different
    drive letter (e.g. Drive Y:). (Wengier)
0.83.15
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.15.html
  - Enhanced the network redirector functions for the
    Windows platform, so that you can for example list,
    open, write, copy, and execute files in UNC network
    paths in the form \\COMPUTER\FOLDER directly when
    network redirector function is enabled and secure
    mode is disabled on Windows systems. (Wengier)
  - MOUNT command followed by a drive letter only will
    show the current status of the drive, or show that
    the drive is not mounted if so. You can make the
    message shorter with the -q option, and filter out
    non-local drives with "-o local" option. (Wengier)
  - Added NE2000.COM (packet driver for NE2000 network
    card) which will appear in Z:\SYSTEM directory when
    NE2000 networking feature is enabled. (Wengier)
  - Added /H option to TRUENAME command to return the
    full filename on the host system for a specified
    file/directory on a mounted local drive. (Wengier)
  - Added option "starttranspath" which if set to true
    will automatically translath all paths in command-
    line to host system paths when starting programs to
    run on the host system. You can also toggle this
    function dynamically from the drop-down menu ("DOS"
    => "Host system applications" => "Translate paths
    to host system paths". (Wengier)
  - Added option "drive z expand path" which when set
    to true (default) will automatically expand %PATH%
    environment variable to include the subdirectories
    on the Z drive when only the Z:\ path is specified
    for compatibility purposes. (Wengier)
  - Added option "turbo" in [cpu] section to enable
    Turbo (Fast Forward) mode at start. You can also
    change it from the command-line via CONFIG command
    (e.g. "config -set turbo=true"). (Wengier)
  - Added value "quiet" to "log console" config option
    to only log DOS console outputs. (Wengier)
  - Added menu command to spawn a new instance of
    DOSBox-X to Mac OS X builds to work around the
    singular app instance model the Finder tends to
    prefer, so that users can run multiple instances
    if they wish. (joncampbell123)
  - MacOS builds will once again have Fluidsynth,
    libslirp, and FFMPEG support from revised .app
    building code. For best results support is enabled
    at compile time only if Brew is installed along
    with Brew builds of those packages. (joncampbell123)
  - MacOS coreaudio MIDI support will continue with
    the default soundfont rather than giving up
    if it cannot select the custom soundfont specified
    in the config file. (joncampbell123)
  - Fixed MacOS bug where coremidi would attempt
    MIDI output even if no MIDI destinations are
    available, which is apparently the case on
    Big Sur. (joncampbell123)
  - The names of advanced config options will now be
    listed in the common config reference file (i.e.
    dosbox-x.reference.conf) too. Several previously
    advanced options are now common options. (Wengier)
  - Command "CONFIG -L" will now list the global config
    file for DOSBox-X (if any). (Wengier)
  - There is now a special DOS function for DOSBox-X at
    Int21h/AH=2B/CX=0x4442h('DB')/DX=0x2D58h('-X'), as
    follows: AL=0h (DOSBox-X installation check), AL=1h
    (SDL version check), AL=2h (platform check), AL=3h
    (machine type check), and AL=4h (DOSBox-X version
    check). For example, you can get installed DOSBox-X
    version by calling the function Int21h/AX=2B04h/CX=
    0x4442h/DX=0x2D58h in your program - AL and AH will
    become 0, and BX will return the DOSBox-X version
    number after "0." (e.g. BH=83, BL=15). (Wengier)
  - It is now possible to translate text for graphical
    Configuration Tool and Mapper Editor interfaces.
    The sizes and/or positions of some buttons in these
    interfaces are adjusted accordingly too. (Wengier)
  - Config option "usescancodes=auto" now implies false
    for PC-98 mode in SDL1 builds. (Wengier)
  - Config option "pc-98 force ibm keyboard layout" now
    defaults to "auto", which implies "true" if a U.S.
    keyboard layout is detected and implies "false"
    otherwise. Also fixed some input keys for the PC-98
    mode. (Wengier & maron2000)
  - For PC-98 mode, if both FONT.ROM and FREECG98.BMP
    are not found in the directory, then DOSBox-X will
    now use internal Japanese font (also used by DOS/V
    and JEGA systems) and the built-in 8x16 SBCS font
    pre-generated from FREECG98.BMP. (Wengier)
  - Added DBCS awareness support for special characters
    "\" and "|" in Chinese/Japanese/Korean code pages
    so that they will be treated properly as trailing
    bytes of double-byte characters. (Wengier)
  - Improved handling of clipboard copy/paste involving
    DBCS characters with TrueType font (TTF) output in
    standard mode. The clipboard copy/paste feature is
    also supported in DOS/V and JEGA modes. (Wengier)
  - The config option ttf.halfwidthkana (now in [ttf]
    section) will enable low ASCII boxing characters
    for the TrueType font (TTF) output too. This option
    is now enabled by default for JP mode, and printing
    these characters is also supported. (Wengier)
  - Added support for showing Chinese/Japanese/Korean
    characters in the SDL-drawn menu (in addition to
    characters in different SBCS code pages) and the
    Configuration Tool interface (so e.g. DOS command
    help will show correctly for these languages). You
    can change the DBCS font used by Configuration Tool
    interface via fontxdbcs14 config option. (Wengier)
  - Added support for inputting DBCS characters using
    system input method (IME) in Windows SDL1 build.
    Chinese (Simplified and Traditional) IMEs may work
    with the default video setting and a Chinese code
    page or Chinese DOS/V mode. Japanese & Korean IMEs
    may require DirectX mode for the SDL1 library (set
    option "videodriver" to "directx" in [sdl] section
    for this). There is a new config option "ime" in
    [dosbox] section to control it. When set to "auto"
    (default), it is enabled for Windows SDL1 builds
    only if DOSBox-X is started with a CJK code page or
    in PC-98, JEGA or DOS/V mode. (Wengier)
  - Added support for Japanese EGA mode (machine=jega)
    by adopting code from DOSVAXJ3. As with DOS/V, you
    can optionally set the SBCS and DBCS fonts with
    fontxsbcs, fontxdbcs (and fontxsbcs19, fontxdbcs24,
    etc) options in [dosv] section of config file, or
    the default fonts will be used for them. (Wengier)
  - Added support for DOS/V (Japanese mode) by adopting
    code from DOSVAXJ3. Also added support for Chinese
    and Korean DOS/V modes. Set option "dosv" to "jp",
    "chs" (or "cn"), "cht" (or "tw"), or "ko" in [dosv]
    section of the config file to enable DOS/V mode for
    different CJK languages. There are now also various
    font-related (and V-text screen mode) options added
    in [dosv] section for the DOS/V support. For the
    Simplified Chinese (code page 936), you can also
    enable GBK extension of the standard GB2312 charset
    with "gbk" option for Simplified Chinese DOS/V and
    the TrueType font (TTF) output. (Wengier)
  - Added support for codepage conversion of file names
    in "drivez" folder (for customization of Virtual
    Drive Z:) so that they will appear properly on this
    drive according to the code page set. (Wengier)
  - Improved support for DBCS (double-byte) characters
    on mounted FAT drives with Chinese/Japanese/Korean
    codepages (932/936/949/950). (Wengier)
  - The "Unexpected control character" error message
    which may appear when executing certain batch files
    is now a debug message (belong to the "misc" type)
    instead of showing to the DOS console output.
  - Added "videodriver" config option in [sdl] section
    to force a video driver (such as windib/windows,
    x11, dummy) for the SDL library to use. The video
    driver "directx" has been enabled for Windows SDL1
    builds (without certain functions). (Wengier)
  - There is a now a [ttf] section in the config file,
    and TTF-related config options are moved/renamed
    from [render] section to this section (previous
    config options "ttf.*" in [render] section become
    * (with "ttf." dropped) in [ttf] section). Windows
    installer will also automatically transfer previous
    TTF options to the new [ttf] section. (Wengier)
  - When setting to "auto", config option "allow lmsw
    to exit protected mode" will be active for Pentium+
    CPUs instead of 486+ CPUs. (Wengier)
  - Fixed a bug which may lead to crash when pasting
    text via the DOS clipboard API (e.g. the 4DOS CLIP:
    device) in non-Windows platforms. (Wengier)
  - Fixed the possible freeze when output was switched
    from TrueType font (TTF) output and you tried to
    reset the virtual machine. (Wengier)
  - Fixed non-representative filenames on local drives
    in current code page causing memory corruption for
    e.g. Windows 3.1 Setup on non-Windows platforms.
    These entries will no longer appear to DOS guest
    system in incompatible code pages. (Wengier)
0.83.14
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.14.html
  - Added support for directories on the Z drive, so
    there is no need to put all files/programs on the
    root directory of Z drive any more. Only one-level
    directories are currently supported. There are now
    six directories on the Z drive by default, namely
    4DOS, BIN, DEBUG, DOS, SYSTEM, TEXTUTIL. Most files
    that previously appeared on the root directory of
    Z drive are now categorized into directories, with
    addition of some files/programs, such as additional
    4DOS files, text utilities in TEXTUTIL directory
    and TITLE command to change window title. Default
    value of the %PATH% environment variable has been
    expanded to include these subdirectories, but if
    you use a custom path then you may want to include
    these directories in your %PATH%. (Wengier)
  - You can now specify a command shell located on a
    mounted local drive via SHELL= command in [config]
    section of config file after the drive is properly
    mounted via INSTALL= command. (Wengier)
  - Extended START command to Linux and macOS systems.
    It's disabled by default just like on Windows host
    systems, but can be enabled by setting "startcmd"
    to "true" or with the -hostrun command-line option
    (replacing -winrun command-line option). (Wengier)
  - CHCP command in the TrueType font (TTF) output now
    allows code page 932, 936, 949, and 950 to display
    Chinese, Japanese and Korean characters and file
    names with DBCS support enabled in non-PC98 mode.
    By default DOSBox-X will enable DBCS characters and
    auto-detection for box-drawing characters in these
    code pages, and these can be disabled by setting
    new options "ttf.autodbcs" and "ttf.autoboxdraw" to
    "false". There is also option "ttf.halfwidthkana"
    to enable half-width Katakana in Japanese non-PC98
    machines. KEYB command (and "keyboardlayout" config
    option) also accept "jp", "ko", "cn", "tw", "hk",
    "zh" as key layout names for code pages. (Wengier)
  - Added support for printing Chinese/Japanese/Korean
    DBCS (double-byte) characters when these code pages
    are active, which by default ("auto") is enabled for
    the TTF output, but can be enable or disabled for
    all outputs by setting option "printdbcs" to "true"
    or "false" in [printer] section. (Wengier)
  - Added ability to toggle between Shift-JIS (or Kanji)
    and graphical modes using Ctrl+F4 key (or ESC )3 and
    ESC )0 escape sequences) in the PC-98 mode. There
    is now also an indication of graphical mode in the
    function row. (nmlgc)
  - Added the "usesystemcursor" config option (in [sdl]
    section) which when set to true will use host system
    mouse cursor instead of drawing a DOS mouse cursor
    when the mouse is not locked. (Wengier)
  - When opening "Save..." or "Save Language File..."
    dialogs in the Configuration Tool, the new dialogs
    will now automatically be in focus. For the language
    file, the name of the current language file will be
    filled and modifiable. Pressing ENTER key saves the
    config or language file, and pressing ESC key will
    close these dialog boxes. (Wengier)
  - Command "CONFIG -wl" will show the name of language
    file being written to (if there is a language file
    loaded then "CONFIG -wl" alone will write to it),
    and command "CONFIG -ln" will show current language
    name (if any), or you can use command "CONFIG -ln
    <lang_name> -wl <lang_file>" to specify a language
    name when writing to a language file. (Wengier)
  - Added special properties to CONFIG command such as
    "hostos", "programdir", "workdir", "configdir", and
    "userconfigdir" so that commands like "CONFIG -GET
    hostos" and "CONFIG -GET workdir" will get the host
    system OS and DOSBox-X working directory. (Wengier)
  - If a config option can only be changed at run-time,
    "CONFIG -set" will now show such a message. You can
    use "CONFIG -setf" to bypass, but the setting won't
    take effect in the current session. (Wengier)
  - SETCOLOR command can now change the text-mode color
    schemes in outputs rather than the TrueType font
    output too (VGA mode only). (Wengier)
  - Added support for new TTF word processor type "FE"
    for FastEdit, a new DOS text editor with functions
    to view and change text styles. (Wengier)
  - Added "ttf.wpfg" config option in [render] section
    which can optionally specify a foreground color
    (0-7) for the TTF output, similar to "ttf.wpbg" for
    the background color in the TTF output. (Wengier)
  - Added "ttf.printfont" config option in [render]
    section which when set to true (default) will force
    to use the current TrueType font (set via ttf.font)
    for printing too when using TTF output. (Wengier)
  - Added additional options to the "mouse_wheel_key"
    config option to allow conversion of mouse wheel
    movements into Ctrl+up/down arrow (option 4), Ctrl+
    left/right arrows (option 5), Ctrl+PgUp/PgDn keys
    (option 6), and Ctrl+W/Z as used by WordStar & EDIT
    (option 7) . More menu options are added to "Mouse
    wheel movements" menu group as well. (Wengier)
  - Added menu option "Print text screen" (under "DOS")
    to print current DOS text screen, if the printer
    feature has been enabled. (Wengier)
  - Added menu options "Display TTF blinking cursor",
    "CJK: Switch DBCS/SBCS mode", "CJK: Auto-detect
    box-drawing characters" and "CJK: Allow half-width
    Japanese Katahana" under "Video" => "TTF options"
    menu group to toggle the TTF options ttf.blinkc,
    ttf.autodbcs, ttf.autoboxdraw and ttf.halfwidthkana
    in [render] section of the config file. (Wengier)
  - Support for UTF-8 encoded language files. Specify
    a DOS code page with "country" option in [config]
    section of the config file. Windows SDL1 menu and
    macOS menu are now also compatible with Unicode
    language files and characters. Also improved code
    page compatibility for text in the SDL drawn menu
    and the Configuration Tool. (Wengier)
  - Cleaned up the welcome banner messages and other
    messages involving boxdrawing characters for easier
    translations into certain languages. (Wengier)
  - Command-line option -silent now implies -nomenu,
    SDL_AUDIODRIVER=dummy and will disable all sound-
    related config option as well. (Wengier)
  - Command-line option -fastlaunch will now suppress
    messages by "automountall=true" option. Also added
    value "quiet" to "automountall" config option to
    auto-mount all Windows drives quietly. (Wengier)
  - Added default value "auto" to "backend" option in
    [ne2000] section of the configuration which will
    automatically select slirp backend if available,
    then pcap backend if available. (Wengier)
  - Improved handling of Ctrl+C/Ctrl+Break for shell-
    based DOS programs. (Wengier)
  - Setting "irq" to "0" in [sblaster] section of the
    config file will use the default IRQ number for the
    sound card type. Also fixed "irq=-1", "dma=-1" and
    "hdma=-1" not working as desired. (Wengier)
  - Option "dpi aware=auto" now defaults to "true" when
    full-screen mode is requested when DOSBox-X starts
    in Windows SDL1 builds. (Wengier)
  - The return value of AL in Int21/AX=0Eh is no longer
    fixed. The game Jurassic Park may run after moving
    Z drive to a different letter (e.g. E:). (Wengier)
  - Added "Change current floppy image..." and "Change
    current CD image..." menu options to change the
    currently active floppy disk image(s) on drive A: &
    B: and ISO/CUE image(s) on CD drives respectively.
    This makes it possible to change the active floppy
    disk and/or CD images while a guest system (e.g.
    Windows 9x) is currently running. (Wengier)
  - Added "Restart DOSBox-X with config file..." menu
    option to start DOSBox-X with the specified config
    file automatically from the menu. (Wengier)
  - Added "Refresh rate..." menu option (under "Video")
    to set the video refresh rate. (Wengier)
  - Added "Enable A20 gate" menu option (under "DOS")
    to enable or disable the A20 gate. (Wengier)
  - Added "maximize" config option in [sdl] section to
    automatically maximize the DOSBox-X window at start
    (SDL2 and Windows SDL1 builds only). (Wengier)
  - Added "allow lmsw to exit protected mode" config
    option in [cpu] section to control whether the LMSW
    instruction allows the guest to clear the PE bit
    (leave protected mode).
  - Added "debuggerrun" config option in [log] section
    to set the run mode when DOSBox-X Debugger starts.
    You can now also switch them from the menu ("Debug"
    => "Debugger option: ..."), including "debugger",
    "normal" and "watch", the later two corresponding
    to debugger commands "RUN" and "RUNWATCH". Also,
    the built-in DEBUGBOX command without a parameter
    will start the DOSBox-X debugger. (Wengier)
  - Debugger interface now accepts the '0' key as a
    command to single-step in case F11 isn't an option.
    If you are using XFCE's Terminal emulator, this is
    helpful because Terminal app takes F11 for itself.
  - "Debug" menu is now a top-level menu for debugging
    builds (for non-debugging builds there is "Logging
    console" menu group under "Help"). Also added more
    debug options including "Generate NMI interrupt"
    and "Hook INT 2Fh calls" under this menu. (Wengier)
  - Fixed /S and /F option (date/time-synchronization
    ON/OFF) of DATE command not working. (Wengier)
  - Fixed aspect=true not working properly for some
    screen modes such as machine=ega. (Wengier)
  - Fixed the mouse not automatically captured when
    DOSBox-X starts with the settings fullscreen=true
    and autolock=true. (Wengier)
  - Fixed inputs in the Configuration Tool when the
    Configuration Tool is scaled. (Wengier)
  - Fixed keys may not work after loading a saved state
    for the game Buck Rogers. (Wengier)
  - Fixed Windows detection for the game "Tex Murphy:
    Under a Killing Moon". (Wengier)
  - Fixed serial ports 5-9 may not be usable with real
    serial ports (directserial). (vkbaf & Wengier)
  - Fixed issues related to screen dimensions in TTF
    output in CGA/EGA modes since 0.83.12. (Wengier)
  - Added alternative Windows installer for administrative
    install mode on Windows Vista or later. (Wengier)
  - Integrated SVN commits (Allofich)
    - r4443: Improve detection of Paradise SVGA in some
    installers with additional signature.
    - r4453: Improve bittest instructions to wrap more
    correctly. 
    - r4454: Enable A20 routines in BIOS.
    - r4456: The numeric keypad can now be used to
    navigate the debugger when Num Lock is off.
0.83.13
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.13.html
  - DOSBox-X can now resolve file paths in its config
    options that include environment variables on non-
    Windows platforms (e.g. ${HOME}..) as well. A new
    config option "resolve config path" (in [dosbox]
    section) is added to control path resolving in the
    config file (e.g. to resolve tildes only by setting
    to "tilde", or disable all path resolving). (Wengier)
  - System menu text in Windows builds now match the text
    in the drop-down menus to be translatable by language
    files and is compatible with Unicode. (Wengier)
  - The error "Access Denied" is returned instead of
    "File not found" for files opened exclusively in
    another program on mounted local drives. (Wengier)
  - S386C928 hardware cursor fixed to divide X coordinate
    by bytes per pixel indicated in the control register
    to match apparent Windows 3.1/95 behavior. Cursor
    now tracks host properly even in highcolor/truecolor
    modes.
  - Added support for the RetroWave OPL3 hardware player.
    Set "oplemu=retrowave_opl3" in [sblaster] section of
    the config file to use it. Config options including
    "retrowave_bus", "retrowave_spi_cs", "retrowave_port"
    are added to adjust its settings. (ClassicOldSong)
  - Added support for S386C928 hardware cursor color
    selection in 256-color mode, which is different
    from later cards.
  - S3 XGA "BYTE SWP" fixed only to byte swap if the
    transfer is 16-bit wide. This fixes the dither
    pattern drawn by Windows 95/98 when you select
    "Shutdown" from the Start menu.
  - IMGMAKE command is now disabled in the secure mode,
    similar to commands like IMGMOUNT. (Wengier)
  - Added config options "working directory option" and
    "working directory default" in [dosbox] section of
    the config file to provide various options for the
    users to control DOSBox-X's working directory. For
    example, DOSBox-X can use the primary config file
    directory or the DOSBox-X program directory as its
    working directory. You can view the DOSBox-X'safe
    working directory with CONFIG -L command. DOSBox-X
    is also able to save the working directory that a
    user selects to global config files. (Wengier)
  - DOSBox-X will now also try to read the config file
    named dosbox-x.conf in the user config directory
    when searching for config files at start.
  - Added new command-line options -promptfolder and
    -nopromptfolder which will cause the folder prompt
    dialogs to show or not to show at startup.
  - Mac OS X builds will prompt the user to select a
    folder at startup if run from the Finder (or from
    the root directory). The folder selected will then
    become the current working directory of DOSBox-X.
    This makes it possible to start DOSBox-X with a
    config file of your choice and to control where
    the capture, save states and other files go.
  - Fixed Tseng ET4000 640x480 256-color SVGA mode
    when using the ET4000.BIN VGA BIOS, or Windows 98.
  - Added segment limit checks in Normal core for
    MOVSB/MOVSW/MOVSD and STOSB/STOSW/STOSD, which is
    needed for DOSBox-X to work with the Windows 3.1
    S3 86C928 display drivers that use segment limit
    exceptions to fake a linear framebuffer.
  - Added S3 XGA "byte swap" emulation, needed for
    correct menu/titlebar display in Windows 3.1 when
    using the S3 86C928 driver.
  - Added YUV (YUY2) overlay to S3 Trio64V+ card
    emulation. Tested with XingMPEG under Windows 3.1
    and ActiveMovie under Windows 98.
  - Added machine types for 5 different variations of
    S3 chipset: Vision864, Vision868, Trio32, Trio64,
    and (experimental) Trio64V+, ViRGE, ViRGE/VX, and
    S3 86C928.
  - Removed second PCI BAR for S3 MMIO register space.
    S3 datasheets do not show a second BAR. Windows 95
    is perfectly happy without it.
  - S3 SVGA XGA emulation BlitRect now supports
    COLOR_CMP. DirectX-based Windows 95 games are now
    able to blit in 256-color mode with a transparent
    color key value.
  - ANSI.SYS emulation now supports the "Device Status
    Report" escape when asked through code 6 (report
    cursor position)
  - Fixed RAM mapping bugs related to MDA/CGA/Hercules
    emulation and the "allow more than 640kb" option,
    that failed to map RAM as expected, and because of
    that, easily triggered a "corrupt MCB chain" error
    message.
  - Worked around the mounting issue for disk or CD
    image files with LaunchBox, by allowing a mounting
    command-line with single quotes like IMGMOUNT D
    'X:\FILES\DOS.IMG' on Windows systems. (Wengier)
  - Restored Pentium MMX emulation code for the dynamic
    x86 core to that of version 0.83.11 for better
    compatibility with some Windows 9x games. (Wengier)
  - Added "compresssaveparts" config option (in the
    [dosbox] section) which when set to false will not
    compress the components in saved states. (Wengier)
  - When the current reported DOS version is less than
    7.x and the user tries to mount a LBA or FAT32 disk
    image, DOSBox-X will now show a message to ask if
    the user wants it to set the required DOS version
    automatically and proceed. (Wengier)
  - DOSBox-X will now show the folder mounted after
    mounting to a drive from the menu. (Wengier)
  - Fixed MOUNT and IMGMOUNT commands unable to mount
    directories or image files that contain non-ASCII
    characters in the code page on Windows. (Wengier)
  - Fixed CapsLock may not work properly in Windows
    SDL1 builds when -fs option is used. (Wengier)
  - Fixed the cycle information on the title bar when
    the Turbo mode is enabled. (Wengier)
  - Fixed that some games using the DOS4GW Extender
    may not work due to swap file issue. (Wengier)
  - Fixed that the clipboard copy and paste may not
    work when the current code page is 808 or 872
    and you are using Windows. (Wengier)
  - Fixed the handling of the "Save & Restart" button
    in Configuration Tool when using Direct3D output
    in Windows SDL2 builds. (Wengier)
  - Fixed incorrect display issue when using TrueType
    font (TTF) output with customized screen dimension
    when fastbioslogo=true is set. (Wengier)
  - Fixed CD audio not looping for individual tracks
    in games like Alien Trilogy. (kcgen)
  - The command "MIXER /LISTMIDI" now lists the ROM
    directory/files and sound fonts for MT32, Synth
    and FluidSynth MIDI device when active. (Wengier)
  - Debugger "DOS XMS" command will only list handles
    that are allocated, or with nonzero address or
    nonzero size, to avoid showing irrelevant
    information. (joncampbell123)
  - Added LOADFIX -EMS option to allocate/free
    EMS (expanded memory). (joncampbell123)
  - LOADFIX -D -XMS will free all XMS blocks
    allocated by LOADFIX -XMS. (joncampbell123)
  - LOADFIX -A will not allocate memory unless there
    is memory below 64KB to fill. (joncampbell123)
  - INT 15h PS/2 mouse functions now clear pending
    PS/2 mouse interrupt as part of the BIOS call.
    This should resolve unresponsive mouse issues
    with Windows 3.1. (joncampbell123)
  - Add config option "mt32.model" in the [midi]
    section to force a MT-32 model to use. (Wengier)
  - Updated the MUNT MT-32 library to the latest
    version 2.5.0. (Wengier)
  - Updated FLAC decoder library to the latest version
    (0.12.29 by David Reid). (Wengier)
  - Integrated SVN commits (Allofich)
    - r4436, r4437: Rewrite store integer instructions
    to check if the result fits.(vogons 78127)
    - r4447: Attribute Controller port alias on EGA
    machine. Fixes EGA display of older Super Pac-Man
    release.
0.83.12
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.12.html
  - Tandy graphics emulation fixed to accept 8 bits
    for vertical total and vertical display CRTC
    registers, which is needed for the tweaked
    graphics mode used by Math Rabbit to display
    correctly.
  - INT 10h will no longer fill in three fields in
    the BIOS data area (video CTL, char height, and
    video switches) unless the machine type is
    EGA or VGA. Those fields do not exist otherwise.
    Certain games like Mindscape's "Road Runner" game
    require those fields to be zero as part of its
    Tandy detection routine.
  - PCjr mode will omit the reserved graphics RAM
    MCB block, and will subtract 16KB from the top
    at the BIOS level, if emulating 128KB system
    memory or less.
  - You can now run PCjr mode with as little as
    128KB of RAM. Removed 256KB minimum check from
    DOS kernel. Certain games (Mickey's Space
    Adventure) require memsizekb=128 and memsize=0
    in PCjr mode or else it will not work correctly
    due to how the game locates video system memory.
  - Fixed Tandy mode to place video memory at the
    top of conventional memory and allow running
    Tandy mode with a memsizekb setting as low as
    64KB, though 256KB or higher is recommended.
  - Added Tandy "real memory size" field in the
    BIOS data area.
  - Tandy emulation updated to subtract 16KB from
    top of conventional memory, which fixes some
    games and follows DOSBox SVN behavior and real
    hardware according to others on the Vogons forums.
  - Fixed bug that limited Tandy mode to 624KB of
    conventional memory. 32KB of video RAM is taken
    from top of memory, losing half of the 32KB
    breaks games that write to the system RAM instead
    of B800:0000 segment and causes half the graphics
    to not render.
  - CD-ROM image emulation now supports ISO images
    that are 2GB or larger, 32-bit integer size limit
    has been lifted.
  - Increased upper limit of "prebuffer" config option
    (in [mixer] section) from 100 to 250. It is still
    recommended to set a value less than 100. (Wengier)
  - Added scrollbar buttons to the Configuration Tool,
    so that the scrollbars better resemble the style of
    the Windows 3.1 scrollbars.
  - The help window for the Configuration Tool will now
    display possible and default values for the config
    options in addition to the descriptions. (Wengier)
  - Updated the MMX patch code by kekko. (Wengier)
  - MIXER command now supports the /GUI option to show
    a popup window to display the mixer information.
    Also improved its /LISTMIDI option which will show
    the name of the current MIDI handler and you can
    optionally specify a MIDI handler name (win32/alsa)
    to show the information for this handler. (Wengier)
  - Improved the compatibility of AUTOTYPE command with
    games like Asterix & Obelix. (Wengier)
  - The config options ttf.wpbg, ttf.bold, ttf.italic,
    ttf.underline, ttf.strikeout, and ttf.char512 can
    now be modified dynamically with CONFIG -SET ...
    commands, e.g. CONFIG -SET ttf.wpbg=2. (Wengier)
  - The minimal value for the ttf.ptsize config option
    has been decreased from 10 to 9. (Wengier)
  - Added menu item "Save logging as..." (under "Help"
    -> "Debugging options") to save the current logging
    content to the specified file. (Wengier)
  - Added slirp backend support for the NE2000 network
    feature (in addition to the existing pcap backend).
    There are config sections named [ethernet, slirp]
    and [ethernet, pcap] now to set the options for the
    slirp and pcap backends respectively. Please refer
    to the networking guide in the DOSBox-X Wiki for
    more information about the backends. (Jookia)
  - FAT driver can now support PC-98 HDI images with
    partitions that start at any physical sector even
    if the start is not a multiple of the ratio of
    logical to physical sector size. This allows the
    HDI image of Dragon Knight 4 to mount.
  - Control character 7 (BEEP) is now allowed while
    executing batch files without warnings. (Wengier)
  - With the setting "core=auto" DOSBox-X now updates
    the menu in the "CPU core" menu group automatically
    between "Normal core" and "Dynamic core" to reflect
    the CPU core which is currently in use. (Wengier)
  - Fixed Windows 95/98 installation failures caused by
    FAT driver and DOS API changes in previous version.
  - Fixed well-intended but erroneous fall through case
    in the INT15 handler that prevented 3rd party mouse
    drivers from detecting the PS/2 mouse.
  - Fixed the color issue with the Configuration Tool
    in the macOS SDL1 build. (ant_222)
  - Fixed switching ttf.cols, ttf.lins, and ttf.font
    options dynamically in full-screen mode. (Wengier)
  - Fixed menu options "Increase TTF font size" and
    "Decrease TTF font size" (both under "Video" =>
    "TTF options") not working (but keyboard shortcuts
    and those in the system menu work). (Wengier)
  - Fixed setting option "ttf.wp=xy3" or "ttf.wp=xy4"
    not working (but "ttf.wp=xy" did work). (Wengier)
  - Fixed preview function in WordStar not working for
    TrueType font output in previous version. (Wengier)
  - Fixed the issue that caused Windows 3.x group file
    corruption on hard disk image files. (SnikoLoft)
  - Integrated SVN commits (Allofich)
    - r4416: Added ability to start and stop avi
    recording, and to start keymapper, from config.
    - r4405: Smarter clearing of the dynrec cache.
0.83.11
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.11.html
  - Added support for the clipboard device (CLIP$) and
    DOS clipboard API on non-Windows systems (they were
    previously only supported on the Windows platform).
    In Linux SDL1 build only read access is supported
    whereas both read and write access are supported in
    all other builds. Also, selecting and copying text
    to the host clipboard using a mouse button or arrow
    key is now supported in macOS SDL1 build. (Wengier)
  - Added "Paste Clipboard" button to the AUTOEXEC.BAT,
    CONFIG.SYS and 4DOS.INI sections in Configuration
    Tool for pasting clipboard contents. (Wengier)
  - Windows SDL2 builds now use same clipboard pasting
    method as Windows SDL1 builds by default instead of
    the BIOS keyboard function. The method is now also
    available for Linux and macOS (both SDL1 and SDL2)
    builds (although it is disabled by default on these
    platforms). A menu option "Use BIOS function for
    keyboard pasting" is added to the "Shared clipboard
    functions" menu group (under "Main") to use BIOS
    function for the clipboard pasting instead of the
    keystroke method. Make sure this option is disabled
    if pasting clipboard text into Windows 3.x/9x apps
    (e.g. Notepad & Write) is desired. This setting can
    be changed with "clip_paste_bios" config option in
    in [sdl] section of the config file too. (Wengier)
  - With the config option "startcmd=true" or command-
    line option -winrun, Windows applications can now
    be launched from within a DOS program or from the
    4DOS shell in addition to built-in shell. (Wengier)
  - Added the "disable graphical splash" config option
    in [dosbox] section which when set will cause a
    text-mode BIOS splash screen to be always displayed
    at startup instead of the graphical one. If the
    TrueType font (TTF) output is enabled the text-
    mode BIOS screen is used automatically. (Wengier)
  - Added a simple BIOS Setup Utility, which will show
    a summary of the current system configuration and
    allow users to change the date and time. Press Del
    key at the BIOS boot screen to enter. (Wengier)
  - Added config option "showbasic" in [sdl] section
    which when set to false will hide DOSBox-X version
    number and running speed in the titlebar. (Wengier)
  - Added experimental option to load a VGA BIOS ROM
    image and execute it, instead of our own INT 10h
    emulation. If enabled, it will load the specific
    ROM file into C000:0000. If not specified, it
    will choose based on machine type. VGA BIOS ROM
    images (e.g. et4000.bin for Tseng ET4000 emulation)
    can be dumped from real hardware or downloaded from
    the PCem ROMs collection. It can be set with config
    option "vga bios rom image" in [video] section.
  - Improved handling for file- and record-locking
    for non-Windows platforms. Portions of the code
    are adopted from DOSEmu. (Wengier)
  - Improved handling for the setting "ansi.sys=false",
    such as fixing the welcome screen messup in this
    case and allowing the use of a custom ANSI TSR
    (such as NNANSI.COM) instead. (Wengier & stu)
  - You can now press Ctrl+C or Ctrl+Break to break
    from long outputs from commands like TYPE, MORE,
    COPY, DIR /S, and ATTRIB /S. (Wengier)
  - Renamed MEM.COM to MEM.EXE to match DOS. (Wengier)
  - Rewrote built-in TREE command instead of the one
    from FreeDOS to support long filenames. (Wengier)
  - DELTREE is now an external command appearing on
    drive Z: as DELTREE.EXE instead of a builtin shell
    command, since it is an external command in a real
    DOS system. (Wengier)
  - Added REPLACE command to replace files, resembling
    the MS-DOS counterpart. This command is compiled
    with long filename support. (Wengier)
  - Added PUSHD and POPD commands so that you can store
    the current directory and changes to the specified
    directory (optionally also the current drive), then
    changes the directory/drive back. PUSHD command
    without arguments show stored path(s). (Wengier)
  - Added COLOR command to change current foreground
    and background colors. It usage is similar to the
    same-named command in the Windows command prompt.
    For example, command "COLOR fc" produces light red
    on bright white; COLOR without an argument restores
    the original color. (Wengier)
  - Added CHCP command to view the current code page,
    or change the current code page for the TrueType
    font (TTF) output. Supported code pages include:
    437, 808, 850, 852, 853, 855, 857, 858, 860, 861,
    862, 863, 864, 865, 866, 869, 872, and 874. You can
    now also set the code page for TTF output via the
    optional second parameter of the "country" option
    in [config] section of the configuration. (Wengier)
  - Added function to automatically save states in the
    specified time interval (in seconds). You can also
    specify a save slot or start and end save slots to
    be used. For example, "autosave=10 11-20" will set
    a 10-second time interval for auto-saving, and the
    save slots used will be between 11 and 20. If no
    save slot is specified, then the current save slot
    will be used for auto-saving. Putting a minus sign
    before time interval causes the auto-saving function
    to not be activated at start. You can optionally
    also specify up to 9 program names for this feature,
    e.g. "autosave=10 11-20 EDIT:21-30 EDITOR:35" will
    cause program "EDIT" to use save slots 21-30, and
    "EDITOR" to use save slot 35, and other programs to
    use save slots 11-20. Added a menu option "Auto-save
    settings..." to manage the auto-saving feature at
    run-time. A menu option "Enable auto-saving state"
    is added to the "Save/load options" menu group under
    "Capture" to toggle auto-saving when the function is
    enabled. Likewise, a menu option "Select last auto-
    saved slot" is added to the "Select save slot" menu
    group (also under "Capture") to switch to the last
    auto-saved slot (if any). (Wengier)
  - The Configuration Tool windows are now scalable, so
    that they will no longer look very small in e.g.
    full-screen or High DPI modes. (ant_222)
  - If the -defaultdir option is the only or the last
    command-line option and no parameter is specified,
    then directory of the primary config file (if any)
    becomes the DOSBox-X default directory. (Wengier)
  - You can now change the current output dynamically
    with CONFIG command, e.g. "CONFIG -set output=ttf"
    and "CONFIG -set output=default". (Wengier)
  - The command "KEYB US" will return the DOS codepage
    to 437 if current codepage is different. (Wengier)
  - The setting "output=default" will enable the OpenGL
    output for Linux systems if possible. (Wengier)
  - Fixed the CGA/MCGA/MDA/Hercules-specific shortcut
    function buttons in Mapper Editor, and the screen
    colors after exiting from Mapper Editor when using
    these machine types in Direct3D output (SDL1 build).
    Also fixed the messages in the welcome banner for
    these machine types to inform users the new default
    shortcuts (Ctrl(+Shift)+[F7/F8]). (Wengier)
  - Fixed DOS Int21/AH=0x5a "Create temporary file"
    function not generating unique files. (Wengier)
  - Fixed that the current drive goes back to Z drive
    when combined unmounts & mounts are used. (Wengier)
  - Fixed PC-98 keyboard handling of CTRL+A through
    CTRL+Z. CTRL+C now works correctly in PC-98 mode.
  - Fixed crash of Free Pascal compiler with dynamic
    core and setting "use dynamic core with paging on =
    auto" introduced in the previous version. (Wengier)
  - Fixed launching Windows programs when the working
    directory has no 8.3 filename entry. (Wengier)
  - Fixed issues with full-screen switch in some cases
    when the TrueType font output is enabled. (Wengier)
  - Fixed an issue in MinGW builds that no data will be
    sent to the OPL3Duo board. (DhrBaksteen)
  - Fixed screen flickering when hovering over the menu
    with Direct3D output in the Windows SDL2 build that
    was introduced in the last version. (Wengier)
  - Fixed mounting disk/CD images with long paths from
    the "Drive" menu may not work properly. (Wengier)
  - Fixed that the "Save" button in Configuration Tool
    did not save config file in last version. (Wengier)
  - Integrated SVN commits (Allofich)
    - r4346: Fix a long-standing crash that occurred
    when disconnecting a second joystick after
    partially mapping it.
    - r4344: Add F8 to toggle printable characters on
    and off in the debugger.
    - r4340: Fix behavior when main memory allocation
    fails.
    - r4336: Correct an oversight of r4186 when floppy
    disks are mounted.
    - r4330: some big endian improvements and drive_fat
    fixes. (jmarsh)
    - r4320: Report Q-Channel track number in BCD,
    meaning it is not converted to binary by the
    CD-ROM device driver. Fixes the CD-Player feature
    of DOS Navigator 1.51 when playing past track 15.
    - r4318: Add LOGC debug command to log cs:ip only.
0.83.10
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.10.html
  - The Windows key(s) in Windows and the Command key(s)
    in macOS will now be displayed as the "Windows" and
    "Command" keys instead of the "super" and the "meta"
    keys in SDL1 builds just like SDL2 builds. (Wengier)
  - Cursor blinking rate for TrueType font (TTF) output
    can now be customized with the ttf.blinkc option.
    Set an integer between 1 (fastest) and 7 (slowest)
    to change TTF cursor blinking rate, or setting it to
    0 for no cursor (or false for non-blinking cursor as
    in previous versions), with the default value being
    6 on PC-98 systems and 4 elsewhere. (Wengier)
  - Fixed parallel port emulation to allow MDA port 3BCh
    to work properly.
  - Enhanced the printer function on Windows platforms
    to allow printer names to be specified in [printer]
    section via the "device" option for direct printing
    to the selected device. If left empty, then Windows
    Print dialog will always be shown, or specifying "-"
    will cause it to show only once (unless the user
    clicks "Cancel"). Under "Help" menu there is now a
    menu option "List Printer Devices" to list printer
    devices on Windows, and the parallel port LPT1 now
    defaults to the printer on all platforms. (Wengier)
  - The dynamic_x86 CPU core can now handle page faults
    non-recursively, so you can now run the dynamic_x86
    core with Windows 9x/ME without crashes, although
    this may slightly decrease the performance, and it
    may be disabled by setting the config option "use
    dynamic core with paging on" in [cpu] section to
    "false"; the default value of this option has been
    changed to "auto" which will enable/disable itself
    based on whether the 386 paging and a guest system
    has been enabled. Also fixed incorrect behavior for
    handling trap flags in the dynamic core and updated
    the MMX code for improved performance. (koolkdev)
  - Added support for Direct3D output on Windows SDL2
    builds just like Windows SDL1 builds to become the
    default output in all Windows builds. (Wengier)
  - DOSBox-X now natively supports the pixel-perfect
    scaling! Set the option "output=openglpp" in [sdl]
    section of the config file to enable this output.
    Alternatively, the output can be selected from the
    menu ("Video" => "Output" => "OpenGL perfect") at
    run-time. It is recommended to set config options
    and "aspect=true" (whenever the emulated display
    has an aspect ratio of 4:3) and "doublescan=false"
    for openglpp output. Also, with high DPI displays
    (e.g. on Windows 7+ with DPI scaling enabled) it
    works better with full-screen mode and the setting
    "dpi aware=true". It was implemented by ant_222
    (patch author) with some code cleanups by Wengier.
  - Updated the Windows installer to add a page for
    new users to select a video system output to use -
    the default output (Direct3D), OpenGL with pixel-
    perfect scaling (openglpp or "OpenGL perfect") for
    improved image quality, and the TrueType font (TTF)
    output for text-mode DOS applications. (Wengier)
  - You can now supply a ZIP/7Z file as a parameter to
    DOSBox-X directly so that it will be mounted as C:
    drive when DOSBox-X starts. (Wengier)
  - Added overlay support for mounting PhysFS drives
    so that you can specify a write location when you
    mounted a ZIP/7Z archive by adopting an old patch.
    For example, command "MOUNT C C:\DIR -T OVERLAY"
    will specify path C:\DIR(\C_DRIVE) as the write
    location after mounting C: drive as a PhysFS drive
    with a command like "MOUNT FILES.ZIP". (Wengier)
  - Added ability to resolve file paths that include
    environment variables on Windows or tildes (~) on
    other platforms for various options in the config
    file, such as language and mapper file paths, MT32
    ROM & FluidSynth soundfont paths, [config] section
    options as well as file outputs for the printing
    and serial/parallel port functions. (Wengier)
  - Added calculator for DOS (EVAL.EXE), which appears
    on Z drive and can calculate both simple (such as
    sin(0) and cos(0)) and many advanced mathematical
    expressions in either command-line mode and or the
    interactive mode. (Wengier)
  - Added support for standard (VGA/EGA/CGA) and mono
    mode dual-screen setup by porting the patch. You
    can now start DOSBox-X with the option -display2
    followed by a color (white, green, amber) to enable
    this feature on debug builds. (Wengier)
  - You can now translate texts in DOSBox-X's drop-down
    menus. The message files as written by the config
    tool (CLI or GUI) will contain the menu texts for
    translations from the English language. (Wengier)
  - Added "file access tries" config option (in [dos]
    section) so that if a positive integer is provided
    (e.g. 1 or 3) DOSBox-X will try to read/write/lock
    files on mounted local drives for the specified
    number of times before failing on Windows builds.
    It is especially useful for networked DOS database
    applications that require record locking. (Wengier)
  - Added "bannercolortheme" config option (in [dosbox]
    section) so that users can change the background
    color theme of the welcome banner from the default
    blue color when DOSBox-X starts. (Wengier)
  - Added "pcaptimeout" config option (in the [ne2000]
    section) to specify a read timeout value for pcap
    in milliseconds, or default value (-1 on Windows
    or 3000 otherwise) will be used. (Wengier & Jookia)
  - Added "Save & Restart" button to the Configuration
    Tool's "Save" option for saving the config file and
    then automatically restarting DOSBox-X with this
    saved configuration. Command-line options -wcboot,
    -wcdboot and -wcpboot are added to CONFIG command
    which resemble -wc, -wcd, and -wcp options but will
    reboot DOSBox-X after writing configfile. Command-
    line option -bc (-bootconf) is also added to reboot
    with specified config file (or the primary loaded
    config file if not specified) directly. (Wengier)
  - The config option ttf.font will now search for TTF
    fonts in the directory as specified by the fontpath
    option in [printer] section too. (Wengier)
  - Added special properties to CONFIG command such as
    "screenwidth", "screenheight", "windowwidth", and
    "windowheight" so that commands like "CONFIG -GET
    screenwidth" and "CONFIG -GET screenheight" will
    get the current screen width and height. (Wengier)
  - BOOT command without a parameter will now try to
    boot the current drive if possible. (Wengier)
  - You can now change properties such as "fullscreen",
    "glshader" and "windowposition" dynamically with
    CONFIG command. For example, command "config -set
    fullscreen=true" and "config -set windowposition="
    will now switch on the full-screen mode and center
    the window position respectively. For TrueType font
    output, you can now also change the TTF font, the
    number of rows and columns on the TTF screen, and
    the word processor for TTF dynamically using CONFIG
    command, e.g. "config -set ttf.font=test", "config
    -set ttf.lins=30", "config -set ttf.cols=100" and
    "config -set ttf.wp=wp". The limits for the options
    ttf.cols and ttf.lins are increased too. (Wengier)
  - Implemented the DOS network redirector functions so
    that the host name can be reported to DOS programs,
    unless the secure mode is enabled. You may need to
    set either the option ipx=true in [ipx] section or
    the option ne2000=true in [ne2000] section. Also
    added config option "network redirector" to [dos]
    section which if set to false disables the network
    redirector even with IPX/NE2000 enabled. (Wengier)
  - Fixed an issue that the DOSBox-X window size may be
    incorrect when restoring from a maximized window in
    the SDL2 builds. (Wengier)
  - Fixed that the menu option "Select OpenGL (GLSL)
    shader.." not working properly sometimes. (Wengier)
  - Fixed Ctrl+C not working in GNU ed. (Wengier)
  - Fixed large ISO images (>2GB) unable to be mounted
    using IMGMOUNT command. (Wengier)
  - Fixed build failure on Gentoo Linux. (fonic)
  - 3dfx games can now work with the Glide passthrough
    feature when a guest system (guest DOS or Windows
    9x) is currently running. The default setting for
    config option "keep private area on boot" in [dos]
    section is changed from "false" to "auto". (Wengier)
  - Improved the speed of the Voodoo hardware emulation
    for running games like Tomb Raider 3dfx. (Wengier)
  - Improved OPL3Duo support, such as adding a buffer
    thread to get rid of slowdowns & breakups in audio
    playback when using the board. (DhrBaksteen)
  - Updated the Tiny File Dialog library to the latest
    version v3.8.5, which fixes issues such as the
    compatibility problem with Windows XP. (Wengier)
  - Updated FLAC, MP3, and WAV CD-DA decoder libraries
    to the latest versions (0.12.28, 0.6.26 and 0.12.18
    respectively; per David Reid). (Wengier)
  - Integrated SVN commits (Allofich & Wengier)
    - r4426: Emulate debug register 6 during trap flag
    emulation (and normal int 1). Fixes 544 (jmarsh)
    - r4401: Improve xchg to handle unwritable memory
    better for core_dyn_x86.
    - r4399: Finish up and add LOOP_NE and LOOP_E for
    core_dyn_x86.
    - r4393: Remove video page check when drawing
    internal mouse pointer, as the BIOS current page
    is not updated in some cases. Fixes QQP games: Lost
    Admiral, Conquered Kingdoms, and Solitaire's
    Journey. Also be a bit smarter about enabling
    autolock, supporting more cases where the mouse
    is used for input without resetting it.
    - r4392: Improve capturing of Zeliard and fix a
    few percussion-related capturing problems as well.
    - r4310: Improve PMAKE on big endian machines and
    fix some bugs. Fixes bug in 16 -> 15 bit color
    conversion.
    - r4309: Copy working directory when mounting an
    overlay.
    - r4307: Refinement of SoundBlaster checks, so no
    IRQ is raised when not in autodma mode.

0.83.9
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.9.html
  - Physical CD drives are now mountable in SDL2 builds
    just like SDL1 builds, so commands like "MOUNT -CD"
    should work in both SDL1 and SDL2 builds. Some code
    is adopted from the SDL2_CDROM library. (Wengier)
  - Implemented file locking support for mounting disk
    image files so that you cannot mount the same disk
    image files in read/write mode at the same time as
    this can cause possible disk corruptions. A config
    option "locking disk image mount" is added to the
    [dosbox] section which when set to false (or if the
    user mounts the image files read-only) will bypass
    the locking of image files. Also improved the DOS
    file locking function, which can be disabled by
    setting "share=false" in [dos] section. (Wengier)
  - Implemented PhysFS support so that you can mount
    archives (e.g. ZIP/7Z) as drives in read-only mode,
    e.g. "MOUNT C TEST.ZIP" or "MOUNT D FILES.7Z". Some
    code is ported from a custom DOSBox fork. The menu
    option "Mount an archive file (ZIP/7Z)" is added to
    Drive menu to mount archives as Drives. (Wengier)
  - INT 13h now obeys the "hard drive data rate limit"
    setting, using the same disk I/O delay code as
    INT 21h file I/O. [Issue #2039]
  - Linux/X11 SDL1 builds: Combine window move/resize
    into one call if possible, and not during window
    manager hints, to avoid resize problems with the
    XFCE 4.14 platform.
  - Added menu option "Create blank disk images..."
    (under "DOS" menu) to create blank floppy or hard
    disk images of a common disk size, including 360KB,
    400KB, 720KB, 1.2MB, 1.44MB and 2.88MB for floppy
    disk images and 250MB, 520MB, 1GB, 2GB, 4GB and 8GB
    for hard disk images. The 1GB option (-t hd_1gig)
    is also added to IMGMAKE command. (Wengier)
  - The Configuration Tool will now be centered within
    the DOSBox-X window for a better looking. (Wengier)
  - Added config option "synchronize time" in [dosbox]
    section which when set to true will allow DOSBox-X
    to automatically synchronize the date and time with
    the host system, unless you manually change date
    and/or time. A menu option "Synchronize host date/
    time" is added to the DOS menu. The function uses
    IRQ0 handler; it will not work in PC-98 mode nor if
    the timer isn't running at the standard 18.2Hz tick
    rate, as any other rate does not make sense and
    will cause only jitter and error. Also fixed two
    Demoscene entries sl_fokus and sl_haloo which use
    BIOS_TIMER with a faster hardware tick rate.
  - Added config option "showdetails" which when set to
    true enables the menu option "Show FPS and RT speed
    in title bar" at start. It is equivalent to -showrt
    and -showcycles command-line options. (Wengier)
  - Improved compatibility with Watcom C++ 2.0 when
    long filename (LFN) support is enabled. (Wengier)
  - Added support for starting DOSBox-X in a specific
    display on a multi-screen setup (Windows builds as
    well as Linux/macOS SDL2 builds). A config option
    "display" is added to the [sdl] section that users
    can specify a display for the DOSBox-X window to
    start. The option can be combined with the existing
    "windowposition" config option to specify the
    position on the specified display/screen. (Wengier)
  - DOSBox-X will now pop up a message box to inform
    the user when a Direct3D pixel shader is loaded
    from the menu on the Windows platform. (Wengier)
  - Extended serial (COM) ports from COM1-COM3 to COM1-
    COM9 in the [serial] section. The config options
    serial4-9 are advanced options. You can optionally
    specify base addresses for any serial ports. When
    the "file" option is used, you can additionally
    specify a program to open the file with "openwith"
    option. If the specified program cannot be executed
    due to some problem, DOSBox-X will try to start a
    program as specified with the "openerror" action,
    or it will show an error. For both serial (COM) and
    parallel (LPT) ports options, the program commands
    can be quoted with double quotes, or with single
    quotes if the "squote" option is added. (Wengier)
  - Extended parallel (LPT) ports from LPT1-LPT3 to
    LPT1-LPT9 in the [parallel] section. Config options
    lpt4-9 are advanced config options. You can also
    optionally specify base addresses and IRQs for
    these ports. The parallel1-9 config options are
    enhanced to allow the generated files to be started
    with the specified action: "openpcl" to start a
    program to open the file if the print output is
    detected to be PCL; "openps" to start a program if
    the print output is detected to be PostScript (PS);
    "openwith" to start a program otherwise. If you'd
    like to specify parameters then be sure to properly
    quote the string(s). Furthermore, if any of the
    specified program(s) cannot be executed, DOSBox-X
    will try to start a program as specified with the
    "openerror" action, or show an error. (Wengier)
  - Added "openwith" and "openerror" config options to
    [printer] section to start the specified program to
    open the printer output file. The [printer] section
    also accepts "fontdir" option where you can change
    the path ("FONTS" by default) where the printer TTF
    fonts (including courier.ttf, ocra.ttf, roman.ttf,
    sansserif.ttf, script.ttf) are located. If no TTF
    font can be found (either from the custom path or
    system path) for printing, the internal TTF font
    for the TTF output will be used. (Wengier)
  - Added read-only options to the Drive menu to mount
    host folders/drives or image files to the specified
    drive letter in read-only mode. (Wengier)
  - You can now use a single mapper file for both SDL1
    and SDL2 versions of DOSBox-X! The new mapper file
    will be divided to sections [SDL1] and [SDL2] for
    both versions. The mapper file can be specified
    with the mapperfile config option, or you can set
    the mapperfile_sdl1 and mapperfile_sdl2 config
    options to override mapperfile option. (Wengier)
  - Added -defaultmapper command-line option which will
    use default key bindings for the mapper. (Wengier)
  - The menu functions "Load mapper file", "Quick edit
    mode", "Stop clipboard pasting" and "Display state
    information" have been added to the key mapper so
    that you can now define your own shortcut keys to
    activate these functions. (Wengier)
  - The default shortcuts for the "Copy to clipboard",
    "Paste from clipboard", and the "Reset window size"
    functions are now Ctrl+F5, Ctrl+F6 and Host(F11/F12)
    +BackSpace respectively. (Wengier)
  - Added ttf.fontbold, ttf.fontital, and ttf.fontboit
    config options so that you can specify actual bold
    italic, and bold-italic TrueType fonts for use with
    the TTF output that will render the bold, italic,
    and bold-italic text styles using the actual TTF
    fonts (e.g. consolab, consolai, consolaz instead of
    consola) instead of making the original TTF font
    bold, italic, bold-italic automatically. (Wengier)
  - DOSBox-X now supports the use of arrow keys (left,
    right, up, down, home, end) to select and copy text
    to the host clipboard in addition to a mouse button
    (subject to the specified key modifier, or use the
    QuickEdit function). The arrow keys will move the
    selections; press Home key to start the actual text
    selection and End key to end text selection and to
    copy to the clipboard; press ESC key to cancel text
    selection. Set config option "clip_mouse_button" to
    "arrows" to enable it, or select it from "Shared
    clipboard functions" menu group. (Wengier)
  - You can now press the key combination Ctrl+Tab in
    the shell to see a list of files/directories that
    can be completed by the Tab completion. (Wengier)
  - Added SETCOLOR command to view or change the text-
    mode color scheme settings. Also fixed the color
    palette for the TTF output. (Wengier)
  - Separated "TTF options" menu group that contains
    TrueType font (TTF) related menu options from the
    "Text-mode" menu group in "Video" menu. (Wengier)
  - The "Show menu bar" option now appears in system
    menu of the Windows SDL2 build too. (Wengier)
  - If a language file fails to load, DOSBox-X will now
    show a warning dialog instead of exiting. (Wengier)
  - The option "clip_key_modifier" now accepts values
    like "ctrlalt", "ctrlshift", "altshift". (Wengier)
  - Fixed 2D texture not showing for 3dfx games in the
    Glide passthrough mode. (Wengier)
  - Fixed the mouse sensitivity menu option (under the
    "DOS" menu) not working. (Wengier)
  - Fixed the color palette problem when switching to
    graphic mode from mono mode. (Wengier)
  - Fixed full-screen TTF output may not fully cover
    the background screen in Linux. (Wengier)
  - Fixed that lines starting with "%" in [autoexec]
    section are being ignored. (Wengier)
  - Fixed issues with building the code with original
    MinGW using the ./build-mingw script. (Wengier)
  - Fixed option "output=ttf" not working properly with
    -startui/startmapper command-line option. (Wengier)
  - When the mouse is captured, the title bar will show
    the shortcut to release the mouse. (Wengier)
  - IMGMOUNT now assumes the ISO type for .GOG/.INS
    files (which are equivalent to .CUE/.INS files)
    if no type is specified by the user. (Wengier)
  - Improved the dynamic core including the way its
    cache is allocated and to support dual mapping.
  - The FREECG98.BMP file (for PC-98 mode) is now
    rendered based on a unifont_jp TTF font instead
    of UnifontFullMediumMono.ttf. (roytam1)
  - Added support for automatic switching from TTF
    output to another output in PC-98 mode, allowing
    Windows 3.1 to run in this mode. (Wengier)
  - Added OPL3Duo support, which passes OPL3 output
    to an OPL3Duo Arduino board with a specific
    configuration if desired. Set the config option
    "oplemu=opl3duoboard" to use it. (josephillips85)
0.83.8
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.8.html
  - Added support for scalable TrueType font (TTF)
    output for text-mode programs. Set "output=ttf"
    and optionally a monospaced TTF font (such as
    consola) with config option "ttf.font" to use it.
    Lines and columns can be specified with config
    options "ttf.lins" and "ttf.cols", and the cursor
    can be made blinking with the option "ttf.blinkc".
    The config options "ttf.ptsize" and "ttf.winperc"
    can be used to set the TTF font size and window
    percentage respectively. If you specify a TTF font
    size with "ttf.ptsize" then "ttf.winperc" will be
    ignored. You can also specify a word processor
    (WP=WordPerfect, WS=WordStar, XY=XyWrite) for the
    on-screen text-style and 512-character font (WP)
    features. When using the TTF output DOSBox-X will
    temporarily switch to a different output when a
    graphical mode is requested (or when trying to take
    a screenshot); the TTF output will be auto-switched
    back later), which can be customized via config
    option "ttf.outputswitch" (which defaults to auto).
    Menu items in the "Text-mode" menu group (under
    "Video" menu) have been expanded to support TTF
    options such as increasing/decreasing the TTF font
    sizes and on-screen text style toggling (including
    bold, italics, underline and strikeout). You can
    also select a TTF font to use at run-time with the
    "Select TrueType font (TTF)" menu option. (Wengier)
  - Added the "Load mapper file..." menu option (under
    "Main") to select and load a DOSBox-X mapper file
    at run-time. Be sure to select a SDL1 mapper file
    for SDL1 builds, and similar for SDL2. (Wengier)
  - You can now select a host key from the menu (under
    "Main") including Ctrl+Alt, Ctrl+Shift, Alt+Shift,
    or use the mapper-defined host key as in previous
    versions (which default to F11 on Windows and F12
    otherwise). A config option "hostkey" is added so
    that you can specify it from config file. (Wengier)
  - Pasting text from the clipboard on macOS SDL1 build
    is now supported like Linux SDL1 build. (Wengier)
  - Added support for ARM-based Apple M1 MacBook. The
    dynamic core now works on ARM-based macOS systems.
    SDL1 builds updated to use newer audio APIs on the
    macOS platform so that the audio works once again
    when compiled and run on macOS 11 (Big Sur). Prior
    to the change, ancient versions of the API dating
    back to the mid 2000s were used which no longer
    work on Big Sur.
  - DOSBox-X will now look for the config file (i.e.
    dosbox-x.conf/dosbox.conf) and the mapper file in
    the directory containing the DOSBox-X executable
    too if the config or mapper file cannot be found
    in the DOSBox-X working directory. (Wengier)
  - The system menu in Windows SDL1 builds is now also
    available for Windows SDL2 builds, and menu items
    "Reset font size", "Increase TTF font size" and
    "Decrease TTF font size" are added. (Wengier)
  - Enhanced the mapper editor interface to allow more
    keyboard shortcuts to be added, shown in multiple
    pages in the mapper, navigable with the "Previous
    Page" and "Next Page" buttons. The text in the
    grids are now longer and clearer too. The default
    shortcuts for a few items are changed to use the
    Host key style (e.g. Host+S and Host+L for saving
    and loading states respectively). (Wengier)
  - Added menu item "List network interfaces" under
    "Help" menu to list network interfaces in the host
    system for the NE2000 feature. (Wengier)
  - Added menu group "DOS commands" under "Help" menu
    to display the help content for the selected DOS
    shell command (DIR, CD, etc). (Wengier)
  - Configuration Tool now provides the option to save
    to the primary or user config files. (Wengier)
  - Certain config options (e.g. doublescan) that were
    marked as advanced options are now general config
    options and will appear in dosbox-x.reference.conf
    apart from dosbox-x.reference.full.conf. (Wengier)
  - Added config options "saveremark" (default: true)
    and "forceloadstate" (default: false) in [dosbox]
    section which can be used to control if DOSBox-X
    should ask users to enter remarks when saving a
    state or show warnings when loading a saved state
    if there is a mismatch found. (Wengier)
  - The config option "pixelshader" is moved from the
    section [gui] to [render] so that it will be in the
    same section as the option "glshader". (Wengier)
  - Added menu item "Select OpenGL (GLSL) shader..." to
    allow OpenGL shader switch from the menu, just like
    the function for Direct3D pixel shaders. (Wengier)
  - Added menu item "Show IDE disk or CD status" under
    "DOS" menu to show the current assignments (disk or
    CD image) of the IDE controllers. (Wengier)
  - Fixed IDE CD assignment may not be reset when soft
    reboots are activated from guest systems. (Wengier)
  - The program 80x43.COM is added into the ZIP package
    TEXTUTIL.ZIP on the Z drive. You can also change
    current text screen to the 80x43 mode from the menu
    group "Text-mode" under "Video" menu. (Wengier)
  - Enhanced MODE command so that you can change the
    number of columns and lines in the screen with the
    syntax "MODE CON COLS=c LINES=n" (c=80 or 132, and
    n=25, 43, 50, or 60). The command "MODE CON" will
    show the current number of columns and lines in the
    screen as in a real DOS system. (Wengier)
  - Added FLAGSAVE command for the save state feature
    to flag (mark) one or more files to be saved and
    loaded. Type "FLAGSAVE /?" for more information on
    this command. (PogoMan361 and Wengier)
  - Enhanced A20GATE command to show the current status
    of the A20 gate when no parameter is given, along
    with other small improvements. (Wengier)
  - INT 21h DOS=HMA emulation, to enable the A20 gate,
    and autoa20fix, to disable the A20 gate, now checks
    whether the CPU is running in virtual 8086 mode.
    If vm86 detected, the code will control the A20
    gate by calling the XMS interface instead of direct
    reading/writing via port 92h. This consideration
    is required for autoa20fix to cooperate with
    Microsoft Windows 3.1. Note that Windows 3.1 does
    not virtualize port 92h. If it did, this workaround
    would not be necessary.
  - Added -a option to LOADFIX command which will auto
    allocate enough memory to fill lowest 64KB memory
    instead of using exactly 64KB memory. (Wengier)
  - Added autofixwarning option (true by default) which
    allows user to silence the messages when DOSBox-X
    tries to auto-fix "Packed file is corrupt" error
    when running a program with this issue. (Wengier)
  - Added autoa20fix option (enabled by default). This
    option when enabled attempts to resolve EXEPACK
    "Packed file is corrupt" errors by temporarily
    disabling the A20 gate and running the program
    again. This may provide better support for affected
    DOS applications than the LOADFIX option. If both
    autoa20fix and autoloadfix are set, then autoa20fix
    will be tried first, and if it did not work then
    autoloadfix will be tried next.
  - The autoloadfix config option changed to allocate
    only enough memory to keep the executable above the
    64KB boundary, instead of blindly allocating 64KB.
  - Fixed menu items "Rescan drive" and "Swap disk" in
    "Drive" menu being reversed. (Wengier)
  - Fixed CD audio issue with the game "The Secret of
    Monkey Island" when talking to the pirate in Scumm
    Bar by adapting the patch that fixes it. Thanks
    kcgen for the fix logic. (Wengier)
  - Added support for MAME CHD CD images. You can now
    mount CHD images with IMGMOUNT command, or from the
    Drive menu. Based on libchdr library and the work
    of the user whocares010. (Wengier)
  - Updated FLAC/MP3/WAV CD-DA decoder libraries to the
    latest versions (versions 0.12.22, 0.6.19, 0.12.14
    respectively). Thanks to mackron & kcgen. (Wengier)
0.83.7
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.7.html
  - The primary DOSBox-X Wiki is now located at the
    URL: https://dosbox-x.com/wiki (Wengier)
  - Implemented the x86 dynamic core for both 32-bit
    and 64-bit systems by re-porting the code from SVN.
    Dynamic core now supports either the dynamic_x86
    or the dynamic_rec core. The dynamic_x86 core will
    be used by default for x86 and x86_64 platforms and
    if "core=dynamic" is set, and Windows 9x can be run
    in this dynamic core (although at this time may
    encounter some issue with the S3 driver). You can
    also explicit specify setting "core=dynamic_x86" or
    "core=dynamic_rec" for either the dynamic_x86 core
    or the dynamic_rec core. Also thank joncampbell123
    for the 64-bit fix. (Wengier)
  - You can now use your own save file (in addition to
    save slots! There are now a "Use save file" toggle
    item and "Browse save file..." for browsing save
    files on your computer. A config option "savefile"
    (in [dosbox] section) is added to specify a save
    file to use at start. (Wengier)
  - Save state feature now allows users to optionally
    enter remarks when saving a state. A submenu group
    "Save/load option" is added (under "Capture") where
    you can toggle menu items "No remark when saving
    state" (for disabling input of remarks when saving)
    and "force load state mode". A menu item "Display
    state information" is added as well to display the
    information of the saved state. (Wengier)
  - DOSBox-X will now use native dialog box to display
    quit warnings and save state errors. (Wengier)
  - Changed some DOS error messages (such as "Illegal
    command" which now reads "Bad command or filename")
    similar to real DOS systems. (Wengier)
  - ADDKEY and INT2FDBG commands now appear as programs
    on Z: drive instead of shell commands. (Wengier)
  - Improved the -z (move virtual drive Z:) function of
    MOUNT command. You can move the virtual drive as
    many times as you want, and save/load states will
    work even after you move the Z: drive. (Wengier)
  - Enhanced the config option "freesizecap" to allow
    the setting "fixed" which is the same as "false",
    and a new setting "relative" is added, which will
    be similar to the setting "fixed" but the reported
    free disk size will also change relative to the
    change of the free disk size ever since. (Wengier)
  - Added support for Opus CD-DA tracks by porting and
    cleaning up the source code from other projects.
    Many thanks to Marty Shepard and kcgen. (Wengier)
  - Support for FluidSynth MIDI Synthesizer is now
    included in the MinGW builds by default just like
    Visual Studio builds. Set "mididevice=fluidsynth"
    and a soundfont file to use it. (Wengier)
  - Enabled xBRZ scaler for Visual Studio SDL2 builds
    just like Visual Studio SDL1 builds. (Wengier)
  - Added menu item "Show Sound Blaster configuration"
    under "Sound" menu to show the current information
    about Sound Blaster, and also menu item "Show MIDI
    device configuration" (also under "Sound" menu)
    to show information about the current MIDI device
    such as the soundfont file in use. (Wengier)
  - Added "Mount multiple disk/CD images" option to the
    mounting options of the Drive menu to allow users
    to mount more than one disk/CD images to a drive,
    swappable from the menu. Also added separators to
    the Drive submenu to make it look better. (Wengier)
  - Added new CPU types to the "Emulate CPU speed" menu
    group namely 286-25MHz, 386DX-25MHz, 486DX4-100MHz,
    486DX5-133MHz, Pentium-60MHz, Pentium-75MHz, and
    Pentium-90MHz. Thanks again for the data provided
    by the user maximus105. (Wengier)
  - You can now select a special key (e.g. Alt+Tab,
    Ctrl+Break, Ctrl+Alt+Del, etc) to be sent from the
    key defined in the mapper editor. The key can be
    selected (Ctrl+Alt+Del by default) from the "Send
    special key" menu group in "Main" menu. (Wengier)
  - Added full Ctrl+Break emulation at the BIOS and
    DOS level, updated console emulation to match.
    The "Pause" mapper shortcut is now moved to
    HOST[F11/F12]+Pause instead of Ctrl+Pause so that
    Ctrl+Break can work properly for users, and the
    function to send the Ctrl+Break key from the menu
    ("Send special key" under "Main") is added. Also,
    the PC-98 STOP key now functions the same as the
    Ctrl+C and Ctrl+Break keys in IBM PC mode.
  - Added functions "CopyToClipboard" and "QuickRun" to
    the mapper editor so that you can use shortcuts to
    activate them (default shortcuts: HOST(F11/F12)+A
    and HOST(F11/F12)+Q respectively), and a default
    shortcut HOST(F11/F12)+V is added to the clipboard
    paste function. Meanwhile, FullCore and SimpleCore
    shortcuts are removed from the mapper. (Wengier)
  - Added two new menu items in the "Shared clipboard
    functions" menu group under "Main", including "Copy
    all text on the DOS screen" which will copy all
    screen text to the clipboard, and "Stop clipboard
    pasting" which allows user to stop pasting in the
    middle of pasting long clipboard content. (Wengier)
  - The mouse copy/paste feature is now available for
    non-Windows systems on SDL2 builds. Also, pasting
    from the clipboard with a mapped shortcut is also
    available for Linux/X11 on SDL1 builds. (Wengier)
  - Added "Use US keyboard layout" toggle menu item in
    the "PC-98" menu group under "Video" to select
    whether to force the default US keyboard layout in
    PC-98 mode, same as the "pc-98 force ibm keyboard
    layout" config option in [pc98] section. Also moved
    the "PC-98 PIT master clock" options from the "DOS"
    menu to this menu group. (Wengier)
  - The full dosbox-x.reference.conf file is renamed to
    dosbox-x.reference.full.conf. The original file
    dosbox-x.reference.conf now contains common config
    options instead of all config options. (Wengier)
  - The CONFIG command and Configuration Tool will now
    save common and modified config options by default.
    The -all command-line option (or "Save all options
    to the configuration file" checkbox) will force to
    save all config options. A new -mod command-line
    option is added to CONFIG command to save modified
    config options only, and a new -norem command-line
    option is added to not write remarks. (Wengier)
  - Updated the Windows installer to default to the
    "typical" installation. For the full installation
    start menu items will be added for DOSBox-X builds
    copied to subdirectories. A new checkbox "Write
    common config options (instead of all) to the
    configuration file" is added which when checked
    will only write common and modified advanced config
    options to the config file. Furthermore, for both
    "typical" and "full" installations the Windows
    installer will now also copies the DLL files
    inpout32.dll (32-bit) and inpoutx64.dll (64-bit) to
    the DOSBox-X install directory for use with the
    direct parallel port passthrough feature. (Wengier)
  - Improved Flatpak support for Linux. (rderooy)
  - Improved message for the -help command-line option,
    adding for example -silent and -socket command-line
    options in the help messages. (Wengier)
  - Added -silent command-line option to run DOSBox-X
    silently (without showing the DOSBox-X window) and
    then exit after executing AUTOEXEC.BAT. (Wengier)
  - Fixed command-line option -socket not working for
    the null-modem feature. (Wengier)
  - Fixed issue that aspect ratio not being respected
    in full-screen mode when a GLSL shader is enabled
    with an OpenGL output. (Wengier)
  - Fixed toggle in the "Frameskip" menu group did not
    change when selecting a different option. (Wengier)
  - Fixed shelling from programs may not work when the
    shell config option is set. (Wengier)
  - The default country setting ("country" option in
    [config] section]) now defaults to auto-detection
    if possible, or 81 (Japan) in PC-98 mode. (Wengier)
  - Increased the default maximum DOS files (adjustable
    from [config] section) from 127 to 200. (Wengier)
  - Improved resetting with LOADLIN program. (Wengier)
  - Improved Gravis Ultrasound (GUS) implementation to
    make it more accurately represent the GUS DMA state
    as expected by the running DOS software.
  - The archive attribute will no longer automatically
    be applied to directories on non-Windows systems.
    This fixed issue with PLAYMIDI.EXE from Gravis
    Ultrasound when listing directories. (Wengier)
  - Applied hack to allow the low DMA channel detection
    in the SB16 DIAGNOSE program to work. (Wengier)
  - The default setting of the clip_paste_speed option
    has been changed from 20 to 30, which will help
    prevent lost keystrokes when pasting from the host
    clipboard for some programs. (Wengier)
  - With Pentium CPU setting (cputype=pentium) DOSBox-X
    no longer reports FDIV bug by default. An advanced
    config option "report fdiv bug" is added to report
    such CPU bug when set to true. (rderooy & Wengier)
  - Added support for the XDG_DATA_HOME environment
    variable for config directory in Linux. (rderooy)
  - Added support for compiling with pcap for Windows
    MinGW builds. (Jookia)
  - Added config option "windowposition" (in [sdl]
    section) to set the window position at startup in
    the positionX,positionY format. (tomba4)
  - Added config option "raw_mouse_input" (in [sdl]
    section; SDL2 builds only) to bypass the operating
    system's mouse acceleration & sensitivity settings.
    Implemented by NicknineTheEagle.
  - Added config option "startquiet" (in [dos] section)
    which when set to true will silence the information
    messages before launching Windows programs to run
    on the Windows host. A toggle menu item "Quiet mode
    (no start messages)" is added to the "Windows host
    applications" menu group in "DOS" menu. (Wengier)
  - The menu "Show details" (under "Main") is renamed
    to "Show FPS and RT speed in title bar". (Wengier)
  - Add menu group "Text-mode" under "Video" menu to
    change some text-mode related video settings, such
    as changing the number of rows and columns. A zip
    package named TEXTUTIL.ZIP is added to the Z drive
    that contains various utilities (such as CGA.COM,
    EGA.COM, 132X25.COM, 132X43.COM) to change current
    video setting from the command line. Also added a
    config option "high intensity blinking" which when
    set will display high intensity background colors
    instead of blinking foreground text. The menu item
    "Allow 9-pixel wide fonts" is moved from the menu
    group "Compatibility" to here. (Wengier)
  - Added "Debugging" menu group under "Help" menu, and
    moved items from the "Video" Debug and "DOS" Debug
    menus and the debugger here (debug builds only).
    Also allowed to hide/show the console or debugger
    window in Windows debug builds. With the menu item
    "Console wait on error" checked the Windows console
    window will wait for the ENTER key before closing
    itself after an E_EXIT occurs. (Wengier)
  - Updated MPXPLAY to latest version 1.65. (Wengier)
  - Integrated SVN commits (Allofich)
    - r4386: Correct MPU-401 clock-to-host function to
    operate independently of playing. Fixes hang at
    exit when playing Roland music in demos by The
    Phoney Coders. Clamp tempo to valid range.
    - r4384: ICW1 on the PIC clears the Interrupt Mask
    Register. Fixes Antagony and quite a few demos that
    expect IRQs to be unmasked.
    - r4382: Refine adlib timers a bit more and make
    reading the Adlib take a bit more time.
    - r4378: Prevent some possible deadlocks with sti
    in dynrec core.
    - r4375: Improve compatibility with older Intel
    chipsets
    - r4374: Add a bit of hack so cycles=max/auto 90%
    keeps on working inside batch files after r3925.
    - r4371: Fix regression in Clue: Master Detective.
    - r4370: As an adjunct to r4369, make the reference
      counts of standard device handles equivalent to
      those of real DOS.
    - r4369: Compatible side-effect behavior of DOS in
      the file close function.
    - r4368: Improve error codes for some DOS file functions.
    - r4367: Change FPU_FBST to only write 18 decimals
      instead of the wrongly 19, this makes it possible
      to switch 64 integers which in turn fixes some
      rounding issues. (jmarsh)
    - r4282,r4283: Switch to a different way to calculate
      DBOPL table offsets.
    - r4280: Prevent GenerateDMASound from running with
      input of 0.
    - r4279: Remove DMA_TRANSFEREND and replace with
      DMA_MASKED.
    - r4277: Remove cases not needed after r4276
    - r4276: Remove defunct code related to the initial
      display mode of the system BIOS during video mode
      changes.
    - r4274: fix externals.
    - r4273: Make frameskip an integer.
    - r4269: Use fabsf when return value is a float.
      Small warning fix.
    - r4265: Some more cleanups and memleak fixes.
    - r4264: Pick some lowhanging fruit. (some memory
      leaks and unused variables)
    - r4262: missed one
    - r4261: These actually use float as input.
    - r4258: Rename bios tester to biostest and make it
      debug only to avoid people trying to load real
      bioses.
    - r4257: Add simple program that allows you to boot
      into a bios image for running cpu tester bios.
0.83.6
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.6.html
  - Improved internal Voodoo card hardware emulation,
    such as fixing the font issue with the 3dfx version
    of Tomb Raider when using non-Glide mode. Portions
    of the code are ported from DOSBox ECE. (Wengier)
  - Added OpenGL shader support by porting the feature
    from DOSBox SVN. GLSL shaders are now supported in
    both SDL1 and SDL2 builds, and this also allows
    pixel-perfect scaling to be enabled for the OpenGL
    outputs. The config option "glshader" (in [render]
    section) can be used to specify a GLSL shader file
    or a built-in shader when the output is set to
    "opengl" or "openglnb". For example, you can use
    the setting "glshader=sharp" (built-in shader) or
    "glshader=pixel_perfect" (with GLSL shader file)
    for the pixel-perfect scaling mode. The Windows
    installer will also copy several GLSL shader files
    to the "glshaders" subdirectory of the DOSBox-X
    install directory to be used directly. (Wengier)
  - Support for FluidSynth MIDI Synthesizer is now
    included in the Windows Visual Studio builds by
    default. Set "mididevice=fluidsynth" and a sound
    font (e.g. GeneralUser_GS.sf2) to use it. (Wengier)
  - Updated the MUNT MT32 emulation library to its
    latest version 2.4.0. A few new MT32 config options
    (starting with "mt32.") are added to [midi] section
    of the DOSBox-X configuration. (Wengier)
  - The DOSMID and MPXPLAY programs have been built
    into DOSBox-X, both can be found on the Z drive and
    feature full-screen user interfaces with support
    for command-line usages (use /? option for help).
    DOSMID can play MIDI/RMI/MUS audio files, whereas
    MPXPLAY is a powerful and flexible audio player
    with support for a variety of formats including
    AAC/AC3/APE/FLAC/MP2/MP3/MPC/OGG/WAV and more with
    playlist support. (Wengier)
  - The mounting options "Mount as Hard Disk", "Mount
    as CD-ROM", "Mount as Floppy", "Mount disk image"
    and "Boot from disk image" (previously only for
    Windows) in the "Drive" menu and the "Quick launch
    program..." in the "DOS" menu are now available
    for non-Windows platforms as well. (Wengier)
  - Added "Shared Windows clipboard functions" menu
    group under "Main", which allows you to enable
    or disable the different ways for DOSBox-X to
    communicate with the Windows clipboard. (Wengier)
  - Added config option "dos clipboard api" in [dos]
    section to control whether to enable the DOS APIs
    for communications with the Windows clipboard for
    DOS applications. (Wengier)
  - Added config option "clip_mouse_button" to select
    a mouse button (middle, right, or none; with right
    mouse button being the default) for copying to and
    pasting from the Windows clipboard. (Wengier)
  - The mouse wheel movements will be automatically
    converted into up/down arrows by default for the
    integrated DOS now. You can also enable it for
    the guest system from the "Main" menu ("mouse wheel
    movements" -> "Enable for guest systems also") or
    from the config file. (Wengier)
  - Added "Emulate CPU speed" menu group (under "CPU")
    to emulate the speed of a specific CPU class. The
    cycles to emulate are approximations of the actual
    CPU hardware, and they are available thanks to data
    provided by the user maximus105. Also added config
    option "cycle emulation percentage adjust" in [cpu]
    section for users who would like to make relative
    percentage adjustments (between -25% and 25%) in
    case it is necessary. (Wengier)
  - Added SORT command from FreeDOS. It can be used to
    sort input, e.g. "TYPE FILE.TXT | SORT". (Wengier)
  - Added DELTREE command to delete a directory and all
    the subdirectories and files in it as in a real DOS
    system. Please use it with caution. (Wengier)
  - The command for starting the Configuration Tool has
    been renamed from "SHOWGUI" to "CFGTOOL". A new
    command-line option -gui is added to CONFIG command
    to start the Configuration Tool as well. (Wengier)
  - DOSBox-X now includes ZIP.EXE and UNZIP.EXE from
    InfoZip for zipping and unzipping files in DOS.
    Both programs will appear on the Z drive. (Wengier)
  - The powerful DOS CD player called SJGPLAY has been
    built into DOSBox-X. You can now find the program
    CDPLAY.EXE in the Z drive for playing Audio CDs in
    DOS, which supports both graphical and command-line
    usage, and you will also find a text file named
    CDPLAY.TXT in the Z drive for a quick usage guide.
    A zip package including full documentation and some
    extras will additionally appear as SJGPLAY.ZIP in
    the Z drive. This freeware program was written by
    Steve Gray and is now included in DOSBox-X with
    explicit permission of the author. (Wengier)
  - DOSBox-X will now by default show a quit warning
    if a DOS program or game, or a guest system is
    running. The previous behavior can be set with
    "quit warning=autofile". (Wengier)
  - The welcome banner when DOSBox-X starts has been
    improved for a better looking and should provide
    more helpful instructions for users. (Wengier)
  - Add new "Help" menu which includes menu items
    "Introduction", "DOSBox-X homepage", "DOSBox-X Wiki
    guide", "DOSBox-X support" and "About". (Wengier)
  - Improved the message when automatically re-running
    the executable which failed with the "Packed file
    is corrupt" error. Also added the "autoloadfix"
    config option which when set to "false" will not
    automatically re-run such programs. (Wengier)
  - The display for several section names in DOSBox-X's
    graphical configuration tool has been capitalized
    or modified otherwise to look better. A default
    shortcut key HOST(F11/F12)+C is added for starting
    the graphical configuration tool. (Wengier)
  - Added the "Show advanced options" checkbox in the
    main screen of the Configuration GUI to toggle
    whether to display all config options for the
    sections. If unchecked (default), it will show
    common config options instead of all of them. A
    new config option "show advanced options" is added
    which when set to "true" will make the checkbox
    checked by default. (Wengier)
  - Added code to cap the scan line length given to
    the VESA BIOS given the video mode. This prevents
    VBETEST.EXE from doing test patterns smaller than
    the actual display, which can happen with 32bpp
    320x200 modes and 1MB or less video RAM.
  - VESA BIOS Set Scan Line Length fixed to properly
    report and handle scan line length for 16-color
    SVGA planar modes. VBETEST 16-color modes now
    display correctly.
  - Added option to control whether VESA BIOS panning
    (the original VBE call) waits for vsync.
  - Moved video related config options from [dosbox]
    section to its own [video] section. These options
    in existing config files will be automatically
    redirected to the [video] section from the [dosbox]
    section when DOSBox-X starts. Windows installer can
    also move such config options from existing config
    files automatically. (Wengier)
  - Cleared modem phone book before parsing it. Thank
    NicknineTheEagle for the improvement.
  - Improved the help message of MOUNT command. Also
    added option -examples to show its usage examples,
    similar to IMGMOUNT and IMGMAKE commands. (Wengier)
  - Fixed freeze when trying to reboot the internal
    DOS when using a different code page and it is in
    CGA or EGA emulation modes. (Wengier)
  - DOSBox-X will now try to use the internal DOS date
    and time (instead of always using the host date and
    date) for file modification timestamps. (Wengier)
  - Added menu item "Expanded memory (EMS)" under "DOS"
    menu to dynamically enable or disable EMS memory
    at run-time. You can now also modify EMS memory
    with CONFIG command from command-line. (Wengier)
  - Added config option "drive z hide files" (in [dos]
    section) to hide or remove files listed (separated
    by spaces) from the Z drive. If a file has a "/"
    prefix (e.g. "/INTRO.COM"), then the specified file
    will have the hidden attribute ("DIR /A" will list
    all such files) instead of completely disappearing
    from the Z drive. (Wengier)
  - You can now add your own programs or files to the
    Z drive! Put your programs or files in the drivez
    directory located in the DOSBox-X program folder
    or the DOSBox-X configuration directory, and they
    will automatically appear on the Z drive. If any of
    the files have the same names as the built-in ones,
    they will replace the built-in files. For example,
    you can replace the built-in EDIT.COM and XCOPY.EXE
    programs (from FreeDOS) with MS-DOS counterparts.
    Windows installer will now automatically create a
    drivez directory with a README.TXT file in it too.
    For subdirectories support please use MOUNT command
    to mount local directory instead. (Wengier).
0.83.5
  - Release notes for this version:
    https://dosbox-x.com/release-0.83.5.html
  - Windows installer now offers the option to upgrade
    the DOSBox-X config file (dosbox-x.conf) to the
    latest version format automatically while keeping
    users' current settings. It can also add a context
    menu for executables (.exe, .com, .bat), config
    files (.conf) and folders in the Windows Explorer
    so that you could quickly run or open them with
    DOSBox-X from the Windows Explorer. More icons
    are added to the DOSBox-X program group within the
    Start menu as well. (Wengier)
  - Added config option "startbanner" in [dosbox]
    section which if set to "false" would skip the
    welcome banner when DOSBox-X starts. Also added
    config option "fastbioslogo" which if set to "true"
    will skip the BIOS logo (replacing the command-line
    option -fastbootlogo). A new command-line option
    "-fastlaunch" is added to enable fast launch mode
    by skipping both the logo and the banner. (Wengier)
  - Added config option "ega per scanline hpel" in
    [dosbox] section to control whether EGA emulation
    latches hpel at display start (as VGA emulation
    does) or allows hpel to change per scanline.
    Setting the option to false is needed for some
    games like Commander Keen.
  - Support for mounting CD images with a sector size
    of 2448, used by for example the MDF image of the
    game Grand Theft Auto. (Wengier)
  - Allowed Sound Blaster to be enabled by the games
    "Desert Strike" and "Jungle Strike". (Wengier)
  - Sound Blaster Pro emulation now maps DSP commands
    0x41 to 0x47 as aliases of 0x40 (set time constant)
    to support broken demoscene code that uses 0x41
    in that way. Yes, such code would obviously break
    on clone cards and the SB16. Added a config option
    "dsp command aliases" in [sblaster] section to turn
    it off for debugging. Alias is documented on Vogons
    forums where someone made a SB Pro clone card.
  - Fixed the issue with CD audio play by porting the
    audio code from DOSBox ECE. (Wengier)
  - COPY command now assumes /Y automatically when
    running in the batch file or with CALL command
    (or COMMAND /C) as in real DOS. (Wengier)
  - DOSBox-X will allow control characters 8 (BS),
    9 (TAB), 26 (SUB), and 27 (ESC) when executing GOTO
    command in batch files without warnings. (Wengier)
  - Normal core: REP MOVSD now checks segment limits
    for ES:(E)DI and throws a GP fault if exceeded.
    Demoscene productions marked as using VESA BIOS
    modes and scribbling on the VGA BIOS are relying
    on segment limits and GP faults to fake a linear
    framebuffer.
  - Added config option "vesa bank switching window
    range check" to allow disabling the VESA BIOS
    window number range check when called on to
    bank switch. Needed for "Pill" by Opiate in the
    end credits, which for some reason requires a
    call for window number 0xFFFF to succeed in order
    to draw credits without glitching.
  - Added config option "vesa bank switching window
    mirroring" for instructing VESA BIOS to ignore
    bank switching window parameter when asked to
    get/set bank switching window setting. Needed for
    some old demoscene and game applications that
    assume Window B is available, and will not render
    SVGA properly without it.
  - Added config option "quit warning" to indicate if
    DOSBox-X should warn show a warning message when
    you try to close the DOSBox-X window. If set to
    "auto" (default), DOSBox-X will warn only if at
    least one file handle is still open, or you are
    currently running a guest system. (Wengier)
  - Added command-line option "-defaultconf" to use the
    default config settings. (Wengier)
  - Added command-line option "-defaultdir" to specify
    a directory (instead of the current directory) as
    the working directory. DOSBox-X will look for the
    dosbox-x.conf file in this directory. (Wengier)
  - The -winrun command-line option will also enable
    LFN support with "lfn=auto" on Windows. (Wengier)
  - VER /R now shows DOSBox-X's Git commit SHA1, in
    addition to the build date and other version
    information shown by the VER command. (Wengier)
  - Fixed that joystick may not work with the setting
    "usescancodes=auto" when a non-US keyboard layout
    is activated on the SDL1 build. (Wengier)
  - DOSBox-X will now search for system fonts if the
    fonts required for the printing feature cannot be
    found in the FONTS directory. (Wengier)
  - Added menu item "Send form-feed" under the DOS menu
    for manually ejecting new pages to print. (Wengier)
  - Added "Quick launch program..." menu (under "DOS")
    to quickly run the specified program as selected
    by the Windows file browser in DOSBox-X. (Wengier)
  - Added "Drive information" menu item under "Drive"
    menu to show information for the specified drive,
    and added "Show mounted drive numbers" menu item
    under "DOS" menu to show details for all mounted
    drive numbers (0-5). (Wengier)
  - The command "Swap CD" now swaps only CD drives (as
    the name), not all non-floppy drives. Also added
    "Swap disk" menu item under the "Drive" menu for
    swapping individual mounted drives. (Wengier)
  - IMGMAKE now tries to resolve home directory (~)
    on Linux and macOS platforms. Also improved the
    help message for this command. (Wengier)
  - Fixed unmounting swap disks when unmounting drives
    with MOUNT or IMGMOUNT command. (Wengier)
  - Fixed possible failure when mounting .VHD images,
    and the issue that leading colon (:) or read-only
    marker may not work for such images. (Wengier)
  - IMGMOUNT command without parameters now shows the
    disk position and number of swap disks, as well as
    IDE controller (if applicable). Also added option
    -examples to show its usage examples. (Wengier)
  - Add "-ro" option for IMGMOUNT command to mark all
    disk images as read-only at once. You could also
    mark read-only disk images individually using the
    leading colon as in previous versions. (Wengier)
  - The default value for "output" (in "sdl" section)
    is now "default", which will default to the value
    according to your platform. (Wengier)
  - The -Q (quiet) option of MOUNT, BOOT and RESCAN
    commands now silences virtually all outputs (error
    and normal messages) of these commands. (Wengier)
  - Worked around the mounting issue with LaunchBox,
    by allowing a mounting command-line with single
    quotes like MOUNT C 'X:\DOS' on Windows. (Wengier)
  - Unmounting ISO drives will auto-unmount associated
    El Torito floppy drives (if any) too. (Wengier)
  - Updated xxHash library by Yann Collet from 0.7.4
    to the stable version 0.8.0. (Wengier)
  - Added support for the OPL2 audio board by setting
    the config option "oplemu=opl2board".
  - The save state feature now tries to save and then
    restore the mounted drives of all types (if the
    paths or image files still exist on host system).
    This fixes the "save state corrupted" error while
    trying to load saved states but the drives are not
    yet mounted in DOSBox-X. (Wengier)
  - The save state feature now verifies the emulated
    machine type (VGA, PC98, etc) too when loading a
    saved state. All confirm and error dialog boxes
    for saving or loading states appear in a cross-
    platform manner now, instead of only on Windows
    systems. Also added the option to remove the saved
    state in the selected save slot. (Wengier)
  - Increased the number of save slots from 10 to 100.
    Each page in the save slot menu (under "Capture")
    still shows 10 slots as before, but you can now go
    to the previous or next page (up to 10 pages) for
    more save slots (100 in total). (Wengier).
  - The [pci] section is now the [voodoo] section, and
    the config option "voodoo" (the only option of that
    section) is now named "voodoo_card" within the
    [voodoo] section to make clear it is for emulating
    the Voodoo card hardware. Also added config option
    "voodoo_maxmem" (default: true) to specify whether
    to use the maximum memory size (12MB instead of the
    standard 4MB) for the Vooodoo card. (Wengier)
  - Added support for Glide wrapper. It can be enabled
    with the new config option "glide" set to "true"
    in [voodoo] section. The library file glide2x.dll
    (Windows)/libglide2x.so (Linux)/libglide2x.dylib
    (macOS) is required for Glide to work. Be sure to
    use 32-bit dll for 32-bit DOSBox-X binary, and
    64-bit dll for 64-bit DOSBox-X binary. (Wengier)
0.83.4
  - Fixed loading saved states in fullscreen mode with
    the "aspect=true" setting. (Wengier)
  - Added config option "saveslot" to select default
    save slot (1-10). The timestamps for the saved
    states will also be shown in the menu. (Wengier)
  - Added key mapper for sending the Ctrl+Alt+Del key,
    with HOST(F11/F12)+Del by default. (Wengier)
  - Added dosbox-x.conf setting to ignore the EGA/VGA
    "extended memory" bit. It was originally defined
    back when stock EGA/VGA cards could ship with 64KB
    of memory. The option is needed for DOS games that
    accidentally clear the bit when using unchained
    256-color modes (Mr. Blobby).
  - Added new default value "auto" for the setting
    "usescancodesauto" (in [sdl] section of the config
    file) to work around issues with non-US keyboard
    layouts on SDL1 builds. (Wengier)
  - Added code pages 808, 850, 852, 853, 855, 857,
    858, 869, 872 for host to guest codepage mapping
    on mounted local or overlay drives. (Wengier)
  - The mapper options "Increase recording volume" and
    "Decrease recording volume" as well as function
    "Show sound levels" (from MIXER command) appear
    now as menu items (under "Sound") too. (Wengier)
  - Fixed inputting of ASCII character 224 and 240
    in Windows SDL2 or MinGW builds. (Wengier)
  - Fixed possible DPMI error when running Windows
    98 installation from the DOSBox-X shell without
    using a batch file. (Wengier)
  - Fixed a bug in the FAT driver that can cause
    a byte to get lost if writing up to the end of
    a cluster, which seems to be behind the
    corruption with program group files when running
    Windows for Workgroups 3.11 from DOSBox-X shell.
    [https://github.com/joncampbell123/dosbox-x/issues/1758#issuecomment-665193066]
  - Unknown INT 2Fh calls are now debug output, not
    an error.
  - Added VESA BIOS mode 68h alias as indicated on
    the Vogons forum.
  - Fixed handling of config commands with spaces
    when the "shell configuration as commands"
    setting is enabled (quotes are needed in such
    cases). Also added "Config options as commands"
    toggle menu (under "DOS") to enable/disable the
    feature from menu. It is disabled by default to
    avoid name clash with other programs. (Wengier)
  - Added "Enable quick reboot" toggle menu (under
    "DOS") so that when enabled, DOS restart calls
    will reboot the emulated DOS (integrated or
    guest DOS) instead of the virtual machine in
    DOSBox-X. Also, you could change the default
    setting for this by setting the new "quick
    reboot" config option in "dos" section (Wengier)
  - Added new "Reboot guest system" menu item (under
    "Main") to reboot the kernel of the integrated
    DOS or the guest DOS directly. The previous menu
    item "Reset guest system" has been renamed to
    "Reset virtual machine" which will restart the
    virtual machine in DOSBox-X instead. (Wengier)
  - Added "Reported DOS version" sub-menu (under
    "DOS") to dynamically change the reported DOS
    version (3.3, 5.0, 6.22, 7.1, or custom). This
    may enable/disable long filename (LFN) support
    with the default "lfn=auto" setting. (Wengier)
  - LS is now an external command appearing on drive
    Z: as LS.COM instead of a builtin shell command.
    This avoids name clash with game "Links LS 97"
    which has the main executable named LS.EXE. Also
    fixed minor issues in this command. (Wengier)
  - Fixed the game "Disney's Duck Tales: the Quest
    for Gold" not able to start. (Wengier)
  - Improved Configuration GUI's handling of "4dos"
    and "config" sections. Also added the "Save..."
    button just before the "Close" button. (Wengier)
  - Added "euro" config option (in [render] section)
    to display Euro symbol instead of the specified
    ASCII character in any code page. (Wengier)
  - PC-98 CG MMIO writes fixed to limit writes only
    to the user-defined areas, same as the IO writes.
    This fixes "Niko Niko" that appears to write a
    few too many 0xE1 bytes when filling text
    attribute RAM and into the CG MMIO region.
  - With -winrun command-line option or the setting
    "startcmd=true" (Windows only), you can now
    directly launch Windows programs on mounted local
    or overlay drives to run on the host. The option
    "startwait=false" can be used to disable waiting
    for Windows programs after started. This can also
    be toggled from the "DOS" menu. (Wengier)
  - Added START command to run commands on Windows
    host system. The /MAX, /MIN, /HID options can
    be used to run the specified program maximized,
    minimized, or hidden (they can be shortened to
    +, -, _ respectively). This command is disabled
    by default, but can be enabled by either the
    "startcmd" config option (in [dos] section) or
    the -winrun command-line option (which will also
    enable the CLIP$ device for Windows clipboard
    support). START will run commands listed in the
    "startincon" config option (separated by space)
    in the Windows Command Prompt and wait for a key
    press before exiting. (Wengier)
  - Added SHELL= option to the [config] section in
    dosbox-x.conf to specify an alternative shell,
    e.g. "SHELL=4DOS.COM". (Wengier)
  - Added built-in 4DOS 8.00 shell for 4DOS features
    and capabilities. There is now a [4dos] section
    in the dosbox-x.conf file to act as the 4DOS.INI
    config file if you use this shell. (Wengier)
  - Added "Mouse wheel movements" menu (under "Main")
    to enable or disable the mouse wheel movements
    to arrow (up/down etc) feature. (Wengier)
  - Added "Quick right mouse button copy/paste" menu
    item toggle to allow quick Windows clipboard copy
    and paste via the right mouse button without any
    key modifier that may have been specified by the
    config option "clip_key_modifier". (Wengier)
  - Fixed mounting a directory with command-line like
    "dosbox-x .", and fixed mounting disk images with
    spaces via the "Drive" menu on Windows. (Wengier)
  - Added "mountwarning" config setting so you could
    optionally disable the warning when attempting to
    mount C:\ in Windows or / otherwise. (Wengier)
  - IMGMOUNT now assumes "-fs none" automatically if
    a drive number is specified instead of a drive
    letter. Moreover, it will assume the image file
    name "IMGMAKE.IMG" if no filename is specified by
    the user. Also improved the command's handling of
    El Torito floppy drives, e.g. you can use option
    "-bootcd d" instead of "-el-torito d". (Wengier)
  - IMGMAKE warning replaced to indicate a general
    incompatibility between MS-DOS/SCANDISK and
    cluster sizes 64KB or larger.
  - IMGMAKE command will now use the image file name
    "IMGMAKE.IMG" if no file name is specified (either
    in the mounted local directory or in the DOSBox-X
    program directory if the current directory is not
    a local directory). The command now also supports
    a -force option to force overwrite the image file
    if it already exists. Furthermore, IMGMAKE will
    delete the generated image file if an error occurs
    during the image file creation. (Wengier)
    
0.83.3
  - IMGMAKE can now generate FAT12, FAT16, and FAT32
    filesystems. New option "-fat" is added to select
    the filesystem for the disk image.
  - Fixed command-line like "./dosbox-x /dir/app.bat"
    not able to launch the specified program (Wengier)
  - Fixed bug in DIR command's /P option which might
    cause it to not work properly. (Wengier)
  - The default key modifier for the Windows clipboard
    copy & paste via the right mouse button feature is
    now "shift" instead of "disabled". (Wengier)
  - Single-stepping in the debugger with the 286 and
    8086 normal cores now works correctly when stepping
    over instructions with a segment prefix.
  - Pentium MMX instructions now only available for
    Pentium MMX or higher. Fixed the bug that allowed
    MMX instructions for Pentium and lower if programs
    ignored the CPUID feature bits. Also fixed Pentium
    MMX instructions so that they work in both 16-bit
    real mode and 32-bit protected mode to match how
    they work in real hardware (joncampbell123)
  - Updated DOSBox-X's implementation for Pentium MMX
    instructions to latest version by kekko (Wengier)
  - DOSBox-X will try to automatically run the program
    with LOADFIX if the error message "Packed file is
    corrupt" is detected. (Wengier)
  - MOUNT command can now mount a drive to the UNC
    root path in the form \\ComputerName\SharedFolder
    on Windows systems. (Wengier)
  - Improved the HX-DOS build package to make it fully
    automated: all required HX DOS Extender files will
    be included in the package, and dosbox-x.exe can
    now be run directly in a real DOS system without
    external requirements. (Wengier)
  - Fixed incorrect frame rate reported by 3Dfx Voodoo
    emulation (rderooy, backported from DOSBox SVN).
  - Added the "Boot from disk image" menu item (A:, C:,
    and D: drives only) in the "Drive" menu to boot the
    specified disk image directly in Windows. (Wengier)
  - Support for converting mouse wheel movements into
    keyboard presses like arrow keys, configurable by
    the option "mouse_wheel_key" (default is 0 which
    disables this feature). When set to 1, mouse wheel
    movements are converted to up/down arrows. Setting
    it to 2 or 3 converts such movements to left/right
    arrows or PageUp/PageDn keys respectively. (Wengier)
  - Support for reloading the keyboard mapper file with
    the config -set command. (Wengier)
  - IMGMOUNT command without parameters will show disk
    names for drive-number only mounts. (Wengier)
  - IMGMOUNT can now autodetect DOS <= 3.21 harddisk
    geometry with MFM sector images (rderooy & Wengier)
  - IMGMOUNT -fs none fixed to use same geometry detect
    function that FAT filesystem mounting uses.
  - Added suppprt for mounting overlay drives using MOUNT
    command with "-t overlay" option. Backported from
    DOSBox SVN and adopted for DOSBox-X with additional
    features such as long filename and PC-98 support, it
    allows the users to redirect new and changed file(s)
    to a different location transparently. (Wengier)
  - Cleaned up the DPI awareness auto-detection code to
    allow Visual Studio builds to again run on Windows 7.
    Meanwhile, MinGW builds (either SDL1 or SDL2 version)
    are still required for Windows XP systems. (Wengier)
  - Updated Nuked OPL3 to latest version 1.8 for accurate
    OPL3 emulation (Wengier)
  - Added AUTOTYPE command to perform scripted keyboard
    entry into a running DOS program or game. Ported from
    DOSBox-staging, it can be used to reliably skip intro,
    provide input to answer initial startup or config
    questions, or conduct a simple demo. (Wengier)
  - Added code page 866 (Cyrillic Russian) to support
    host to guest code page mapping (tuffnatty)
  - Mouse buttons (left, middle, right) can now be mapped
    to keys in the keyboard mapper. (Wengier)
  - Support for mounting .cue files with MP3/OGG/WAV/FLAC
    compressed audio tracks. (Wengier) 
  - Rewrote the Windows installer for DOSBox-X, as well as
    the building script for the installer. All required
    build tools including the Inno Setup Compiler are now
    provided in the repository and will be automatically
    called by the building script. (Wengier)
  - Added config option "mapperfile_sdl2" for SDL2 builds.
    SDL1 and SDL2 builds of DOSBox-X can not use the same
    mapper file, or they will likely malfunction. Adding
    this option allows SDL1 and SDL2 builds of DOSBox-X
    to work with the same dosbox-x.conf file. (Wengier)
  - Added GUI menu option under "DOS" to change the long
    filename setting (enable, disable, or auto). (Wengier)
  - Improvements and fixes to the save/load state feature:
    It now supports Sound Blaster Goldplay mode;
    It now saves PC-98 FM interrupt state so that reloading
    state does not cause hung music;
    It is also fixed not to crash when used within a guest
    operating system (when the DOS kernel has been shut down
    using the BOOT command);
    It now supports memory size up to 1GB;
    It will save and verify the DOSBox-X version and build.
    States saved by DOSBox-X in one platform (e.g. 64-bit
    Windows) may not work in another (e.g. 32-bit Linux).
    The GUI menu will show if the save slot is empty, and if
    not the program name of save state will be displayed.
  - Re-ported and improved the save state feature for saving
    and loading states with support for up to 10 save slots.
    They can be selected from the "Capture" menu. (Wengier)
  - Added COUNTRY command to set country code for country-
    specific date and time formats. For example, the command
    "COUNTRY 61" sets the country code to 61 (International
    English) which uses the DD-MM-YYYY date format instead
    of the default (U.S.) MM-DD-YYYY date format. (Wengier)
  - DOS 440Dh IOCTL function 67h (get access flag) added to
    allow FDISK.EXE to determine FAT filesystem type. Also
    implemented function 40h (set device parameters) and
    function 46h (set volume serial number). (Wengier)
  - Unknown DOS 440Dh IOCTLs warnings now indicate whether
    triggered by call or query.
  - S3 VESA BIOS mode number for 1024x768 32bpp changed to
    avoid conflict with Windows 95 S3 driver and 800x600
    16bpp mode.
  - FAT driver no longer mounts FAT32 volumes unless the
    DOS version is 7.1 or higher, and it no longer mounts
    FAT16B LBA volumes unless the DOS version is 7.0 or
    higher. These are to mimic the MS-DOS behavior.
  - Fixed FAT driver not to attempt to mount partitions that
    have nothing to do with the FAT filesystem (such as
    type 0Dh and extended LBA partition tables). Also fixed
    the FAT driver to not assume partition start sector 63
    if it cannot identify a partition to use.
  - Added code to FAT driver to identify telltale pattern
    left by Microsoft FDISK when a partition is created (but
    not yet formatted) and reject.
0.83.2
  - Added help messages for some supported commands. (Wengier)
  - Added phone book support for the emulated modem. There is
    a new phonebookfile= option in the [serial] section. The
    phone book file entries need to be in the format of:
    "<dummy number> <hostname/ip:port>" e.g.
    5551234 cavebbs.homeip.net:23
    Thank NicknineTheEagle for implementing this feature.
  - Implemented the missing EMS subfunctions 52h and 59h by
    porting the patch that adds them (Wengier)
  - Fixed issues with the "config -wcd -all" command and other
    updates to the CONFIG command (Wengier)
  - Added [config] section in dosbox-x.conf to resemble DOS's
    CONFIG.SYS file. It currently supports REM, BREAK, NUMLOCK,
    FCBS, FILES, DOS, DEVICE/DEVICEHIGH, INSTALL/INSTALLHIGH,
    SET and LASTDRIVE commands. The file CONFIG.SYS will appear
    on the Z: drive, similar to AUTOEXEC.BAT file. The [config]
    section can be bypassed with the -noconfig command-line
    option or with the secure mode enabled (Wengier)
  - Moved PC-98 related config options (starting with "pc-98 ")
    from [dosbox] and [dos] sections to its own [pc98] section.
    These options in existing dosbox-x.conf/dosbox.conf files
    will be automatically redirected to the [pc98] section from
    the other sections when DOSBox-X starts (Wengier)
  - The user directory DOSBox-X uses has been changed to use the
    DOSBox-X directory (e.g. from ~/.dosbox to ~/.config/dosbox-x
    on Linux platform). It will be read *after* the dosbox-x.conf
    file in the current directory (Wengier)
  - Config option "dpi aware" now supports the "auto" setting
    to auto-decide on the best setting for the platform. This
    fixes very small window issue on high DPI devices such as
    Microsoft Surface tablets. (Wengier)
  - Added DTASEG, DTAOFF, and PSPSEG as hex value constants to
    the debugger interface to aid in debugging DOS programs.
  - New command-line option -helpdebug added to list debug-
    related command-line options. The standard -? / -h / -help
    command-line option will no longer list them (Wengier)
  - Implemented LFN support for FAT driver, so that it is now
    possible to view directory list, create or open files and
    directories etc with long filenames on FAT12/16/32 drives
    just like on mounted local drives.
  - FAT driver cleaned up and fixed to avoid edge cases that
    can corrupt directory entries and leave lost clusters
    on the disk, also fixed to always report root directory
    as a directory through the GetFileAttribute INT 21h call,
    needed by MOVE.EXE and XCOPY.EXE to work properly.
  - IMGMOUNT auto geometry detection will assume LBA disk
    and fake C/H/S geometry if the disk is 4GB or larger,
    the MBR lacks executable code, or the first partition
    is Windows 98-style LBA FAT16 or FAT32.
  - IMGMOUNT now assumes ISO type by default if the image file
    extension is .iso/.cue/.bin/.mdf. No need for "-t iso" in
    this case; but (if applicable) it can be overridden by for
    example "-t hdd". (Wengier)
  - IMGMOUNT command (no parameters) now lists mounted FAT/ISO
    drives and mounted drive numbers, also SUBST command (no
    parameters) now lists mounted local drives (Wengier)
  - INT AH=36h fixed to convert free space but maintain a
    cluster size (bytes/sector * sectors/cluster) that is less
    than 64KB to avoid divide by 0 crashes with FORMAT.COM /S
  - Added FAT32 free/total disk space API for FAT driver, and
    updated INT 21h AX=7303h to call it. FAT driver now provides
    FAT32 extended disk free/total through FAT32 API and 2GB
    limited free/total through INT 21h AH=36h for older DOS
    programs. Shell DIR command updated to use FAT32 free space
    API to show free space even on FAT32 partitions larger than
    2GB, but only if the DOS version is set to 7.1 or higher.
  - Added FAT32 INT21h and IOCTLs needed by MS-DOS 7.1/Windows 98
    versions of SCANDISK.EXE and FORMAT.COM, such as DOS functions
    for "FAT32 extended" absolute disk read and write.
  - Improved FAT32 support to the FAT driver, including direct
    support for FAT32 drives in the DOSBox-X command shell. Files,
    directories and volume labels on FAT32 drives can be listed,
    read from or written to just like on FAT12/16 drives.
  - Added DOS IOCTL read/write logical device track functions so
    that FORMAT.COM is able to verify and modify the partition table
    to successfully format a hard drive image. Also added stub to
    DOS IOCTL "format device track" for FORMAT.COM.
  - You can now force unmount a drive and then mount it to a new
    directory in one command, e.g. "MOUNT C C:\DOS -U" (Wengier)
  - REN command can now rename directories (in addition to files) on
    FAT drives just like on local drives (Wengier)
  - Several improvements to DEL command, such as a new /F option to
    force delete of read-only files, and improved handling when the
    argument is a directory (Wengier)
  - LS command added to list directory contents. It does not support
    all options as in Unix/Linux platform (Wengier)
  - DIR /O & /OG supported in addition to /ON|/OE|/OS|/OD options.
    Options such as /-O & /-A can be used to override /O, /A etc if
    they are specified in the DIRCMD environment variable (Wengier)
  - DIR and VOL commands now display real serial numbers for mounted
    local drives (Windows only) and FAT drives (Wengier)
  - Fixed SYS command not working properly (Wengier)
  - DOS kernel INT 21h function Set File Attribute no longer
    allows changing volume label attributes and fixes directory
    attributes in order to prevent filesystem corruption.
    This prevents Windows 95 Setup from creating WINBOOT.INI
    and then changing it into a directory with the call.
  - FAT driver bugs fixed where a newly created zero length file
    combined with a lseek() can corrupt filesystem structures
    (root directory and/or the second FAT table). This fixes
    filesystem corruption when running Windows 95 install.
  - Enabled printer emulation for non-Windows OSes (Linux,
    Mac OS X, etc.). FreeType2 is required to enable
    printer emulation at compile time.
  - Added command-line option "-o" for MOUNT command so that
    it can be specified whether to report mounted local drives
    as remote (network) drives. It is "auto" by default just
    like the virtual drive Z:.
  - Added config option "drive z is remote" in dosbox-x.conf
    to report drive Z: as a remote (network) drive. It is
    "auto" by default, which will try to prevent SCANDISK.EXE
    from Windows 9x installs to scan and "repair" drive Z:
    which is not backed by a disk filesystem.
  - Fixed clip_key_modifier setting not working when it is
    set to alt, ctrl or shift in the SDL2 build. (Wengier)
  - Sending "Ctrl+Alt+Del" key from the menu will now reset
    the system within DOSBox-X when the integrated DOS or a
    real DOS booted from a disk image is active. (Wengier)
  - PC speaker output fixed not to timeout and stop rendering
    unless the PC speaker output is not emitting anything
    audible anyway (Fix for Sopwith 1 and 2).
  - Added ALIAS command to define or display aliases.
  - "HELP command" now works the same as "command /?" for
    supported internal commands. (Wengier)
  - Improved handling of quotes in some commands. (Wengier)
  - Added -set command-line option to change config options.
    It can be specified multiple times for multiple options,
    overriding any options in the config file. For example,
    the command "dosbox-x.exe -set machine=pc98" will force
    DOSBox-X to start in PC-98 mode. (Wengier)
  - Re-added full drive menu items for the Windows platform.
    The "Boot from drive" item (A:, C: and D: drives only)
    should work in other platforms too. The BOOT command is
    also improved to allow e.g. "BOOT A:" to work. (Wengier)
  - INT 10h vector now points into VGA BIOS as a workaround
    for DOS programs that use vector location as part of
    their EGA/VGA detection. This fixes blink attribute
    and EGA/VGA detection failure with SuperCalc 3 and
    SuperCalc 4. This option, enabled by default, can be
    disabled or enabled from dosbox-x.conf.
  - Improved long filename (LFN) and SetFileAttr/GetFileAttr
    support for PC-98 mode. (Wengier)
  - Added config option "lfn" to enable/disable long filename
    (LFN) support. With default setting of "auto", LFN support
    is enabled if the reported DOS version is at least 7.0.
  - Added config option "automountall" (default: false) to
    automatically mount all available Windows drives (Wengier)
  - The copy & paste Windows clipboard text via the right
    mouse button feature now has support for PC-98 mode too
    in addition to other modes. (Wengier)
  - MPU401 IRQ fixed to properly default to 2 or 9 in IBM
    PC/XT/AT mode depending on the "enable slave pic" config
    option (rderooy)
  - Fluidsynth defaults fixed for better more reliable audio
    streaming on Linux and Mac OS X (Wengier and rderooy)
  - Improved support for FluidSynth MIDI device by porting
    code from DOSBox ECE. Set "mididevice=fluidsynth" along
    with other required options such as "fluid.soundfont"
    in dosbox-x.conf to use it. The previous config setting
    "mididevice=synth" is still supported for alternative
    implementation of FluidSynth. (Wengier)

0.83.1
  - dosbox-x.conf is now recognized as the default config
    file name in addition to dosbox.conf. The sample config
    file "dosbox.reference.conf" has been renamed to
    "dosbox-x.reference.conf" as well (Wengier)
  - Sound Blaster emulation fixed to better handle Goldplay
    mode detection false positive in 1994 demoscene demo
    myth_dw.zip when using Sound Blaster Pro setting in
    the demo. The initial state before music starts is
    like Goldplay mode, but when music actually starts the
    DMA programmed to normal state without restarting
    DMA playback.
  - Tandy DAC output fixed to slowly ramp last sample to
    zero DC sample (128) when switched off. This fixes
    loud popping (DC offset) problems with Tandy DAC
    sound effects in Prince of Persia. This new behavior
    also seems to match real Tandy 1000 hardware according
    to video captures of its audio/video outputs while
    playing Prince of Persia on it.
  - Tandy/PCjr 3-voice fixed to respond to I/O port 0xC0
    regardless of 8-bit or 16-bit I/O (fixes Prince of
    Persia).
  - Write-protecting a disk image in IMGMOUNT and BOOT
    commands now supported by putting a leading colon (:)
    before the image file name. Works with disk swapping;
    e.g. "BOOT :C:\DISK1.IMG C:\DISK2.IMG" only write-
    protects C:\DISK1.IMG but not C:\DISK2.IMG. The new
    config option "leading colon write protect image" can
    be used to disable or enable this behavior (Wengier)
  - Support for changing DOSBox-X internal time (Wengier)
  - Support for pipes (|), e.g. "DIR | MORE" should now
    work as expected; it is recommended to set the %TEMP%
    (or %TMP%) environment variable to a writable directory
    inside DOSBox-X before using pipes (Wengier)
  - Improved redirections using "<" or ">" (Wengier)
  - Improved Ctrl+C handling in some commands (Wengier)
  - Improved Tab completion in the command shell (Wengier)
  - Improved -get & -set options for the CONFIG command,
    e.g. support for config options with spaces (Wengier)
  - Improved REN (or RENAME) command to support wildcards
    (* and ?) in the source and/or target files (Wengier)
  - Some improvements to commands like MORE & VER (Wengier)
  - Added BREAK, VERIFY and TRUENAME commands as in a real
    DOS system. Type "[command] /?" for help info (Wengier)
  - Implemented FOR command to run a specified command for
    each file in a set of files. Also added LFNFOR command
    to control whether to use long filenames in the FOR
    command as in MS-DOS 7+ (Wengier)
  - Implemented ATTRIB command to view and set attributes
    of files or directories (Wengier)
  - Added emulation of R (readonly) attribute bit for
    Linux and Unix systems through the user-writable
    file mode bits of the filesystem.
  - Fixed PC DOS 2000 crash during installation.
  - PC speaker: Mode 3 (square wave) and a counter value
    of 1 produces a low frequency square wave. Ulrasonic
    frequencies do not begin until count == 2. This fixes
    helicopter noises in Paratrooper.
  - Fixed PC speaker emulation to allow higher PC speaker
    frequencies (10x the value of pcrate) to reduce
    hiss/noise/aliasing noise that occurs when games
    program ultrasonic frequencies into the counter to
    "silence" the speaker. "Titus the Fox Marrakech and
    Back" should no longer have audible hissing noises
    between beeps when the game is using the PC speaker.
  - Increased DOS device limit, to avoid E_Exit() crash
    if all LPT and COM devices are enabled along with
    the new CLIP$ device.
  - Minimum MCB free default changed to better reflect
    a typical MS-DOS setup with minimal to no drivers.
    This should result in a report of 600K-ish memory
    free, which is equivalent to Windows 95 without
    anything loaded except COMMAND.COM.
  - DIR command now supports /S (search all directories)
    as well as /A, /AS, /A-S, /AH, /A-H, /AR, /A-R, /AA,
    /A-A options for file attribute support; Note that
    DIR /A shows all files and directories whereas DIR
    alone (without /A) shows all except system/hidden
    ones as in a real DOS system (Wengier)
  - DIR command now shows the real free disk space on
    local drives. It is possible to limit this free space
    for certain programs with the -freesize option of
    MOUNT command. A new config option "freesizecap" is
    added to change the behavior of this option (Wengier)	
  - DIR command fixed to show the volume label of the
    drive you are listing, instead of always the current
    drive (rderooy)
  - Various improvements to DEL and COPY commands, e.g.
    fixed the DEL /P option having no effect, and "DEL ."
    deleted all files in the current directory silently;
    the COPY command now asks for confirmation before
    overwriting files, and it now supports /Y and /-Y
    options to change this behavior, which can also be
    set from the COPYCMD environment variable. (Wengier)
  - Added or fixed help information and/or error messages
    for some commands. (Wengier) 
  - Added support for DOS programs to communicate
    with the clipboard in Windows builds. If the
    "dos clipboard device enable" setting in
    dosbox-x.conf is set to "true" or "full", a DOS
    device (default name: CLIP$) will be added to
    allow bidirectional communications with the
    clipboard (e.g. "DIR >CLIP$" will write the
    output to the clipboard, and "TYPE CLIP$" will
    show the clipboard contents). Alternatively,
    you can set it to "read" or "write" to allow
    only read or write access for security reasons.
    The DOS device name can also be changed with
    the "dos clipboard device name" setting in
    dosbox-x.conf. (Wengier)
  - Added support for using the right mouse button
    to copy and paste from the Windows clipboard; the
    config option "clip_key_modifier" can be used to
    change the keyboard modifier such as none, alt, ctrl,
    shift, or disable this feature (default). (Wengier)
  - Updated the PasteClipboard feature in SDL1 build
    to support Unicode text translations; also fixed this
    feature not working in SDL2 build. The config option
    "clip_paste_speed" is added to speed up or slow down
    the pasting speed for different DOS programs (Wengier)
  - Support for DOSLIB2's w95sysrg/w95sysrs utils to
    get/set system registry location in DOS 7+. (Wengier)
  - Long filename support added, adapted from
    the vDosPlus project. It will be enabled with
    an initial DOS version of 7.0 or higher. (Wengier)
  - Corrected return value when using option to
    fake the installation of SHARE. (Allofich)
  - Added code to EMS emulation to print specific
    debug information when a PC-98 specific call is
    made to remap segment B000h to either system
    memory or video memory. I do not have enough
    test cases or a setup to test what really happens,
    so it will remain a debug message for now.
  - Added dosbox-x.conf option to allow emulation of a
    DOS environment that lacks ANSI.SYS. NOTE: The
    option has no effect in PC-98 mode.
  - INT 2Fh now responds to AX=1A00h which is an installation
    check to report whether ANSI.SYS is resident.
  - Added INT 21h debug logging for file I/O and general
    INT 21h usage [patch by ognjenmi]. Added enables for
    the logging which are off by default since the INT 21h
    and file I/O logging are fairly noisy under normal
    usage.

0.83.0
  - Added mt32.romdir dosbox.conf configuration option
    for users who store the MT32 ROMs elsewhere other
    than the current working directory.
  - Configuration GUI settings menu is now vertically
    divided to ensure that it fits on the screen even
    if the window is at minimum size.
  - PC-98 GDC status fixed to follow the explicit
    definition of one bit as hblank and the other
    as vsync instead of carrying over VGA port 3DAh
    style logic of hblank/vblank vs vsync. This
    fixes the BPS logo scanline effects in PC-98
    game 'frontier-universe-bps-neo-kobe-pc98-ia'
  - Added dosbox.conf option to select between two
    known behaviors in PC-98 mode regarding the PC
    speaker and the PIT timer. The default behavior
    follows the newer hardware, the alternate setting
    is for older games written against the PC-9801
    behavior.
  - Added dosbox.conf option nocachedir which, when
    set, instructs MOUNT to automatically act as if
    -nocachedir were given.
  - Linux/X11 SDL1 builds fixed not to issue resize
    commands to the window to avoid fighting the
    window manager. This prevents "spastic resizing"
    under Gnome 3 in Centos 8.
  - Source tree now includes build script for Linux
    users who prefer Clang/LLVM over GCC.
0.82.26
  - Debugger console window fixed to choose a smaller
    default size in Windows builds.
  - Debugger console window now resizes properly
    in Windows builds.
  - Using F10 (step over) in the debugger to step
    over INT 21h when a breakpoint for INT 21h is
    set now works correctly, instead of letting the
    instruction pointer "stick" there without moving.
  - Debugger interface now shows (running/watching)
    while RUNWATCH is active.
  - Debugger interface now correctly shows (running)
    status when F5 is used to resume emulation.
  - Debugger toggle reverts back to debugger interface
    instead of running state if triggered during a
    RUNWATCH command.
  - Fixed RUWNATCH command, which was broken by another
    fix sometime back designed to stop PIC event
    processing while in the debugger.
  - Debugger interface fixed to keep the SDL event
    handling going during the "pager" routine to
    prevent Windows from graying out the main window
    as "not responding" in Windows 7/8/10.
  - Direct3D support has been fixed to properly render
    pixel shaders again that were already written for
    other forks.
  - Added "Rescan all drives" menu command and mapper
    shortcut (Issue #1379 requested by saintfrater)
0.82.25
  - Added 1920x1440 4:3 HD VESA BIOS mode and increased
    scaler limits to support it.
  - VESA BIOS emulation now rejects video modes that
    exceed the render scaler architecture's limits,
    to avoid frozen screens if set. However, VESAMOED.COM
    warns the user, so if the user ignores the warning,
    VESA BIOS emulation will allow user-defined modes
    that exceed the limits anyway.
  - VESAMOED.COM will now warn you if the custom mode
    you modified exceeds the render scaler's limits.
  - VGA emulation now reports render scaler limits
    in the logfile at startup, if debug logging is
    enabled.
  - Render scaler code now logs a warning when it
    rejects a video mode that exceeds the render
    scaler limits.
  - S3 emulation now allows 16MB of video memory.
  - Due to continuous problems with DOS games and a
    very long VESA modelist, the defaults for VESA
    BIOS options in dosbox.conf have been changed to
    limit the modelist to something a late 1990s
    VESA BIOS would list. New defaults include a
    maximum resolution of 1280x1024, the removal of
    4bpp 16-color packed, unusual video modes,
    "High Definition" TV broadcast modes, and the
    extra explicitly defined 24bpp modes to complement
    VBE1.2 32bpp modes. Those options remain
    changeable and all limits can be lifted with
    settings in dosbox.conf if wanted.
  - Allow using "" in the debugger to specify that
    a hex value should be used rather than the
    contents of the flag with that name. Allows
    hex values of AC, AF, CF and DF to be directly
    specified. (Allofich)
  - 25.COM, 28.COM, and 50.COM now have different
    versions for VGA, EGA, and other IBM compatible
    video machines. 28.COM now correctly sets 28 lines
    for machine=ega. CGA/MDA/Hercules/etc. still use
    INT AX=3h for 25.COM.
  - Change 25.COM to use INT 10h AX=1114h (8x16) instead
    of INT 10h AX=3 (set 80x25 mode).
  - INT 10h AX=1111h (8x14) and AX=1113h (8x8), related
    to 28.COM and 50.COM, now range check the current
    cursor row against number of rows to keep it on
    screen.
  - Fixed ADDKEY "full" command not turning on the
    full core when used with a delay. (Allofich)
  - INT 10h AX=101Ah Get Video DAC color-page state fixed
    to restore display after blanking it due to Attribute
    Controller read and write operations. This fixes
    IBM PC compatible MS-DOS game "Blue Force".
  - Debugger: "VGA AC" now shows AC disable bits as well
    as the internal state indicating whether the last
    byte written to 3C0h was handled as the index.
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
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 accommodate "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.
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.
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 parameter 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.
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 its 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.
    - Rewrite 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. 
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 command
    tail at startup.
    - Support writing palette register data to dynamic save area
    if pointer is non-zero on mode changes. Fixes CV 2.2.
    - Be more compatible by converting tabs to spaces in the DOS
    console device rather than in the video BIOS teletype function.
    - Make the internal program for loading ROM images a bit
    smarter about what it can/will load. Also provide for BASIC
    in ROM to support IBM BASIC interpreters.
    - Correct page count/size for CGA graphics modes. Fixes RS-2
    on the CGA machine type.
    - Raise lower limit of cycles in autodetermine mode to
    improve stability.
    - Fix for 256 color encoding in zmbv.dll codec
    - Rework ListMidi so it can be more easily added to more
    backends.
    - Implement mixer /listmidi for coremidi.
    - Increase size of SysEx buffer to support Sierra's Yamaha
    FB-01 driver.
    - Add improved breakpoint handling to the debugger
    - Rewrite the order of the debug help list so the keys come
    last
    - Clip to boundaries when there are no suggested values for
    Prop_int
    - Implement an obscure behavior of the VGA DAC. Fixes wrong
    colors in Planet Soccer/Football.
    - Use default attribute behavior of ANSI.SYS in the console
    device. Fixes scrolling issues. Anything that wants non-ANSI
    behavior may not display as intended with the internal DOS,
    same as real DOS when ANSI.SYS is loaded.
    - Lower default adlib volume with 2.5dB, based on
    measurements
    - Add experimental name support to configmidi for coremidi
    - Add support for selectig midi devices by name to win32
    midi
    - Make IRQ generation in Write_MCR consistent with
    ComputeInterrupts when op2 changes.
    - Update mixer volume calculations for the SBPRO 1 and 2 and
    the SB16, based on measurements.
    - Repair a logic error in cycle max calculation
    - Introduce a random sleep period, which activates after 3
    short sleeps in one frame.
    - Adjustments to cycle ratio computation.
    - Process repeated reset commands without delay. Fixes MPU
    detection in several games. Correct ACK for reset: entirely
    absent with dumb setting (mpu401=uart), and also absent when
    returning to intelligent mode from UART mode.
    - Allow for direct changing of 4op chaining without having
    to rewrite the algorithm mode.
    - Enable core inlining by default on configure/make build
    system
    - Limit amount of polls per second a bit on MAC OS X, as it
    was quite high otherwise.
    - Add basic support for INT 13 call 15. Used by Korean
    Powerdolls to detect harddrive.
    - Add ALSA MIDI 0xA0 and improve unhandled message
    reporting a bit.
    - Support rarely used FCB feature: open file with search
    mask. Fixes Buckaroo Banzai.
    - ANSI emulation is activated for the session when an
    escape sequence is encountered other than those used by
    internal messages. Fixes LucasArts setup programs provided
    that ANSI emulation is not activated.
    - Flag handling for normal core: zero and sign flags for
    integer multiply instructions.
    - Strip spaces properly.
    - Improve disk serial number DOS functions.
    - Only add return to buffer if it already contains data,
    which fixes extra return in generated autoexec.bat.
    - Lock default label of HDD local drive mounts. Fixeslabel
    changing to the host drive label when resetting cache on
    the Windows platform.
    - Fix echo off being written twice. Attempt to make the
    line endings in the generated autoexec.bat all DOS-style.
    - Take length in consideration before moving the echo off
    upwards.
    - Fix ExpandDot not caring about the size of the buffer.
    (vogons topic 59658)
    - Be less specific about the jump instruction when
    identifying a video BIOS.
    - Return an error for generic block device request on
    unmounted floppy drives.
    - No Sound Blaster IRQ generating when masking the IRQ
    channel.
    - Improvements for IOCTL generic block device request
    - Make Media ID table relative to DPB table. Fixes
    Hattrick by Ikarion.
    - Support some installer disk detection methods: block
    device count, and specific MBR/boot sector contents.
    Fixes (original) SimCity, Amberstar, and later MicroProse
    installers.
    - Fix GetLabel() for the virtual drive.
  - Integrated a commit from mainline:
     #3860 "Use PCJr specific method to clear the video RAM.
            Also don't scroll at unspecified video page.
            Fixes issues with KQ1 and KQ2."
  - PEGC emulation will now print a warning if the guest
    application or OS attempts to use 256-color planar mode.
  - PC-98 PEGC 256-color linear framebuffer is not mapped by
    default anymore, except when 256-color mode and the enable
    bit set, to match real hardware.
  - PC-98 PEGC 256-color emulation fixed not to respond to
    MMIO registers related to 256-color planar mode according
    to real hardware behavior. 256-color planar mode support
    is planned in the future.
  - Remove old dynamic x86 core. Dynamic core is exclusively
    dynrec now.
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 (Allofich)
    - CD audio status now returns zero start and end times
    when no track is playing. Fixes "The Manhole".
    - Add "ADDLOG" debug command to manually add a message
    to the log.
    - "Strip off leading zeroes from the IP", a fix for
    the serial modem.
    - Add a small delay when raising the Sound Blaster
    8-bit IRQ to emulate the slowness of the DSP, fixes
    Llamatron 2012 and Lemmings 3D.
    - Add ability to set debugger breakpoint on AL values.
    - The SB DMA callback now ignores previously selected,
    but not currently selected, DMA channels. Fixes Visual
    Player 2 with SB16.
    - Minor cleanup to joystick code.
  - 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-x.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.
0.82.17
  - Fixed yellowish tint of tv3x scaler on SDL1 builds of
    Mac OS X.
  - Fixed hq2x/hq3x and the various sai render scalers to
    render correctly on SDL1 builds of Mac OS X (where the
    odd BGRA color order is used). Prior to this fix the
    scaler output had a very strong yellow tint (missing
    or misrendered blue channel).
  - Fixed basic scaler template code to render correct RGBA
    colors in SDL1 builds for Mac OS X.
  - New grayscale scaler option, to emulate monochrome VGA
    monitors (frank-deng)
  - Menu handling cleanup from within Pause loop, including
    Mac OS X menu problems when invoking pause from the
    menu bar.
  - Shell welcome text fixed to show consistent first line in
    both IBM PC and PC-98 mode.
  - Pause mode fixed to handle mouse input while paused, so that
    SDL drawn menus (on Linux or HX DOS) continue to work while
    paused.
  - Added dosbox.conf option (off by default) to add the
    NEC PC-98 copyright string at E800:0DD8 for games and
    applications that require it.
  - Debugger can now show guest MS-DOS kernel MCB chain if you
    boot an MS-DOS floppy or hard disk image using
    BOOT --boothax msdos. For use with MS-DOS 3.3 or higher
    including the real mode MS-DOS environment of Windows 95.

    WARNING: Use boothax msdos ONLY with real mode MS-DOS, do
    not use with the protected mode environment (desktop) of
    Windows 95 especially a DOS VM within Windows. Use with
    MS-DOS and a DOS extender (DOS4GW, etc) should be OK.

  - Added "--boothax <mode>" option to BOOT command. At this
    time <mode> is limited to "msdos" to instruct the emulation
    to intercept specific INT 21h calls to locate the MS-DOS
    kernel's List of List and MCB chain structures for use with
    the debugger.
  - "TV" scaler updated to render dimmer alternate scanlines
    in CGA graphics modes (frank-deng)
  - Direct3D output no longer leaves DOS screen frozen when
    Direct3D device is "lost" (such as hitting CTRL+ALT+DEL
    to bring up the Windows C+A+D screen).
  - Page fault handling on by default now for dynamic core,
    DOS games and Windows 3.1 seem to handle it OK.
  - Page fault handling no longer use non-recursive page fault
    method with dynamic core, no matter what. It's too unreliable.
  - PC-98 mode now switches PIT Timer 2 clock gate ON by default
    to satisfy delay loops in Sunsoft "Photo Genic" and allow it
    to run. Note that PIT Timer 2 drives the baud rate clock of
    the RS-232C port.
  - IDE emulation bug fixed that prevented BIOS to IDE
    geometry translation when BIOS head count == 255. This
    fix also allows Windows 95 to use its IDE driver with
    >= 4GB hard drives instead of running in MS-DOS compatibility
    mode.
  - Disk image support fixed to allow 4GB or larger hard disk
    images to work again.
  - FPU x86 core no longer calls E_Exit if the FPU stack
    overflows or underflows.
  - Updated build-debug scripts to accept "32" on the command
    line as a sign to compile 32-bit (i686) on a 64-bit (x86_64)
    system. You will need a multilib-capable GCC and 32-bit
    libraries installed on your system for this to work.
  - SDL2 OpenGL fixed color order issue
  - OpenGL is now supported in SDL2 builds.
  - Changed MPU-401 reset duration (DOSBox SVN).
0.82.16
  - SDL1 support fixed to gracefully handle a case where,
    under Windows XP, with an audio device that is not cycling
    any audio DMA, DOSBox-X can hang on shutdown.
  - SDL drawn menus now shift and adjust popup menu position
    to ensure the popup is entirely within the screen in cases
    where the window is too small. Redraw issues related to
    that (overlapping item and popup menus) have been fixed.
    Minimum window resolution has been reduced to 500x300,
    enough to permit EGA 640x350 displays without a black
    border.
  - Fixed INT 18h AH=13h not to automatically show the cursor
    (PC-98 fix), which fixes the visible blinking cursor
    problem during games.
  - VS2017 project files can now compile DOSBox-X to run on
    ARM versions of Windows RT (driver1998)
  - Local filesystem support fixed to sanitize DOS dates
    before applying them to files on the host filesystem
    so that invalid dates within DOSBox-X do not make invalid
    dates on the host filesystem.
  - VS2017 project files can now compile DOSBox-X to run on
    ARM64 versions of Windows 10 (driver1998)
  - Fixed FAT driver programming mistake (inherited from
    DOSBox SVN) that used the Windows 95 "Created" date/time
    stamp rather than the original MS-DOS "Modified" date/time
    stamp field.
  - FAT driver now allows setting file date/time properly
    on create or INT 21h call to set date/time, and updates
    date/time on close after writing the file. Copy a file
    to a disk image should preserve the date, and new files
    created on the disk image should no longer have the
    date/time stamp Jan 1st, 1980 12:00:00 AM midnight.
  - Configuration GUI now allows user to exit dialog boxes
    and windows by hitting the ESC key.
  - Entering the mapper UI on Mac OS X will now hide all but
    the Host Key button on the touch bar. Entering the
    Configuration GUI will hide all buttons.
  - If DOSBox-X is run on a platform where the GUI provides
    a menu resource, bringing up the mapper will replace the
    main menu with a mapper-specific menu until you exit the
    mapper. Same for the configuration GUI.
  - Mapper now allows user to exit by hitting ESC key three
    times in a row.
  - Windows MinGW builds now properly support and enable the
    Direct3D output
  - Mac OS X builds now contain the correct version number in
    the application plist. Using the Finder's Information window
    on the compiled application bundle will now show correct
    version information.
  - SDL1 builds fixed to always compile with internal SDL_net
    library instead of public library on the system
  - Mac OS X SDL1 builds fixed to always clip the desktop
    dimensions against the available video modes provided
    by the system to avoid problems with the 1080i/1080p
    modes listed in the System Preferences dialog and older
    HDTV LCD TVs with lower than 1920x1080 native resolution.
  - "unmask keyboard on int 16 read" option is on by default,
    to allow DOSBox-X to keep the keyboard working with
    Windows 3.11 Windows for Workgroups.
  - Added multi-monitor support and detection for Mac OS X.
  - Fixed problem on multi-monitor Linux/X11 setups where going
    fullscreen on the primary monitor leaves the non-fullscreen
    window sticking out on the adjacent monitor.
  - Windows SDL1 builds fixed so that on multi-monitor setups,
    going fullscreen will fill the monitor the window is
    placed on.
  - Added support for multi-monitor and DPI determination for
    Microsoft Windows.
  - SDL1 and SDL2 builds now examine multi-monitor setups and
    so that they can go fullscreen properly on one monitor
    instead of going fullscreen across all monitors, in
    Linux/X11.
  - SDL1 OpenGL code fixed not to leave a blank space at the
    top of the screen when going fullscreen (if the menus are
    SDL drawn menus).
  - SDL1 library modified to center cursor properly no matter
    where on the overall desktop the fullscreen window exists.
  - Multi-monitor and fullscreen support added for Linux/X11
    versions of SDL1 DOSBox-X.
  - For non-x86 targets, or x86 targets where the user prefers
    not to use the x86 FPU core, code has been added to emulate
    the FPU instructions and registers using the "long double"
    data type for full 80-bit precision. This fixes 3D glitches
    in "Explora" though it still doesn't pass the Intel i387
    test program.
  - PC-98 INT 18h AH=04h: Added software delay to slow down some
    older PC-98 games that poll keyboard/mouse while animating
    cutscenes. The games seem to be timed around the assumption
    that this call has some delay to it. This fixes problems with
    "Shangrlia" by Elf corporation and animation that runs way
    too fast.
0.82.15
  - Incorporated x86 FPU emulation from DOSBox SVN to improve FPU
    precision at least on x86 and x86_64 targets.
  - PC-98 port 6Ah fixed not to allow setting EGC enable unless
    another EGC enable bit has been set, as specified in the PC-9801
    bible.
  - SVGA mode 0x10A (text mode) fixed to display properly instead
    of only the top half.
  - BIOS keyboard handling fixed in PC-98 mode so that Shift+Ro
    types an underscore as expected.
  - SVGA emulation (Tseng ET4000 and S3) fixed to reflect real
    hardware behavior where BYTE/WORD/DWORD VGA bits in the CRTC
    are ignored in SVGA modes.
  - Added "debug page flip" and "debug retrace poll" options to
    the menu.
  - Added "Swap Floppy" and "Swap CD" commands to the menu.
  - INT 2Eh (MS-DOS command interpreter interrupt) fixed so that
    the segment value of the interrupt vector matches the PSP
    segment of COMMAND.COM. Some DOS applications rely on that
    segment value as a starting point to enumerate the MCB
    chain.
  - PC speaker emulation fixed not to print "queue overrun"
    messages if the game or demo is attempting to use the PC
    speaker while pcspeaker=off. 
  - PC speaker emulation fixed to improve accuracy and to ensure
    the square wave is synchronized to the 8254 PIT output.
    This change appears to have improved sound quality with
    PWM "digitized speech" output.
  - 8254 emulation fixed to improve overall accuracy
  - 8254 PIT timer emulation fixed not to report writes to PIT 0
    Timer counters if the game is writing the same value
    repeatedly.
  - 8254 PIT timer connected to PC speaker now handles new counter
    value without causing full reset of the square wave (mode 3),
    which allows DOSBox-X to pass all tests in DOSLIB.
  - Added dosbox.conf option to control bus speed (and therefore
    I/O delay) of the C-BUS in PC-98 mode. Added defaults
    appropriate to PC-98 mode according to bus speeds documented
    for PC-98.
  - Timer clock gate emulation fixed to work properly in PC-98
    mode as well as IBM PC mode, when the PC speaker clock is
    enabled or disabled. This includes resetting the counter
    on the 8254 when the clock gate (trigger pin) is turned off
    [DOSLIB test TPCRAPI6.EXE]
  - Introductory text now indicates whether the build was
    compiled against SDL1 or SDL2 (emendelson)
  - Windows SDL1 builds now remember window position even when
    entering/leaving fullscreen mode.
  - "Restart DOSBox-X" menu and command code removed.
  - Linux/X11 window focus fixup. The change in 0.82.14 broke
    main window focus handling entirely by forgetting to check
    for the "window manager" window handle.
0.82.14
  - Windows builds, if run on Windows 7 or higher, will now direct
    the task bar preview to show only the part of the window
    containing the DOS screen.
  - SDL1 Mac OS X builds fixed to remember window position even
    if going to or from fullscreen mode.
  - Fixed mistakes with SDL2 surface output that caused serious
    UI problems with fullscreen mode and fullresolution=original.
  - Fixed problems with SDL1 Mac OS X and the window/dock menu
    filling up with multiple windows that have long ceased to
    exist.
  - SDL1 Mac OS X startup code replaced with startup code from
    SDL2 in order to run from main() cleanly instead of running
    SDL_main from an OS X event callback. This also fixes the
    problem of an unresponsive menu on startup if run from the
    terminal.
  - SDL1 Mac OS X builds fixed not to destroy and recreate the
    window every time it is resized.
  - SDL1 Mac OS X builds fixed to keep the window position
    stable every time you resize or do anything to trigger
    window recreation. Resizing the window no longer causes it
    to re-center to your screen.
  - SDL initialization fixed not to bail out on startup if
    DOSBox-X is unable to initialize SDL1 CD-ROM support (ccawley2011)
  - Segfault fixed (NULL pointer de-reference) that
    occurs when running DOSBox SVN on anything older than
    Mojave. DOSBox-X was not affected but the fix was applied
    just the same because the possibility is there.
  - Configuration GUI fixed to fade out with the right color
    RGBA order on Mac OS X.
  - Mac OS X SDL1 builds fixed to ignore mouse movement that
    occurs outside the window, unless any buttons are held
    down.
  - Mac OS X RGBA color order error with output=opengl fixed.
    EGA/CGA/MDA/Hercules/etc. modes should display properly
    now on OS X with OpenGL output.
  - SDL1 builds for Mac OS X now use the full Application
    menu generated by SDL1 instead of just an About command.
  - SDL1 builds under Mac OS X now support the "touch bar"
    on Macbook Pro and offer a few basic shortcuts,
    including a few that the touch bar makes much more
    inconvenient to use since the function key row is
    virtual on the touch bar instead of physical.
  - SDL1 builds under Mac OS X now offer a few basic
    DOSBox-X shortcuts if you command-click or double-tap
    the application icon in the dock.
  - Added support for taskbar extensions offered by
    Windows 7 and higher that allow DOSBox-X to put
    additional buttons in the preview pane that appears
    when you hover over DOSBox-X in the taskbar.
  - Centos 7 SDL1 builds (Linux X11) can now go fullscreen
    properly, instead of making the user input devices
    unusable running in an endless loop.
  - Windows builds now include Mapper and Configuration GUI
    commands in the system menu.
0.82.13
  - Mac OS X SDL2 builds now use the native OS X menu
    system instead of the "SDL drawn" menus.
  - Mac OS X SDL1 builds now default to the OpenGL
    output (if compiled with OpenGL support). Under
    recent versions of OS X, OpenGL output gives
    better performance than surface (CGBitmap) based
    display.
  - SDL2 builds now have working XBRZ scaler support.
  - Mac OS X SDL2 builds updated to completely ignore
    touch events, because SDL2 sees the touchpad on
    Macbooks as a touchscreen. Prior to this fix, the
    DOSBox-X UI was unusable due to mixed input events
    from both the touchpad and the mouse input from the
    touchpad.
  - SDL1 High DPI support for Mac OS X users with Retina
    displays.
  - SDL1 fix for display problems (blank windows) on Mac
    OS X 10.14.x (Mojave).
  - Windows builds (compiled with VS2017) now have working
    MT32 (Munt) emulation.
  - Adjusting CPU cycles with F12 + - / F12 + + (Increment
    and Decrement Cycles shortcuts) now updates cpu cycles
    property. This fixes a problem where adjusting the cycle
    count then changing the CPU core caused DOSBox-X to reset
    the cycle count back to the original value.
  - Linux/X11 support fixed not to assume XRandR extensions
    are present, but to instead ask the X11 server first.
  - Simple scaler rendering has altered the RENDER start line
    state so that detection of a changed line triggers a block
    of rendering without compare within a limited count before
    checking again. This means a reduced CPU load with scalers
    because it only detects frame changes every line before
    changes detected, and then on average every 12th line
    when running the scaler code. Hopefully this helps the
    Raspberry Pi keep up with DOS gaming better.
  - Simple scalers now offer compile-time (not run-time)
    option to omit per-pixel compare in scaler and process
    the entire scanline instead as a performance adjustment
    for slower and embedded systems.
  - Video debug menu added. First item is one that blanks the
    display to test screen updating.
  - Simple scalers (normal 2x-5x and SAI) revised to process
    changes and scaler rendering in larger blocks for possible
    performance improvement.
  - Simple scalers fixed to properly compare all pixels to
    detect changes properly, instead of only the first 4-8
    pixels.
  - EGA/VGA text rendering combined to reduce code copypasta
    and reduce bugs.
  - VGA 16-color planar modes now obey CRTC byte/word/dword
    bits.
0.82.12
  - MinGW HX DOS builds fixed to accept mouse input properly
    even beyond the 640x480 of the original SDL window
    dimensions. HX DOS seems to use the original dimensions
    of the window even if the window is maximized, thus the
    mouse input issue.
  - Configuration GUI fixed not to restore (unmaximize)
    the window, it's unnecessary.
  - New build scripts for Mac OS X, MinGW, and MinGW HX-DOS,
    under build-scripts in the source tree, to help make
    DOSBox-X releases more timely and consistent.
  - MinGW HX DOS builds now use WS_POPUP style instead
    of WS_OVERLAPPED to avoid window caption redraw
    glitches when in Windows XP.
  - MinGW HX DOS builds fixed to force the SDL window
    maximized at all times. Mapper and Configuration GUI
    interfaces fixed not to call on Windows to SW_RESTORE
    the window, in order to keep it maximized.
  - Steel Gun Nyan PIT/Timer hack revised so that polling
    the timer does not cause an interrupt storm. This
    fixes "God of Thunder" MS-DOS game where entering or
    leaving a house causes the Adlib music to play
    REALLY FAST during the transition effect.
  - Dynrec core ported from DOSBox SVN (Daniel-Trevitz)
  - Configuration GUI will pack settings closer together
    if the window/screen size is below 800x600.
  - Configuration GUI fixed to size dialog boxes as
    large as needed to show all options, to allow tabbing
    between options, to show a focus rectangle on the
    items.
  - Configuration GUI top level windows no longer show
    inactive title bar whenever you access a menu.
  - About dialog in configuration GUI updated to
    reflect that this is DOSBox-X in 2018, not
    DOSBox in 2014.
  - Configuration GUI now works with touchscreens in
    SDL2 builds.
  - INT 33h fixed to regard cursor as hidden if hidden
    for at least 100ms, which fixes host cursor flickering
    when running the built-in FreeDOS EDIT.COM program.
  - Mouse input and guest pointer integration limited
    to send input only if within the display region or
    within a 10% border around the display region.
  - SDL2 tapping the SDL drawn menu bar (on a touch
    screen) no longer triggers mouse click in the
    guest application (bugfix).
  - SDL2 Linux/X11 hack, added to compensate for bugs
    in SDL2 v2.0.5 regarding Linux/X11 touchscreen
    events, removed. SDL2 v2.0.9 fixed it.
  - Linux/X11 SDL2 builds will now encourage the user
    to update the SDL2 library installation if
    SDL2 library v2.0.5 is installed.
  - Fullscreen mode fixed in SDL2 builds.
  - Fixed configuration GUI fade out/in effect after
    exiting mapper GUI bug.
  - Configuration GUI now available and working in
    SDL2 builds as well as SDL1.
  - SDL2 builds now have a working "Fit aspect ratio"
    option.
  - SDL1 fullscreen mode fixed to use either the desktop
    size or the desired output size, and fallback to
    non-fullscreen on failure, to fix a segfault that
    would otherwise happen.
  - CONFIG -set sdl showmenu= now changes menu visibility.
  - CONFIG -set render scaler= fixed to apply changes
    to scaler and force setting, and update menu items,
    instead of ignoring it.
  - CONFIG -set render aspect= now keeps menu synchronized
    with setting.
0.82.11
  - SDL GUI fixed to make fade/sepia effect fit the
    actual display rectangle instead of filling the
    window.
  - PC-98 BIOS keyboard handling now returns capitals
    for A-Z if SHIFT xor CAPS LOCK is engaged.
  - PC-98 BIOS keyboard handling now uses modifier bits
    of keyboard bitmap to process scan codes, hackish
    IBM PC/AT data area status handling in PC-98 mode
    removed.
  - PC-98 BIOS keyboard emulation now maps numeric keypad
    to produce the correct keyboard input to the console
    and games. This fixes games that rely on the numeric
    keypad and the DOS console driver
  - Command line parsing fixed to add any BAT, COM, and
    EXE file references given at DOSBox-X's command line
    to the autoexec.bat file run at startup.
  - BOOT command bug fixed that made it impossible to
    specify both disk images and the --debug and --force
    options.
  - Debug output fixed to make it easier to break into
    the debugger even during a flood of debug output.
  - Added dosbox.conf option to enable/disable the
    PC-98 bus mouse interface
  - PC-98 boot disks with 128 bytes/sector boot sectors
    now load 4 sectors instead of 2. Seems to be
    required by some games.
  - INT 13h read/write functions fixed to refuse the
    command if the floppy disk has a sector size too
    large for the implementation (such as a PC-98
    disk image mounted in IBM PC mode with 1024 bytes
    per sector).
  - INT 13h AH=2 (read sector) updated to return disk
    change error on first read after disk change, to
    match real BIOS behavior.
  - Floppy emulation now tracks "disk change" signal.
  - PIC event handling fixed, IRQ breakpoints now stop
    at the beginning of the interrupt handler.
  - MPU-401 MIDI default IRQ is now IRQ 6 in PC-98 mode,
    to match factory default setting.
  - MPU-401 MIDI IRQ masked by default in PC-98.
  - PC-98 port BFDB implemented, which allows control
    of the mouse interrupt rate.
  - Eliminated mouse periodic interrupt hack, the mouse
    interrupt on PC-98 is periodic when enabled.
  - 256-byte/sector hard disk images fixed to ensure the
    proper boot drive identifier is presented for MS-DOS
    when booting a hard disk image.
  - Added IMGMOUNT -o partidx=N option. N is an integer
    value that indicates which partition to mount, counting
    up from zero. This allows mounting disk images that
    the FAT driver otherwise can't identify which partition
    to mount.
  - New general -o name=value option for IMGMOUNT, to pass
    various options to the FAT driver.
  - Update Metal Force mouse hack to become a more general
    "fire interrupt on Port C write" with a dosbox.conf
    option to enable. This fixes the requirement to move
    the mouse constantly for "Amaranth" when enabled.
  - Add to cascade interrupt hacks by offering an option
    to ignore the "in service" bit of the PIC for the
    cascade interrupt, while still tracking it for
    the DOS game or interrupt. Handy for PC-98 games
    that check the cascade "in service" bit before
    acting on the interrupt (IRQ 8-15).
  - DOS kernel fixed to limit it's private area and
    UMB region to avoid overlapping the PC-98 SOUND
    BIOS.
  - PC-98 SOUND BIOS dummy stub added for games that
    call into it.
  - Emulator hanging problem fixed when inputs are
    processed while running at a very low cycle count.
  - Added PC-98 LIO BIOS list and stub for games that
    require it.
  - Timer and PIC updated to emulate Mode 3 Square Wave
    output through the IRR register. Needed for Steel
    Gun Nyan.
  - PC-98 INT 18h fixed to reenable and process any
    keyboard data waiting when the DOS game or application
    calls INT 18h to read keyboard input. This fixes
    keyboard problems with Quarth.
  - PC-98 FDC BIOS emulation no longer reprograms the
    timer interrupt, but uses an alternate hack to
    avoid divide by zero fault with Ys II.
  - PC-98 GDC command to read back cursor position
    added.
  - PC-98 DOS CON device emulation now maintains ANSI
    attribute byte at 60:11D as documented.
  - BOOT now hides hardware cursor when booting a guest
    OS in PC-98 mode.
  - INT 1Dh vector now points at segment FD80 to satisfy
    some games that autodetect PC-98 vs other platforms.
  - INT 18h AH=42 implement display "bank" bit for games
    that need it.
  - PC-98 text scroll region implemented (I/O ports
    76h-7Ah even).
  - PC-98 CRTC mode set regarding 20/25-line mode fixed
    to update line height, text vertical position/height,
    and cursor shape.
  - PC-98 emulation of text height/vertical position
    registers 70h-74h even added.
  - PC-98 text hardware cursor fixed to cover both halves
    of doublewide characters if cursor positioned on left
    half, to match real hardware.
  - Fixed music/interrupt slowdown whenever I/O and INT 10h
    BIOS emulation is involved.
  - PC-98 minimal (non-functional at this time) printer
    port emulation added, as well as system configuration
    port.
  - PC-98 CG memory region fixed to match real hardware
    behavior, responding to A4000-A4FFF.
  - FAT filesystem driver now supports 2048 bytes per
    sector filesystems.
  - FAT filesystem driver logical/physical sector matching
    fixed to improve flexibility.
  - Fixed crash that occurs if you maximize the window
    and then adjust scalers to produce output that is
    larger than the maximized window.
  - INT 33h emulation now offers hiding the host cursor
    if the guest has provided an interrupt subroutine
    for the mouse driver to call, since it usually means
    the DOS game wishes to draw the cursor itself.
  - INT 33h emulation now offers hiding the host cursor
    if the guest is polling the cursor position, to
    better support guest/host integration with DOS games
    that draw their own cursor.
  - AUX and PS/2 emulation no longer allowed if machine
    type is PCjr.
  - PS/2 mouse emulation fixed to disable itself if the
    slave PIC needed for IRQ 12 is not present.
  - INT 33h pointer integration improved to support some
    additional DOS games, and to handle DeluxePaint II
    enhanced.
  - IMGMOUNT now supports NFD disk images.
  - DOSBox Integration Device now available for PC-98.
  - Added support for T98Next NHD hard disk images.
  - Added support for T98Next NFD R1 disk images.
  - Fixed crash with VGA BIOS allocation if video memory
    allows the full modelist to overflow the available
    ROM space.
  - SDL2 mapper redraw issue resolved.
  - Added dosbox.conf option to determine whether INT 10h
    VESA BIOS emulation points at the modelist in ROM or
    copies the modelist into the DOS application's info
    structure when asked.
0.82.10
  - PC-98 INT 1Bh floppy emulation now fakes success for
    calls to format track.
  - Initial keyboard pause fixed
  - PC-98 INT 1Bh floppy disk BIOS call now resets timer
    interval per call. This fixes Ys II after disk swap.
  - BIOS fixed to put normal "unhandled INT call" handler
    for INT 0-7 even in PC-98 mode to avoid confusion
    between game crashes and unknown INT calls.
  - VFD image support fixed to properly handle disk images
    where a sector is marked with fill byte 0xFF and the
    data field is 0xFFFFFFFF, which means the sector contents
    are all 0xFF.
  - DOSBox-X now supports T98 NFD disk images (R0).
  - BIOS data area now properly reports a high-resolution
    CRT display.
  - INT DCh AH=1 CL=10h added, which is apparently a print
    string function.
  - BIOS data area now reports 188+ user-definable CG slots,
    which makes GAJET happy.
  - FDI image support fixed to read the header instead of
    treating it as a plain disk image with 4096 of junk.
  - PC-98 character generator is now accessible through both
    I/O ports A1h-A9h and through memory-mapped I/O range
    A4000-A401F. This fixes missing text in Eve Burst Error.
  - Gravis Ultrasound emulation will no longer log GUS reset
    writes in cases where the same value is being written
    repeatedly, to reduce log clutter. Some demoscene
    productions have music routines that trigger GUS reset
    repeatedly without changing the register.
  - Added "gus master volume" setting to deal with games or
    demoscene productions where the music is too loud and clipping.
  - Added "Pause with interrupts". When enabled, the CPU is directed
    into a CALLBACK_Idle() loop to halt the game's main
    logic while allowing interrupts to run. This is useful
    for recording the game or demo's music because most DOS
    games/demos run the music and sound effects from interrupt
    handlers instead of the main loop.
  - Audio/video capture fixed to render audio even if muted,
    instead of rendering garbage to the capture file when
    audio is muted.
  - Experimental Emscripten + Node target (not reliable yet).
  - Added option to control how unhandled IRQs are dealt with.
    One option, mask_isr, is derived from em-dosbox.
  - Code added to read the screen dimensions in Linux/X11,
    either through XRandR or through the base X11 API.
  - Code added to read and store the dimensions, size, and
    DPI (Dots per Inch) of the screen.
  - Fixed bug that enabled IBM style APM BIOS in PC-98 mode.
  - For PC-98 mode, PIC emulation by default (but controllable
    through dosbox.conf) now initializes the PIC at startup to
    return the ISR (interrupt in-service) register instead of
    the IRR (interrupt request) register. This fixes FM
    music problems with Blackbird by Vivian caused by a
    programming mistake in the FM interrupt handler.
  - PIC emulation now accepts a dosbox.conf option not to mark
    the cascade interrupt as in service, for troublesome games.
  - VESA BIOS emulation now supports a packed 16-color (4bpp)
    mode as seen on a Toshiba Libretto (Chips & Tech) system.
    The packed format is different than the normal planar 16-color
    SVGA modes seen on most systems.
  - INT 33h no longer reports relative mouse motion unless the
    user captures the cursor.
  - Fixed EGA 16-color display modes (M_EGA) to honor CGA and
    Hercules compatible mapping modes (bits 0 and 1 of the
    CRTC mode control) and limit memory display to 8KB or 16KB
    accordingly. This fixes the mode select screen in the game
    "Prehistorik 2".
  - Removed Sound Blaster goldplay mode + sample accurate mode
    warning, goldplay mode no longer has issues with sample
    accurate mode.
  - Mixer "sample accurate" mode fixed to work again.
  - Windows SDL1 builds fixed to work around Windows SDK-level API
    limitation that normally prevents Win32 applications from
    fully receiving WM_KEYDOWN events for the left/right shift
    keys independently. Left and right shift keys are now fully
    usable on Windows builds (i.e. for use with pinball games).
  - INSTALL.MD guide and test files (Aybe)
  - CONFIG -get now populates %CONFIG% environment variable with
    configuration setting (follow DOSBox SVN behavior)
0.82.9
  - "Always on top" mode is now available for Mac OS X builds.
  - PS/2 mouse emulation fixed not to send relative mouse motion
    unless mouse cursor is captured.
  - Shell no longer provides MEM.COM if machine=pc98 or cputype=8086.
    MEM.COM is not compatible with either case.
  - INT 10h emulation will now set the S3 LFB enable bit for VESA
    SVGA modes, unless machine=vesa_nolfb was specified.
  - VGA emulation revised to report possible known problems with
    Windows 3.1 with regard to LFB base address or memalias setting.
  - VGA emulation fixed to emit warning if memalias=24, for S3 LFB,
    if machine=svga_s3, to inform the user that the configuration is
    known to cause the Windows 3.x driver to crash.
  - VGA emulation will no longer report S3 linear framebuffer address
    unless machine=svga_s3. The LFB address doesn't matter for anything
    other than SVGA S3 emulation.
  - S3 emulation will now automatically disable PCI VGA emulation if
    constraints prevent DOSBox-X from setting a linear framebuffer
    address aligned to 32MB (as required for PCI emulation).
  - VGA emulation fixed to pick a more appropriate linear framebuffer
    (S3) address if memalias is set to a value below 32.
  - Added dosbox.conf option "pci vga" to control whether the VGA
    emulation appears as a PCI or ISA device.
  - ROM BIOS now forces reported RAM down to make room for BIOS
    alias at top of memory instead of throwing an E_Exit error.
  - Fixed Hercules emulation (and MDA) so that the Hercules palette
    is always enforced. This fixes a bug where switching to HGC
    graphics mode resulted in monochrome blue/black graphics instead
    of the intended white/green/amber color expected.
  - Added MDA emulation (machine=mda). It functions like
    machine=hercules minus the graphics mode and Hercules-specific
    extensions to the base MDA card.
  - DOSBox shell no longer accepts dosbox.conf settings as commands
    by default, unless enabled in dosbox.conf. Typing "cycles" will
    no longer show cycle count. The dosbox.conf setting allows the
    user to enable it again i.e. for compatibility with DOSBox SVN.
    This is to prevent dosbox.conf settings from polluting the
    available commands at the shell and conflicting with shell and
    executable names.
  - EGA emulation fixed to obey Color Plane Enable register in
    16-color planar modes.
  - Fixed BIOS model byte to report PS/2 model 30 correctly when
    machine=mcga, to allow certain DOS games to detect MCGA that way.
  - CGA mode/color select registers are readable on MCGA, fix 3D8-3D9h
    to reflect that.
  - INT 10h fixed to properly allow/deny AH=10h, AH=11h, and AH=12h calls
    according to machine= type instead of mistakes that blocked too many
    calls.
  - CGA composite mode should not be available when machine=mcga.
  - Fixed INT 10h to report MCGA color display if machine=mcga.
  - MCGA (IBM PS/2 Multi-Color Graphics Adapter) emulation added.
  - bitop C++11 self-test disabled for Microsoft Visual Studio builds.
    Microsoft's compiler can't handle them for some reason.
  - Added DOSLIB DSXMENU.EXE to the built-in executable list.
    DSXMENU.EXE allows DOS CONFIG.SYS style menus to be set up to
    run commands based on menu selection.
  - PC-98 ANSI emulation fixed to use the number of rows on the screen,
    not cursor position, to range-clip ANSI cursor positioning.
  - Added code to have DX-CAPTURE wait 3 seconds (or until ENTER/SPACE
    is pressed) after the program exits, before stopping capture.
  - DOSBox-X menus now allow runtime selection of capture format
    (AVI+ZMBV or MPEG-TS H.264). Changing while capturing will stop/start
    capture correctly.
  - Added switches to DX-CAPTURE to allow specifying audio, multitrack audio,
    and video as well.
  - DX-CAPTURE shell command added. The command to run is specified
    after DX-CAPTURE and DX-CAPTURE will start video capture, run the
    program, then stop capture when the program exits.
  - VGA/SVGA emulation fixed to enforce 256KB (64KB planar) wraparound
    when emulating stock VGA modes (not SVGA/VESA BIOS). Some
    demoscene productions rely on the 256KB wraparound when showing
    scrolling credits.
  - Gravis Ultrasound emulation now uses I/O callout system, with
    I/O port handling to emulate ISA bus 10-bit decoding (but with
    consideration of GUS MAX 7xx registers) so that GUS I/O ports
    are visible every 1000h I/O ports. A demoscene production was
    found that relies on an alias of GUS ports at 5xxxh rather than
    using the I/O ports directly.
  - Mouse emulation no longer sends motion to serial and PC-98 mouse
    emulation unless mouse cursor has been captured.
  - Mouse emulation fixed to set sensitivity and mickey count even if
    int33=false on mouse emulation reset.
  - Debugger fixed to paginate commands with a lot of output, including
    HELP, PIC, and various commands to dump interrupts and GDT/IDT tables.
  - CPU core no longer triggers Double Fault if Divide Overflow
    occurs within Divide Overflow. This is needed for bizarre anti-debugger
    obfuscated code seen in a demoscene production, where the program
    wraps the demo in a mini-filesystem emulated by trapping INT 21h.
  - cputype= dosbox.conf setting fixed to allow selecting between
    new 486 emulation (cputype=486) and old 486 emulation (cputype=486old).
    The "old" 486 core emulates older 486 CPUs that differ significantly
    from the newer 486 CPUs that inherited features from the Pentium.
  - IRQ hack setting for GUS and Sound Blaster is now a list so that
    multiple hacks can be specified, but in a way that is backwards
    compatible with existing dosbox.conf files.
  - IRQ hack option for Gravis Ultrasound added.
  - INT 20h emulation fixed to work with demoscene productions that
    call INT 20h in a way that the interrupt frame wraps around the
    64KB limit of the stack.
  - XMS emulation now has a dosbox.conf setting to control the number
    of XMS handles available.
  - Added INT 33h option not to round mouse cursor coordinates to text
    cell boundaries in text mode. Some demoscene productions were found
    that detects mouse movement, but reads initial position from text mode
    before switching to graphics.
  - Removed IRQ0 error measurement hack, to match DOSBox SVN. This fixes
    timing problems with some demoscene productions. The error measurement
    hack was apparently added for Microsoft Flight simulator, but has not
    been needed since and has been causing timing issues since.
  - Fixed INT 10h VGA save state function to program the Attribute Controller
    properly so that the screen is not left blank after the call.
  - 8042 keyboard emulation now initializes port 60h to 0xAA on hardware
    reset and initialization. Some DOS games and demoscene productions
    need something with bit 7 set in the register at startup in order not
    to act as if a key was immediately pressed.
  - Add printer emulation from Daum's branch of DOSBox, add FreeType 2.9.1
    to go with it (Alex/AT)
  - Add keyboard type setting, for use in future development.
  - PCjr emulation fixed to emulate PC/XT style NMI mask at port A0h
    rather than emulate the secondary PIC.
  - Code of Conduct revised to make it clear that forks/derivatives CAN
    have their own Code of Conduct but that it only applies to that fork
    or derivative version. No forking DOSBox-X, changing the code of
    conduct, and enforcing it on anyone outside your fork.
  - CPU normal core fixed to clear ZF flag after MUL when cputype=8086,
    which fixes problems with MSD.EXE mis-detecting the CPU as a NEC V20.
  - Fixed PCjr emulation not to allow UMB (upper memory blocks) since
    that seems to cause stability issues with emulation. Also, PCjr
    does not have UMB as far as I know.
  - Fixed PCjr not to re-read port 60h from IRQ1 handler.
  - Fixed PCjr not to emulate INT 15h keyboard hook.
  - PCjr keyboard emulation fixed to trigger NMI and reflect to IRQ1
    the way it actually works on IBM PCjr systems, which also fixes
    keyboard control issues with the PCjr version of "Pitfall".
  - configure.ac now provides an option for compiler optimization (Yksoft1)
  - Code of Conduct, initial version, added to source tree
  - PC-98 palette save/load state
  - CPU, memory, VGA palette and attribute controller save/load state
  - DOS SHELL now implements INT 0x2E to allow DOS programs to invoke
    shell commands through COMMAND.COM (borrowed from DOSBox SVN).
  - Added dosbox.conf option to control the physical memory address of the
    S3 SVGA linear framebuffer.
  - Save/load state system added, currently very minimal and experimental.
  - Appveyor XML added to source tree (Allofich)
  - Fixed *most* SDL2 refresh problems.
  - Sound Blaster Pro mixer volume fixed to return reserved bits SET rather
    than CLEAR. Some demoscene productions detect Sound Blaster Pro by whether
    these bits remain set when written. This fix allows them to detect Sound
    Blaster Pro as Sound Blaster Pro.
  - VGA emulation fixed not to add 2 scanlines twice, which fixes VGA vertical
    timing and scanline count and fixes the scroller in "Inconexia".
  - Gravis Ultrasound emulation now prints a warning if the game/demo attempts
    a DMA transfer while leaving the DMA channel masked.
  - Fixed Gravis Ultrasound emulation to mask DRAM peek/poke I/O to the 1MB
    offered by the card, which fixes GUS problems with a demoscene production
    that has random values in DRAM address bits 23-20.
  - Added dosbox.conf option that, if set, lets Gravis Ultrasound emulation
    start a DMA transfer if the game/demo is polling the DMA control register
    when DMA is unmasked and DMA terminal count has not occurred, which helps
    some demoscene productions.
  - Added "PIC unmask IRQ" option for Gravis Ultrasound emulation.
  - Gravis Ultrasound emulation now has a dosbox.conf setting to initialize
    the hardware at startup as if ULTRINIT had been run.
  - Added dosbox.conf option for VESA BIOS emulation that, if set, instructs
    non-LFB modes to report 64KB windows but map 128KB from the start of
    the window, which helps (but does not fully solve) some Demoscene
    productions with redraw problems handling non-LFB as if LFB.
  - Fixed ET4000 emulation to support the hretrace "wobble" needed for
    "Copper"
  - VGA DAC/attribute controller behavior updated to reflect actual behavior
    as seen on an IBM PS/2 VGA model, as well as almost any SVGA clone.
  - VGA DAC behavior unique to Tseng ET4000 implemented when machine=svga_et4000.
    256-color mode on the ET4000 seems to map the low 4 bits through the
    attribute controller and, if enabled, the upper 4 bits through the
    color select register. Note this behavior is REQUIRED for the
    "copper" demo to display properly.
  - VGA palette, DAC, and attribute controller emulation updated to
    reflect actual VGA behavior, including the way that 256-color mode
    is mapped through the attribute controller.
  - Sierra highcolor DAC can now be enabled for any VGA/SVGA emulation
  - Cleanup and reorganization of scaler, aspect ratio handling (Alex/AT)
  - MinGW config.h builds fixed to enable Direct3D (Alex/AT)
  - Build fixes for SDL1 and Linux and extended functions (JP Cimalando)
  - Fixed ALSA MIDI mistake preventing the creation of subscription
    ports (JP Cimalando)
  - Previous release broke SVGA 16-color planar modes by masking video
    memory to 64KB planar boundaries at all times, fixed code to do so
    only for non-VESA modes. 1024x768 16-color mode works again.
  - Fixed user-defined VESA BIOS modes to validate the required video
    memory against the available memory on the emulated SVGA hardware.
  - VESA BIOS modelist generation moved into its own function. Modelist
    is regenerated upon editing/deletion of modes.
  - VESA BIOS modes added as suggested by hail-to-the-ryzen
  - VESA BIOS emulation now allows scriptable editing, deletion, and
    mode renaming of VESA BIOS modes for use with picky DOS games and
    demoscene productions that assume mode numbers.
  - Added VESA BIOS mode 0x136 as an alias for 320x200x16bpp mode
  - Enhancements to GFX_CaptureMouse and CaptureMouseNotify added
  - Fixed scaler change detection to use sizeof(int) properly than assume
    a certain byte count
  - Fixed undefined sse2_available reference issue in certain builds
0.82.8
  - New xBRZ scaler (with bilinear mode) (Alexat)
  - Fixed aspect ratio correction to use the ratio given by VGA emulation
    instead of assuming 4:3
  - output=surface and xBRZ now permit filling the window just like
    output=opengl and output=direct3d
  - Added critical section around Windows SDL 1.x resize code to solve
    the remaining 0.5% probability that resizing the window causes move
    and resize to stop working in Windows 10.
  - INT 10h AH=10h now ignores AL=3 in PCjr mode.
  - Fixed keyboard handler bug in PCjr mode that caused some CPU
    register corruption and general crashiness in games.
  - Improved shell: (Aybe, Joncampbell123)
    - Ctrl+Left and Ctrl+Right permits word-navigation.
    - Added emulation of 'Ins' key behavior.
  - Num Lock, Caps Lock, Scroll Lock are now synchronized at startup
    and when DOSBox-X window gains focus again (Windows). (Aybe)
  - Added visual feedback to Hat/D-pad buttons in mapper. (Aybe)
  - Added documentation for 'dir' command sorting switches. (Aybe)
  - Menu 'Show console' is now checked with '-console' (SDL1). (Aybe)
  - Improved joystick support (see README.joystick): (Aybe)
    - Added deadzone and response for joystick axes.
    - Axes can be remapped for devices with questionable layout.
    - User-settable deadzones for joystick bindings in mapper,
      mappings like WSAD keys to axes is less frustrating.
  - Improved mouse integration (Aybe):
    - Now by default DOSBox-X does not emulate mouse movement when the mouse
      is not locked. This gives a consistent experience when compared to host OS.
      For the old behavior, use [sdl] mouse_emulation=always.
    - Added visual or auditive feedback about auto-lock state (Windows).
      This feature can be switched off, use [sdl] autolock_feedback=none.
  - Added CAPMOUSE program for capturing/releasing mouse from command line. (Aybe)
    
0.82.7
  - Mac OS X builds now honor showmenu=false by leaving the
    stock SDL menu in place at startup.
  - Default minimum MCB free/base is now 0x100, to sidestep
    unknown unstable DOS application behavior when DOS
    applications are loaded at around segment 0x800.
    This also puts DOSBox-X at parity with the base memory
    behavior of DOSBox SVN.
  - Add dosbox.conf option to set Sound BIOS enable
    bit in non-volatile RAM (PC-98) that tells older
    PC-98 games the FM card is present (Yksoft)
  - BOOT updated to boot D88 except for 2D format which
    is generally used by PC-88 disk images.
  - Added D88 disk image support
  - CMake files added (Aybe)
  - PIC timing updated to use "double" float type for
    more precision, but as a typedef for future support
    as a compile time option.
  - Removed geometry checks from INT 1Bh FDC functions,
    to allow non-uniform disks to work.
  - MinGW builds now allowed to use Direct3D.
  - Direct3D output fixed to use the same texture
    coordinate, window fitting, and positioning
    logic as OpenGL.
  - Update zlib and libpng libraries in-tree.
  - Fixed VFD disk image support to correctly signal
    failure to detect geometry, to avoid divide by
    zero crash with FAT driver.
  - showmenu= now taken into consideration whether to
    show the menu bar at startup
  - Fixed get_item() E_Exit crash if menus asked to
    show from dosbox.conf
  - SDL drawn menus fixed to integrate with Direct3D
    output on Windows.
  - PC-98 mode can now boot floppy disk images where the
    boot sector is 128 or 256 bytes/sector despite
    track 1 and higher having 1024 bytes/sector.
  - General codebase cleanup, compiler warning cleanup.
  - Enable XInput support on Windows (Aybe)
  - Fixed SDL drawn menus to use std::vector properly,
    not to hold onto iterators while resizing the vector
    and popping things off the top.
  - PC-98 INT 1Bh "read id" floppy disk call fixed to
    cycle through sector numbers. Some bootable PC-98
    games use "MEGDOS" which polls this BIOS call before
    attempting to read the disk. If the sector numbers
    never cycle, "MEGDOS" will not attempt to read the
    disk.
  - Fixed bug that prevented some menu options (such as
    "aspect ratio") from working if still in the BIOS or
    booted into a guest OS.
  - PC-98 mode fixed to ignore "mainline compatible mapping".
    That mapping mode refers to DOSBox SVN which never
    supported PC-98 mode anyway.
  - Fix PC-98 INT 1Bh "test read" call, which then allows
    "cherry bomb" to run.
  - Remove geometry checks in PC-98 INT 1Bh BIOS call, so
    that FDD images with odd sector sizes can work.
  - ROM BIOS now automatically occupies E8000-FFFFF instead
    of F0000-FFFFF when in PC-98 mode.
  - Most 128 byte/sector FDD images appear to jump to
    E800:0002. I'm guessing that's ROM BASIC, so add a
    callback at that location to catch these boot disks
    and show a message instead of allowing the boot
    sector to jump to nothing and crash.
  - PC-98 BOOT fixed to check for and support booting from
    FDD images where track 0 contains 128 byte/sector
    boot sectors.
  - PC-98 INT 1Bh support fixed to support reading/writing
    sector sizes other than the one sector size reported
    by the image. It is now possible to read the other
    sector sizes from an FDD/VFD image.
  - Fixed somewhat serious bug that, when compiled against
    Microsoft C++, causes the AVI writer to use the 32-bit
    lseek() function instead of the 64-bit lseek64() function.
    Prior to this fix, AVI captures would begin to corrupt
    themselves after growing past 2GB in size.
  - Cleanup code, fix compiler warnings, typecast problems,
    C/C++ conformance problems as reported by GCC 4.8,
    GCC 7.3.0 (MinGW), Visual Studio 2017, and Clang/LLVM
    on Mac OS X.
  - FM Towns machine type stub, for anyone interested in
    forking DOSBox-X to implement FM Towns emulation.
  - Code cleanup, refactor, according to compiler warnings.
  - SDL drawn menus fixed to copy Direct3D backbuffer to
    the SDL surface when popup occurs. This allows the
    menus to overlap the Direct3D display correctly.
  - Fixed Direct3D output so that when composing the next
    frame in the backbuffer, it also copies the SDL drawn
    menu from the SDL surface in order to keep it on
    screen.
  - Direct3D output updated to follow SDL clip rectangle
    struct, in the same exact manner as the OpenGL output.
    This also permits the Direct3D output to correctly size
    itself and leave space at the top for the SDL drawn
    menus.
  - Fixed dynamic core entry point to push/pop EBP because
    debug builds need the compiler to track the stack frame.
  - Updated in-tree zlib and libpng libraries to the latest
    provided by both projects.
  - Fixed VFD (FDD) disk image support to signal to FAT driver
    properly an error if it could not determine a geometry.
  - Fixed code breakage with SDL2 that prevented compilation
    with Munt (MT32) emulation enabled. SDL2 builds now allow
    MT32 emulation.
  - Mac OS X builds now compile against the in-tree zlib and
    libpng libraries for consistency.
  - MinGW builds now compile against the MinGW provided zlib
    and the in-tree libpng library for consistency.
  - Enabled MinGW builds to use Direct3D and Direct3D shaders.
  - Added code to auto-detect the VirtualBox display driver
    in Windows build, because OpenGL output doesn't work
    in Windows XP under VirtualBox. The change will switch
    the default output to "surface" if VirtualBox is detected,
    else will retain the "opengl" default. This change applies
    only to MinGW builds and not HX DOS or main VS2017 builds.
  - Added PC-98 INT DCh emulation for function call that
    writes a char to the screen, allowing Eve Burst Error
    to clear the function row
  - Added command line option to allow skipping the 1-second
    wait in the BIOS startup screen.
  - SDL2 builds now support use of the SDL drawn menu with
    a touchscreen device.
  - Fixed up SDL2 support code to compile correctly on
    Mac OS X.
  - Fixed up SDL2 compilation to automatically use the
    SDL2 library on the system, or if that is not available,
    use the SDL2 library in-tree. There are no plans to make
    modifications to the in-tree SDL2 code.
  - Added code to read and discard OpenGL error code before
    creating font texture, to avoid false failure handling.
    This fixes font rendering on Windows MinGW builds when
    output=opengl.
  - OpenGL SDL drawn menus fixed to ensure the menu contents
    have been redrawn at least twice. One for each OpenGL
    buffer because DOSBox-X uses the double-buffered mode.
  - SDL drawn menus implemented for output=opengl. The menu
    bar in Linux builds is now available in OpenGL mode.
  - SDL drawn menus fixed to redraw only when state changes,
    and to clean up menu drawing code.
  - US keyboards can now enter the "Ro" key in PC-98 mode.
    Default binding is set up to map the Windows Menu key
    as Ro in PC-98 mode.
  - VGA option change code fixed to trigger scaler redraw
    correctly. Changing video modes or changing between
    8/9-pixel VGA text no longer leaves artifacts on the
    screen.
  - Added code to force redrawing additional frames when
    output=opengl, in order to correct a bug with Linux/X11
    and MesaGL where the first OpenGL buffer swap after
    SDL_SetVideoMode() is misplaced when the window size
    changes.
  - Renderer SSE line comparison fixed to use correct sizeof()
    of the integer type during compare.
  - Renderer fixed not to use SSE and non-SSE line comparison
    at the same time, if SSE was enabled at compile time.
  - Fixed in-tree SDL 1.x library to allow DOSBox-X to disable
    auto-refresh of the window in Linux/X11 after SDL_SetVideoMode
    to prevent visible flickering when resizing the window.
  - Conditional support for Direct3D (9) output enabled for
    MinGW builds, if the MinGW headers are available (yksoft1).
    Option is disabled by default.
  - Configuration GUI dialog box widened to accommodate buttons
    that were previously cut off on the right.
  - Replace E_Exit() with LOG_MSG() for key codes from the mapper
    that a keyboard scan code generator does not recognize. This
    fixes E_Exit() crashes if typing certain keys on a Japanese
    keyboard with no equivalent in IBM PC/AT mode.
  - Added code to double the size of the menu and menu items if
    the window is 1280x800 or larger, for users with high
    definition laptop displays and screens.
  - Enforce minimum window size of 640x400 if the menu bar is
    visible and DOSBox-X is drawing them, to make sure the menus
    are accessible on screen.
  - Removed auto-scalar-size code when output=surface that was
    causing problems when resizing the window.
  - Do not show "screenshot" menu item if screenshot support not
    available at compile time.
  - Remove "always on top" for anything but Windows at this time.
  - Disable "Show debugger" option on Linux and Mac OS X if no
    console attached to STDIN/STDOUT/STDERR.
  - Disable "Show console" option on Linux and Mac OS X since
    the console is not under our control.
  - Windows "Always on top" fixed to remember selection and
    enforce it between SDL_SetVideoMode and fullscreen entry/exit.
  - Windows builds fixed NOT to change window Z-order on the
    screen when updating the window on SDL_SetVideoMode.
  - HX DOS builds fixed to keep window maximized at all times
    to fill the otherwise unused space on the screen since
    HXGUI only supports one window.
  - Menu framework support for any other platform (including
    Linux) added. The menus are drawn by DOSBox-X itself
    using the 8x16 VGA font. This also gives SDL 2.x builds
    a working menu. These menus are used if no other platform
    specific menus are available. These menus are NOT AVAILABLE
    at this time if output=opengl.
  - Cycle count edit dialog box fixed to immediately place
    keyboard focus in the text field, and to process
    ENTER and ESCAPE keyboard input as OK and CANCEL
    button input. You can type a new cycles count without
    having to click on the text field first.
  - Menu framework and mapper fixed so that menus always
    reflect the mapper binding in the menu.
  - Windows SDL 1.x fixed async hack to properly destroy
    and shut down the parent window again.
  - Fixed output=opengl crash on Mac OS X.
  - Menu framework support for Mac OS X NSMenu objects added.
    This gives DOSBox-X the same useful menu on Mac OS X
    instead of the useless default menu SDL 1.x offers.
  - Menu framework support for Windows win32 menu resources
    added. The Windows menu is now generated at runtime,
    the static IDR_MENU resource is no longer used.
  - New platform independent menu framework added. Menus
    that were once Windows-only are now available on
    any other platform including Linux and Mac OS X.
  - In-tree SDL 1.x library fixed to #define a special
    variable that the code now requires to compile
    SDL 1.x builds. The option to use your host SDL 2.x
    library is left open.
  - C++11 is now mandatory to compile DOSBox-X
0.82.6
  - Resizing the window in SDL 1.x Windows builds
    fixed to work correctly in the latest build
    (1803) of Windows 10. Prior to this fix, resizing
    the window on that build would quickly hit a deadlock
    that prevented the user from moving or resizing the
    window again after that point.
  - PC-98 dosbox.conf option added to select between
    accurate key/shift mapping, vs an alternate mapping
    appropriate for US keyboards (Yksoft1)
  - SDL 1.x for Linux/X11 modified to differentiate
    Ro and Yen keys despite X11 xkbmap apparently
    mapping both to the backslash. The keymap is
    queried to detect the scancodes at startup
    in order to return the correct SDLK constant.
  - SDL 1.x and DOSBox-X mapper code updated to
    correctly map Ro, Yen, @ ^ ; : keys on a JP
    keyboard in Windows and Linux.
  - PC-98 keyboard BIOS handling updated to generate
    ASCII codes according to PC-98 layout, instead
    of by US keyboard layout.
  - Mapper updated to support @ (at sign) key,
    ^ (caret) key, and a few other keys that
    exist on JP keyboards.
  - "Hold" modifier for mapper bindings fixed.
    It is now possible to tap the key again to
    release the hold.
  - VHD differencing disk support added (Shane32)
  - INT 18h AH=0Ah updated to support 20-line
    text mode. Some games use the 20-line text
    mode to space the text out vertically.
    Such games will display correctly now.
  - INT 18h now maintains text layer state
    in BIOS data area byte 0x53C, just as
    the actual BIOS does.
  - Added PC-98 INT 18h function AH=0Ah and
    AH=0Bh to support BIOS calls that enable
    "Simple Graphics" mode. This fixes
    problems with other games having vertical
    lines over the graphics, even though
    these games do not appear to use the
    simple graphics at all. (yksoft1)
  - Added support for PC-98 "Simple Graphics"
    mode of text layer attribute bit 4. When
    enabled, the attribute bit 4 changes
    meaning from vertical line to a bit
    indicating that the 8-bit character is
    a low resolution 2x4 bitmap to be
    displayed in the text layer. This fixes
    score and status display in Carat.
  - PC-98 INT 18h now implements AH=31h to
    report CRTC, text and graphics state and
    24khz/31khz video mode selection. This
    fix allows some games including Touhou
    Project to pace it's gameplay correctly
    in either video mode.
  - MinGW HX DOS builds default to host key
    F12 again
  - PC-98 mode now offers selection between
    24khz and 31khz video modes (yksoft1)
  - KEYB.COM fixed to load only the fonts the
    ROM BIOS has allocated. This fixes a guest
    system crash if using KEYB.COM with
    machine=ega
  - Moved host key to F11 for Windows. F12 is
    already taken by some internal debugging
    voodoo within Windows itself.
  - DOSBox-X codebase now strongly encourages
    compilation with C++11, will become
    required soon.
  - BOOT command fixed to make it possible to
    IMGMOUNT multiple floppies to drive 1, and
    boot from another disk in drive 0. This
    should enable the use of DOSBox-X with
    PC-98 games that expect to boot from drive
    A and the user to rotate through floppies
    in drive B.
  - IMGMOUNT fixed to support mounting with no
    filesystems and multiple disk images, and
    using the "swap floppy" command to rotate
    through them.
  - Added options to BOOT command that allows
    specifying multiple disk images and an option
    that says to swap disk images only through
    one drive.
  - VHD dynamic support added (shane32)
  - INT 10 AH=9 background color fixed in 256-color
    VGA modes.
  - Intro text updated to reflect new default
    key bindings.
  - Mapper shortcuts not in common use now exist
    without any default binding, and most existing
    default bindings are now associated with the
    "host" key.
  - Added 4th modifier "host" key to the mapper.
    This "host" key is F12 by default. The intent
    is to eventually move most mapper shortcuts
    to some combination of F12 and another key,
    rather than many shortcuts scattered over the
    keyboard. Existing dosbox mapper files should
    continue to work.
  - Renderer and 32bpp VGA display code fixed to
    reorder RGBA order for correct display on Intel
    Mac OS X systems. Mac OS X, on Intel systems,
    uses a strange BGRA 32bpp format that requires
    some adjustment on our part to display correctly.
  - Added more 24bpp INT 10h VESA BIOS modes.
  - Removed per-sector debug messages from VFD/FDD
    image support code.
0.82.5 (04/18/2018)
  - Expanded memory manager memory copy fixed to
    enable A20 gate temporarily so that the copy
    works correctly.
  - PC-98 FM board emulation now defaults to IRQ 12
    instead of IRQ 3. A lot of PC-98 games seem to
    have a strong preference for that IRQ with regard
    to FM music.
  - PC-98 reset I/O port (F0h) fixed to emulate CPU
    reset according to the SHUT0 and SHUT1 state set
    by the guest. Normally writing port F0h is a
    signal to reset but SHUT0 and SHUT1 can be set to
    indicate alternate behavior. This fixes VEMM486.EXE
    (an expanded memory manager) and allows it to run,
    since this manager appears to reset by port F0h
    then resume execution normally. Prior to this fix,
    booting a MS-DOS disk image that loads VEMM486.EXE
    at startup yielded nothing but an infinite reboot
    loop.
  - XMS and EMS emulation fixed not to leave A20 gate
    enabled unless EMS emulation is set to EMM386 and
    dosbox.conf is set to run the system in virtual
    8086 mode. There are plenty of DOS games that
    malfunction if loaded too low in memory with the
    A20 gate enabled.
  - PC-98 mouse emulation, at the 8255 level, now uses
    new C++ abstraction that seems to work fairly well
    even with the common PC-98 MOUSE.COM driver.
  - "BOOT" command in PC-98 mode updated to no longer
    require the --force switch. Booting MS-DOS from a
    hard disk or floppy disk image in PC-98 mode is
    generally functional now.
  - Added PC-98 SCSI/SASI hard disk emulation, and fixed
    BOOT to enable booting PC-98 MS-DOS from a hard drive
    (HDI image)
  - FAT driver fixed to read/write logical sectors vs
    actual drive sectors and removed geometry remapping
    hack.
  - FAT driver fixed to avoid memory corruption that
    may occur if reading a partition table from a drive
    that has more than 512 bytes/sector.
  - .BAT file parsing fixed to handle BAT files not
    in the current directory (yksoft1)
  - Fixed floppy controller emulation bug that failed
    to advance sectors during multi-sector read/write.
  - Fixed floppy emulation bug that prevented seeking.
    The "head" would get stuck at track 0 and never move.
  - Dynamic core allows running with paging enabled again,
    IF dosbox.conf says to allow it (yksoft1)
  - DOS file I/O functions AH=3Fh and AH=40h updated to
    reflect undocumented MS-DOS behavior that silently
    truncates read/written byte count if the offset
    and byte count reach beyond the end of a 64KB segment.
    This fixes some demoscene productions that read 64KB-1
    bytes but apparently rely on this behavior to avoid
    display errors.
  - FluidSynth fixes and API updates. DOSBox-X no longer
    uses a private API within FluidSynth. (heftig)
  - Added dosbox.conf option to control the size of the
    DOS "Swappable Data Area" which is said to help with
    shelling and task swapping in WordPerfect 5.x and 6.x
  - Added "minimum mcb free", and set minimum mcb segment to
    value same or similar to DOSBox SVN. The "free" option
    directs DOSBox-X to allocate memory before that segment
    value to fill memory.
  - Fixed COMMAND.COM PSP segment to correctly identify it's
    resident size in memory.
  - COMMAND.COM in the DOSBox shell now allocates itself
    normally instead of from a special segment so that it
    appears normally in the MCB allocation chain.
  - BIOS now clears it's stack before booting the DOS shell.
  - Fix Pause (CTRL+Pause or ALT+Pause) to release all keys
    in the mapper so that CTRL, ALT, or Shift are not left
    "stuck" when emulation resumes.
  - Initial host keyboard recognition, and base framework
    for general keyboard language/layout handling. Keyboard
    layout recognition added for Windows and Linux/X11.
  - Fixed 350-line INT 10h VESA modes not to apply EGA mode
    adjustments, which fixes display distortion.
  - INT 10h VESA modes 720x480 and 848x480 fixed.
  - Fixed INT 10h VESA emulation to round up bytes/scanline
    so that 4bpp planar modes display properly.
  - Fixed INT 10h VESA mode 1400x1050 16-color (4bpp planar)
    mode to resolve overlapping mode number.
  - Pulled in VGA vtotal + 2 fix from DOSBox SVN
  - Pulled in EGA display mode fixes from DOSBox SVN to fix
    EGA graphics emulation.
  - Fixed INT 10h AH=1Ch (save/restore VGA state) to handle
    VGA attribute controller properly so that the display is
    not left blank.
  - PC-98 GDC emulation fixed to handle START DISPLAY properly
    by un-blanking the display (fixes "Ellena")
  - Fixed possible format string vulnerabilities (gnustomp)
  - Added menu options to enable/disable EGC and GRCG
    emulation (yksoft1)
  - Added options to enable/disable EGC and GRCG emulation
    (to emulate older hardware).
  - Added PC-98 BIOS function to read 8x16 character bitmaps,
    which fixes "Power Dolls 2"
  - BIOS now reports 16-color and EGC graphics. Some games
    that check the BIOS for capabilities may now begin to
    use 16-color graphics and EGC functions.
  - Added PC-98 INT 18h function to read character font.
    This also resolves garbled text in TH01.
  - PC-98 GDC emulation now uses cursor specification
    (line per character row) to determine whether graphics
    are doubled vertically or not. Several PC-98 games
    switch between 200-line (doubled) and 400-line graphics
    by programming the GDC directly, rather than through
    the BIOS.
  - Added various video-related BIOS variables to the data
    in PC-98 mode.
  - GDC RESET/SYNC debug text updated to indicate which GDC
    is undergoing the RESET/SYNC.
  - Debugger "LOG" command (CPU execution logging) fixed to
    automatically stop logging when the BIOS begins the
    POST routine after system reset. The user who invoked
    "LOG" probably cares more about what happened up to the
    game crash, fault and reset rather than normal BIOS startup.
  - BIOS now properly unmasks the PC-98 cascade IRQ, which
    allows IRQ 8-15 to function, including the mouse (IRQ13)
  - Debugger interface now indicates whether 80386 paging is
    enabled or not at any time.
  - Help text updates to reflect DOSBox-X changes (Shane32)
  - BIOS INT 13h emulation updated to support up to 4 hard
    drives (Shane32)
  - IMGMOUNT and BOOT code cleanup (Shane32)
  - IMGMOUNT RAM drive support: Additional fixes and geometry
    work done, and some hangs resolved (Shane32)
  - CPU emulation fixed to allow setting a breakpoint on
    ANY interrupt of a specific number, not just software
    interrupts. It is now possible to use BPINT to break
    upon hardware (IRQ) interrupts.
  - DOS kernel fixed to drop to the debugger if the MCB
    (memory control block) chain is corrupted, so that
    the corrupted state can be examined. When the debugger
    continues execution, a full restart of the DOS kernel
    is run. If DOSBox-X was compiled without the debugger,
    then the normal E_Exit() path is still taken.
  - Added debugger command to show, and modify, the state
    of the PIC (interrupt controller).
  - Added debugger command to view or change the A20 gate.
  - Added debugger command to view the state of EMS, memory
    handles, allocation, and EMS page frame mapping.
  - Added debugger command to view the state of XMS, memory
    handles, and allocation.
  - Added debugger command to view the layout of the ROM
    BIOS region (0xF0000-0xFFFFF) chosen by emulation.
  - DOS kernel now logs kernel allocations, which can be
    seen in the debugger using the "DOS KERN" command.
  - Added "RUN" command as an alternative to hitting F5.
  - Added "RUNWATCH" to the debugger, so that watching the
    system run in the debugger is possible.
  - Debugger data window can now be used to view memory in
    segmented, virtual (through paging), and physical (bus
    address) modes.
  - Debugger window data and code view windows now indicate
    regions of memory that are beyond the end of the segment.
  - Debugger window data and code view windows now indicate
    regions of memory that are paged out (will cause a page
    fault if accessed)
  - PC-98 A20 gate I/O port F6h fixed to work properly as an
    enable or disable, rather than just an enable. The PC-98
    version of HIMEM.SYS no longer complains about not being
    able to control the A20 gate.
  - IMGMOUNT RAM drive support: Ramdrive bug fixes and changed
    drive limits from ATA limits to BIOS/MBR (Shane32)
  - INT 21h fixed to use BIOS INT 1Ch to read date and time in
    PC-98 mode. Arrowgun now runs properly.
  - Fixed EMS emulation not to claim XMS memory (and zero BIOS
    extended memory size) if EMS emulation is in EMS board mode
    (and therefore not allocating extended memory through HIMEM.SYS).
  - PC-98 INT 1Fh extended memory copy implemented. DOS games in
    PC-98 mode can now use this API to access extended memory.
  - Fixed HIMEM.SYS emulation in PC-98 mode to zero BIOS extended
    memory values when claiming extended memory.
  - PC-98 mode now sets BIOS data area values correctly regarding
    conventional and extended memory.
  - Added rudimentary emulation of non-volatile RAM at the
    trailing edge of text RAM (A3FE0-A3FFF).
  - PC-98 mode now adds additional BIOS data values at boot time
    so that guest OSes like PC-98 MS-DOS can see the floppy drive,
    see keyboard input, and determine the boot drive properly.
    It is now possible to boot MS-DOS in PC-98 mode.
  - Added rudimentary PC-98 INT 1Bh BIOS interrupt, at least for
    floppy disk emulation.
  - Cleanup and formatting enhancements to IMGMOUNT ramdisk (Shane32)
  - DOS CON emulation in PC-98 mode now emulates two additional
    ANSI escapes to clear the screen that are specific to NEC's
    MS-DOS implementation, which fixes text layer problems with
    Rusty.
  - PC-98 GDC dip switch 2-8 emulation fixed. It was backwards.
    This may break existing dosbox.conf configurations, apologies
    in advance.
  - Added -xms option to LOADFIX command. When given, the command
    consumes extended memory instead of conventional memory.
  - HIMEM.SYS emulation fixed to behave more like Microsoft's
    HIMEM.SYS implementation regarding global & local A20 gate
    control.
  - Mac OS X builds fixed to work from the user's home directory
    if run from the Finder, instead of trying to operate at the
    root of the filesystem as directed by the Finder.
  - Mac OS X builds now put the FREECG98.BMP file inside of the
    .app bundle, and fall back to it if not found in the current
    directory.
  - RPM builds now install FREECG98.BMP in /usr/share/dosbox-x
    and refer to it if not in your local directory, in order to
    better provide PC-98 emulation.
  - PC-98 BOOT command: Loading addresses and CPU register layout
    updated to match actual hardware behavior, in which the boot
    sector is loaded at just under 128KB.
  - Build updates to support compiling for Windows with MinGW.
  - BOOT now accepts a --debug switch that causes DOSBox-X to break into
    the debugger when the boot sector begins to execute.
  - BOOT now accepts a --force switch to override the PC-98 lockout,
    if the user wants to better understand why I locked it out in PC-98 mode.
  - PC-98 support now supports reading font from FONT.ROM, if available.
  - Code, data, and output now respond to arrow, page up/down and
    home/end keys as a user would normally expect.
  - Arrow and page up/down keyboard input now goes to active window
    instead of mapping directly to any specific window.
  - Debugger interface now has the concept of an "active" window, and
    the title bar of each window hilights if it is active.
  - Debugger interface now hides the "variables" window by default.
  - Fixed window "titles" in debugger interface to fill the terminal
    line they're on and use ncurses horizontal line character which
    on modern systems looks better than hyphens.
  - Removed one line padding around data window in debugger interface.
  - Debugger interface redesigned to permit more flexible layout
  - Debugger interface no longer crashes when terminal window is sized
    down too small (when there is no room for the output window)
  - EMM386 (ems) emulation fixed to always turn on the A20 gate when
    the DOS application requests to map pages into the EMS page frame.
    This fixes crashes with Creative's Sound Blaster 16 installer when
    run with the A20 gate turned off.
0.82.4 (02/28/2018)
  - Updated ramdisk formatting code to better match FAT12/FAT16
    specifications and limits (Shane32)
  - Menu items related to Gravis Ultrasound, Glide emulation, Innova SID,
    and other IBM PC-specific options are now grayed out in PC-98 mode.
  - Updated Windows menus to gray out CPU core and type options that
    are invalid. Selecting a prefetch CPU type while core dynamic is
    no longer possible, and selecting dynamic core while using a
    prefetch cpu type is no longer possible.
  - CPU type submenu in Windows updated to reflect all types supported
    by DOSBox-X including 8086 and 286 cores.
  - Fixed E_Exit() crash on Windows in PDCurses endwin() that only
    happens if you had never brought up the debugger console window.
  - Minor oddities with OPNA stereo panning resolved.
  - Sound Blaster, Adlib, and PC-98 FM emulation now reset state
    correctly when the reset signal is given to avoid stuck notes.
  - Fixed BIOS logo in PC-98 mode to properly reset the graphics mode
    so that the logo is visible.
  - Added Windows menu items to control PC-98 GDC speed, 4-partition enable,
    200-line "scanline" effect enable, and PIT timer clock control.
  - Added "Restart DOS" command to the Windows menu, with code to
    allow it only if at the initial DOS shell.
  - Added "multi-track WAV" command to the Windows menu, under Capture
  - Added "reset system" command to the Windows menu
  - "Restart" menu command updated to clarify that it restarts DOSBox-X entirely.
  - OpenGL HQ output removed.
  - Commands to force driver (DirectX or WINDIB) removed.
  - Default disk I/O limit raised to more reasonable speeds.
  - FM code borrowed from Neko Project II now compiles on Mac OS X
  - IMGMOUNT now supports mounting a RAM drive (using -t ram) (Shane32)
  - Direct3D fullscreen aspect ratio fixes, especially for
    monitors with a 5:4 aspect ratio (such as 1280x1024) (Shane32)
  - "Show menu" in Windows builds system menu is now a toggle
    to show/hide the menu bar (Shane32)
  - Fixed broken color palette with CGA composite and EGA
    machine emulation. Composite CGA and machine=ega displays
    properly again.
  - According to documentation, IBM PC and PC-98 use different
    initial PC speaker frequencies. Update the code to match.
  - 8254 I/O port alias at 3FD9h-3FDFh added, which is needed
    for several PC-98 games that program the PC speaker
    frequency through those ports instead of through 71h-77h
  - New Intel 8255 emulation. PC-98 system 8255 emulation
    now uses this emulation, along with PC speaker emulation.
  - Fixed XMS memory copy functions to enable the A20
    gate so extended memory copies work correctly whether
    or not the DOS application in question made the call
    with A20 enabled. This fixes crashes and memory
    corruption while installing Windows 3.1 using SETUP.EXE.
  - "CLS" now sends the proper ANSI escapes to clear the
    console in PC-98 mode.
  - BIOS logo in PC-98 fixed to clear graphics RAM and
    set graphics back to 8-color digital mode when booting
    to DOS. This should fix palette errors and color issues
    with older PC-98/PC-88 games that use the 8-color
    graphics modes.
  - Added PC-98 INT 1Ch timer interval BIOS function,
    and timer countdown routine in IRQ 0.
  - Windows builds now incorporate pdcurses and enable
    the debugger interface (bulletshot60)
  - DOSBox-X now tracks the systemwide keyboard layout
    on Windows, and acts on user changes to the keyboard
    and language in the system.
  - Removed hack code in SDL 1.x that sets DOSBox-X's
    keyboard layout to the US layout even if the host
    uses anything else.
  - Fix CPU cycles count increment not to nag you to use
    core=dynamic if a) dynamic core is not available or
    b) you're already using dynamic core.
  - Added dynamic core back, it seems to be very stable
    again.
  - PC-98 FM board now allows changing the base I/O port
    and IRQ (interrupt) line used by the card.
  - PC-98 mode now supports joystick emulation. Joystick
    input is mapped through the DOSBox mapper to the
    PC-98 FM board where DOS games expect to see it.
  - Added dosbox.conf option to select which PC-98 FM
    board to emulate.
  - Fixed PC-98 FM code to enable the ADPCM and Rhythm
    FM channels.
  - Re-ported Neko Project II FM board emulation, this
    time keeping the code intact and keeping the separate
    board emulations intact for PC-98 mode.
  - VGA palette errors with Crystal Dream II fixed.
  - PC-98 FM synthesis fixed not to initialize itself
    again when rebooting, which fixes a problem with
    garbled FM synthesis after rebooting.
  - Removed some now-unnecessary SDL Video quit/init
    calls from Windows builds.
  - machine=pc98 now starts entire emulation in PC-98
    mode instead of booting up in IBM PC mode and
    switching to PC-98 mode.
  - Initial "BIOS" startup screen now operates in
    PC-98 mode when machine=pc98.
  - Prefetch core debug code now disabled at compile
    time. Seems to be stable so far.
  - Prefetch core now emulates partial load of the
    prefetch buffer on miss, and completing the buffer
    fill on hit, to better emulate (probable) 80486
    behavior.
  - 486_prefetch is now a valid cputype setting, despite
    the setting having existed for years in the source
    code. Prior to this fix, 486_prefetch was ignored.
0.82.3 (02/13/2018)
  - Removed DOSBox SVN-style "fast" A20 gate emulation.
    Recent changes make it infeasible to keep. "fast" is
    now mapped to "mask" mode.
  - RAM aliasing is now always on, even if memalias is not
    set, in order to help enforce A20 gate behavior, and
    to fix emulator crashes when a non-aliased RAM page
    is referenced through an alias.
  - Cleanup and rewrite of prefetch core, to make the code
    cleaner and more readable and maintainable.
  - DOS file I/O updated to apply a proper delay rather
    than the old DOSBox SVN code's cycle count dependent
    method. The delay by default will slow disk I/O down
    to mid 1990's IDE PIO speeds, which can resolve issues
    with MS-DOS demoscene or game executables that can
    malfunction when disk I/O is too fast.
  - PIC code updated to enforce a proper IRQ delay on ALL
    IRQ signals, which fixes issues with MS-DOS executables
    that have race conditions between their code and their
    interrupt handlers.
  - DOS Shell now shows the full intro text only at first
    run, instead of every shell invocation.
  - Use FCB record size of 128 bytes if the FCB record size
    is zero (from DOSBox SVN).
  - PC speaker fix not to generate a continuous tone if
    the PIT timer was set to mode 0. This fixes issues with
    many early 1990s demoscene executables leaving the PC
    speaker enabled (BEEEEEEP).
  - Register DEBUGBOX.COM at DOS environment start instead
    of boot, which allows the command to work again.
  - EXE loader sets stack pointer (SS:SP) into PSP segment
    (from DOSBox SVN)
  - EXE loader fixed to use the larger of the minimum and
    maximum memory sizes listed in the EXE header, which
    fixes some demoscene executables with a minimum size
    larger than maximum.
  - VGA DAC (palette) emulation updated to better match
    actual SVGA chipset (Paradise SVGA) behavior, which
    fixes some VGA palette errors in some demoscene
    productions.
  - Added -nocachedir option to internal MOUNT command, to
    disable directory caching for a local folder mounted
    to a drive letter. When mounted this way, changes on
    the host filesystem are immediately visible in the
    guest DOS environment.
  - Added -ro and -rw options to internal MOUNT command, to
    allow mounting local folders to a drive letter as a
    read-only volume.
  - MIDI Fluidsynth fixed to initialize and free state properly
    so that switching to and from Fluidsynth doesn't cause
    a segfault or crash.
  - MPU-401 fixed to allow changes to MIDI configuration from
    CONFIG.COM.
  - DOS filename handling fixed to maintain ASCII conversion
    to uppercase, while not converting Shift-JIS double-byte
    characters in PC-98 mode. This fixes Shift-JIS filename
    corruption when the trailing byte can be mistaken for
    lowercase ASCII a to z.
  - Windows fixes to keep menu bar items updated with
    DOSBox-X state.
  - Remove WM_DROPFILES handling, for now. The code remains
    to allow re-enabling later.
  - SDL 1.x builds fixed to process only WM_COMMAND (menu
    bar) and WM_SYSCOMMAND (system menu) events so that
    the general chatter in modern Windows system does not
    drown out the messages. This fixes issues where the
    menu bar doesn't work on some systems.
  - SDL 1.x builds fixed to handle menu bar input using
    SDL's WM events instead of fighting with SDL's message
    pump to receive menu events. This fixes potential
    issues with losing menu bar events.
  - dosbox.conf reference included with Windows builds
    now uses MS-DOS line endings so that the file can be
    edited in NOTEPAD.EXE
  - New dosbox.conf option to control whether the menu is
    shown by default in Windows builds.
  - titlebar= SDL dosbox.conf option, to allow showing a more
    user friendly name for the program instead of just using
    the EXE name.
  - E_Exit() on Windows now displays the message using
    MessageBox() in addition to sending to STDERR, so that
    Windows users see the error even if they are running
    it from the desktop instead of the command line.
  - PC-98 EGC bit shifter emulation fixed to correctly support
    ascending and descending bit shifting in either direction.
    This fixes screen shake emulation errors with Touhou Project
    TH04 and TH05.
  - Linux/X11 fixes to SDL 1.x to better match and compare
    Visuals (descriptions of the screen) since X11 libraries
    don't seem to use the same pointer values for the same
    Visuals.
  - ALT+TAB or loss of focus from fullscreen in Windows now
    restores the window instead of minimizing it.
  - 3Dfx OpenGL will hide the minimize and maximize buttons
    in Windows while active.
  - Windows menu bar items are now grayed out when 3Dfx OpenGL
    emulation is active (items that cannot be used at that time).
  - Fix Windows system menu to always keep "show menu".
  - GFX rendering fixed not to render any output while 3Dfx
    OpenGL emulation is active.
  - 3Dfx OpenGL bug fixes to properly restore the DOS console
    when the 3Dfx card is de-initialized and the game returns
    to the DOS prompt.
  - Linux/X11 window output fixed to keep the window on the
    screen even when switching between OpenGL and non-OpenGL,
    and when setting the SDL video mode.
  - Remove some init hacks and SDL forced reinitialized hacks,
    so that the window is stable on the screen.
  - Added code to do more OpenGL state initialization (both
    output=opengl and when initializing 3Dfx OpenGL emulation)
    to make more consistent output.
  - 3Dfx voodoo OpenGL based emulation fixed to switch out of
    fullscreen mode IF DOSBox-X was fullscreen at the time the
    card is initialized.
  - 3Dfx voodoo OpenGL based emulation no longer allows fullscreen
    mode, and does everything it can to prevent window resizing.
  - Linux/X11 disable XRandR, XV, and X modeset functions. Do not
    change monitor resolution.
  - MPU-401 MIDI emulation fixed to look at all conductor message
    bytes for code 0xFC (ALL END) instead of just the first byte.
    This fixes hangs in games that send additional bytes prior to
    0xFC and then expect the MPU-401 to signal 0xFC back when the
    games are waiting for music to stop.
  - Fix DOS CON driver not to signal data ready for PC-98 scan
    codes that have no corresponding ANSI code. Tapping numeric
    keypad keys during the title screen in Touhou Project should
    no longer cause the game to pause waiting for keyboard input
    when going into demo mode.
  - Fix DOS CON driver to signal data ready for buffered escape
    code.
  - Fix PC-98 keyboard emulation not to apply IBM PC "extended"
    keyboard scancode filtering.
  - Window maximization does not count as a user resize preference.
  - Fix Windows builds to enable DirectSerial, Direct LPT, modem,
    emulation.
  - New mapper shortcut to restore the window's original size.
  - Fix bug with SHL instruction and OF flag, which corrects some
    games and their decompression routines.
  - Fullscreen (monitor) modesetting removed. DOSBox-X either runs
    in a window, or scales up to fill the monitor, but will not change
    the monitor resolution.
  - Resize handling fixed to differentiate user resize verses resize
    caused by DOSBox-X changing the window dimensions.
  - Linux/X11 fixes to avoid flickering when resizing the window, and
    to avoid redrawing unless necessary.
  - Window resize management, to scale/arrange the output to fit the
    window (for output= surface, opengl, direct3d)
  - Enable resizing again, except when the GUI or mapper is active.
  - Fix Linux/X11 to always take resize events, instead of ignoring
    all further resize events just because one resize event is forever
    "pending"
  - Linux/X11 builds now track the size of the window on the desktop,
    to keep track of resizing and maximizing.
0.82.2 (01/29/2018)
  - Linux builds no longer enable window resizing. The ability to
    resize will be added back when the emulator can better handle
    the user resizing the window.
  - Windows and Linux now have synchronized build date and version
    strings.
  - Codebase begin transition to C++11
  - The Windows maximize button no longer triggers fullscreen mode.
  - Direct3D, OpenGL, and Surface outputs updated to fill the window
    in Windows builds when the window is maximized. If aspect
    correction is enabled, the Direct3D and OpenGL outputs will
    scale the DOS screen (with pillarbox/letterbox padding) to the
    correct aspect ratio and center within the maximized window.
  - Fixed minor memory leak in MT32 (MUNT) synthesizer usage.
  - Fixed uninitialized state issues with DMA channel 4 (cascade).
  - IMGMOUNT now allows mounting the El Torito bootable floppy image
    of a CD-ROM drive as a drive letter and accessible (read only)
    filesystem. The FAT filesystem driver was fixed to support working
    from sources other than a direct file.
  - PC-98 mode fixed not to register certain built-in commands and
    binaries to drive Z:\ that are not compatible with PC-98 mode.
    MEM.EXE in particular uses IBM PC-specific techniques to gather
    it's information, and is therefore incompatible with PC-98 mode.
    This can be verified from the source code as MEM.EXE was evidently
    borrowed from the FreeDOS project.
  - EGA emulation (machine=ega) fixed to render 8bpp (256-color mode)
    instead of full 32bpp VGA output. EGA video output is limited to
    64-color (6-bit) by the design of the video connector (2-bit R/G/B)
    therefore the full precision of 32bpp is not needed. This will also
    benefit video capture as the reduced color bit depth will result
    in smaller AVI files when recording gameplay.
  - Added code to correctly detect 15-bit highcolor vs 16-bit highcolor
    display format support, despite SDL falsely indicating 16-bit
    color in both cases, which fixes incorrect colors on 15-bit display
    modes.
  - Fix up VGA DAC/palette mapping to display the emulator screen
    properly on 16-bit true color displays. Fixed off-by-one shift
    mistake in the DOSBox-X render scaler code that caused
    green and purple tints to colors on 16-bit true color displays.
  - Add "Show menu bar" command to the Windows "system menu" so that
    the menu bar can be brought back after selecting "hide menu bar".
  - Losing window focus while fullscreen no longer leaves the emulator
    window blank.
  - Maximize/restore fullscreen cleanup.
  - Removed DDRAW output.
  - Fix FAT filesystem driver to clear "success" flag at all failure
    return points. This fixes problems where unrecognizable FAT
    filesystems are nonetheless presented as a drive letter with
    garbled filenames, when IMGMOUNT should have displayed an error
    instead.
  - Fix FAT filesystem driver to allow PC-98 HDI images to load that
    have headcount == 0 in the BPB.
  - Fix Adlib emulation not to register a mapper handler if emulation
    will jump to PC-98 mode, and fix mapper handler to check if Adlib
    emulation is loaded to avoid segfault.
  - Add "recording" volume to control the loudness of the audio going
    out to capture (WAV, AVI, etc.)
  - Separate mixer rendering from master volume. Apply master volume
    at the sound card only, leave audio at full volume for recording
    (WAV, AVI, etc. capture).
  - dosbox.conf and command line option to log CON driver output to
    a file. Anything written to STDOUT/CON by a DOS application is
    logged this way.
  - --time-limit <n> command line option to put a time limit on the
    emulator, in seconds.
  - Keyboard shortcut for the mapper UI no longer leaves keys "stuck"
    in the guest to cause problems when you exit the mapper UI.
  - Fixed code mistake that caused OpenGL NB output when dosbox.conf
    specified output=opengl
  - Mapper layout fixes:
    - Shortcut buttons (on the right hand side of the UI) fixed to
      become two columns wide if the button text won't fit in one
      column.
    - Some shortcut button titles shortened.
  - Mapper UI updated to show which bindings are being activated by
    hilighting buttons in the UI.
  - Mapper UI modifier buttons indicate status through hilighting.
  - Mapper UI joystick buttons and axes now use hilighting to indicate
    that there is input from the device.
  - Mapper fix for 4-axis joysticks that may count zero buttons, and
    then crash (divide by zero) when the user pushes a button on the
    joystick device.
  - BIOS emulation now allows you to specify binary blobs to execute
    in the guest system as part of startup. One can be specified to
    execute just after CPU reset/power-on, and the other just before
    booting to the DOS shell. THE BINARY BLOBS EXECUTE IN THE GUEST
    ENVIRONMENT AND NOT AS ARBITRARY CODE ON YOUR HOST. This option
    is provided for both automated testing and for the curious who
    may want to venture into low level ASM hacking.
  - INTRO.COM fixed to accept keyboard input correctly in both
    PC-98 and IBM PC mode. You can now browse the help text properly
    in either mode.
  - DOS shell fixed to accept DOSKEY-like input in both IBM PC and
    PC-98 mode (including arrow keys, F3, tab completion, etc.)
  - DOS CON emulation now provides function keys (F1-F10) in PC-98 mode.
  - DOS CON emulation fixed to process PC-98 BIOS codes and generate
    PC-98 ANSI escapes as real hardware normally does.
  - Mapper no longer shows two sets of the shortcuts (one overlaid
    over the keyboard), registration bug fixed.
  - PC-98 keyboard interrupt handler now handles CTRL key and
    passes most keys as-is down through INT 18h now.
  - Removed non-recursive page fault option. It is now always on,
    except for internal cases where it needs to be off for callback
    instructions to do their work properly.
  - Removed dynamic x86 core. It is old and unmaintained code that
    is incompatible with the non-recursive page fault system.
  - IRQ cascade interrupt fixes and cleanup.
  - BAT files given on the command line fixed to occur AFTER the
    registration of ULTRASND and BLASTER environment variables.
  - PC-98: DOS CON emulation fixed to decode Shift-JIS itself,
    with consideration that some proprietary double-byte encodings
    yield single-wide characters. DOS program using NEC's proprietary
    box/line drawing characters this way should display properly now.
  - DOSBox shell "greeting" now displays a proper box in PC-98 mode
    instead of framing the text in rows and columns of Katakana. (basic2004)

0.82.1 (12/25/2017)
  - Windows builds no longer redirect stdout and stderr to
    stdout.txt and stderr.txt. This also fixes problems
    with crashing or hanging when run from Program Files.
  - Windows releases compiled by TheGreatCodeholio again.
  - SDL 1.x and SDL 2.x support in the same branch, selectable
    by configuration option or VS2017 build target.
  - SC400 emulation fixes
  - Mac OS X pixel format fix to avoid corrupt graphics (Martin Lindhe)
  - MT32 emulation now explains what ROM images it's looking for,
    instead of just stating that it can't find the ROM images.
  - Direct3D shaders from Daum (alex)
  - NukeOPL OPL emulation
  - Basic (experimental) NEC PC-98 emulation (machine=pc98)
    - CG (character generator) emulation will need ANEX86.BMP
      or FREECG98.BMP
  - Some uninitialized state fixes
  - FDI, FDD floppy disk support (especially PC-98 games)
  - HDI hard disk support (especially PC-98 games)
  - DOS FAT filesystem driver: added many sanity, size,
    sector size and overrun checks.
  - Floppy and hard disk image support now supports sector
    sizes other than 512 bytes per sector (up to 1024).
  - DOS FAT filesystem driver can now handle FAT filesystems
    formatted with 256, 512, or 1024 bytes per sector.
  - INT 29h route output to CON driver in PC-98 mode so
    games can clear the screen with ANSI codes (Touhou Project).
  - NEC PC-98 support for proprietary ANSI codes to clear
    screen and show/hide function key row.
  - NEC PC-98 FM emulation (borrowed/ported from Project Neko II).
  - MPU-401 now emulates relative tempo change commands.
  - When mounting folders as a drive letter, filenames are
    now translated between guest and host according to the
    MS-DOS code page. This allows DOS games to use extended
    characters in a way that does not cause invalid filenames
    on the host. The host is always assumed to support unicode.
    Windows builds will use wide char (UTF-16) host names and
    Linux/Mac OS X builds will use UTF-8.
  - Code page translation for 437 (US MS-DOS) and 932 (PC-98 Shift-JIS).
  - Emulate DOS console function key row in PC-98 mode.
  - PC-98 EGC graphics emulation (minimal)
  - PC-98 CG support for custom fonts (RAM portion)
  - PC-98 EGC minimal ROP emulation
  - PC-98 select between 2.5MHZ and 5MHz GDC (for games that demand one or the other)
  - Aspect ratio menu item in Windows works correctly now
  - Capture menu works correctly now
  - Removed "overlay" output
  - Fix Direct3D and OpenGL output to enable linear interpolation (smoothing)
  - Fixed "double aspect ratio" issue with OpenGL output
  - Linux builds compiled against SDL 1.x and running against PulseAudio
    no longer hang/crash after some random amount of time (threading conflict)
  - PC-98 minimal mouse emulation
  - VGA doublescan=false fixed to display correctly, especially with scalers
  - SDL 1.x Windows builds fixed to process mouse motion FIRST before
    mouse buttons so that guest pointer integration with Windows 3.1
    works properly.
  - SDL 1.x Windows builds now enforce a 60Hz cap on mouse motion
    detection because recent versions of Windows have some latency
    when SDL repositions the mouse cursor. This fixes random
    erratic jumps in mouse motion when playing games that respond
    to mouse movement.
  - SDL 2.x fix touchscreen interaction on Windows
  - SDL 2.x mapper now responds to touchscreen as well as mouse.
  - DOSBox Integration device no longer enables it's ISA PnP device
    by default.
  - SDL 2.x fix Windows 3.1 "double-click" accidents by ignoring
    "mouse" events faked by Windows from the touchscreen.
  - "Paper white" HGC/CGA monochrome palette (basic2004)
  - CMS (GameBlaster) frequency correction (basic2004)
  - SID frequency correction (basic2004)
  - Maximize button in Windows now consistently triggers fullscreen mode
  - SDL 2.x builds now use a different mapper file name to
    avoid conflicts with SDL 1.x builds. SDL scan codes are
    completely different between the two.
  - Windows builds now include WinPCAP support and NE2000 emulation.
  - MOUNT / IMGMOUNT convert backslash to forward slash in path on Linux to
    allow dosbox.conf files from Windows to work on Linux.
  - DOSBox-X officially no longer targets Windows XP.
    Unofficially third party builds may support Windows XP.
  - MPU-401 emulation now allows you to choose the IRQ, if desired.
  - Windows builds now include reference dosbox.conf so that you
    have a list of all options.
  - IMGMOUNT and FAT filesystem support now check partition type
    field to ensure that the partition chosen is a FAT filesystem.
  - IMGMOUNT no longer requires -size parameter if mounting
    a HDI disk image.
  - IMGMOUNT and FAT filesystem driver updated to support both
    IBM PC MBR (master boot record) and PC-98 IPL1 partition
    tables.
  - Fixed UMB memory selection not to overlap the EMS page frame.
  - EMS updated to sit at E000h in IBM PC mode and D000h in PC-98 mode.
  - Mapper interface now shows additional buttons for handlers
    registered after initial emulator setup phase.
  - Mapper fixed to load/save or apply default keybindings for
    handlers registered after initial emulator setup phase.
  - Mapper fixes now reveal "capture OPL", "hercules palette"
    options as well. The fixes also allow the default key
    bindings for those functions to work.
  - "CTTY NUL" no longer causes DOSBox-X to hang.
  - MOUNT now supports use of -q to suppress message when
    successfully unmounting a drive.

9/21/2017

Pentium Pro instruction set implementation
https://github.com/joncampbell123/dosbox-x/pull/305

MMX instruction set recompiler for core=dynamic
https://github.com/joncampbell123/dosbox-x/pull/290

0.74
  - Several small game specific fixes/hacks/support. (Offensive,
    Roadhog, GTA installer, Kingdom O' Magic soundcard detection, 
    Pirate booter, Armored Fist installer)
  - Add the S3-specific 640x480 256 color mode. (fixes regression in "Wooden 
    Ships and Iron Men" and "I Have No Mouth  And I Must Scream")
  - Fix a stack overflow that could crash DOSBox.
  - Add fake microphone input. (fixes Talking Parrot)
  - Modify adlib turn off code, so that it doesn't turn off in 
    cases where the same sound is repeated over and over again.
  - Several small fixes to the CDROM audio code. (HOMM2, Redneck 
    Rampage and others)
  - Several improvements to the CDROM emulation code. (fixes Alpha
    Storm and  GT Racing 97)
  - Some small CPU fixes that might fix something.
  - Handle opcode 0xff subcode 7 as invalid instruction. (fixes dif-2 & others)
  - Some hercules fixes. (Testdrive)
  - Improve support for blanked parts that wrap around to the start of
    the screen. (fixes Magic Circle demo and Sid&Al)
  - Remove old OPL cores as the new ones seem to work very nicely.
  - Modify movie recording code so that the movies aren't corrupt when
    you exit dosbox without stopping the movie.
  - Change RGB3x scaler to look more pretty.
  - Improve initial register values compatibility of the GUS.
  - Added autodetection for Gameblaster. (games can find it now)
  - Change render preferences a bit to be more compatible with Windows 7.
  - Add DOS fixes to terminate program. (fixes Fortune Teller) 
  - Add FFREEP. (fixes Trucks)
  - Improve FPU ST80 in C mode when writing zero. (fixes Antigok)
  - Add special int10 scanline function. (fixes mz700 and probably lots
    of games that mess with them)
  - Fix scrolling in rarely used video modes. (fixes Orphee)
  - Modify game specific hacks a bit so that Kick off 3 works again.
  - Lots of fixes to the INT10 video parameter table. (Seven spirits 
    of ra and others)
  - Add VGA blanking in machine=vgaonly. (used by Alien Carnage)
  - CGA, PCJr, Tandy: Add video blanking, change display start latch 
    timing, sync pulse width correction.
  - PCJr, Tandy: implement vertical retrace interrupt.
  - PCJr, CGA: line-by-line video emulation.
  - PCJr: support on-screen change of color modes 4medium to 16low. (used
    by Ghostbusters booter)
  - Hercules: Add green and amber monochrome support.
  - All machines: only update the video timing when needed. (Jungle Hunt,
    others that synchronize to the video screen might profit)
  - Several small DOS fixes.
  - Some UMB related fixes. (The Legacy without UMB)
  - Fix version number of DSP for SB 1.5. (fixes a few games)
  - Several VGA emulation improvements. (Allertone football manager)
  - Some Tandy fixes. (Mech Warrior)
  - Small improvements and fixes to the OPL emulation.
  - Add low level Tandy DAC emulation.
  - Some EMS fixes. (fixes Mortal Kombat and others)
  - Change SoundBlaster DSP reset mechanism, add sb irq acknowledge logic.
    (fixes stmik-based applications)
  - Some interrupt pointer location modifications. (fixes Tinker Tales)
  - Some fixes to the BOOT code. (fixes Last Mission)
  - Respect write-only file information. (fixes Champions of Zulala)
  - Some RTC fix. (fixes Tully Bodine and others)
  - Improve mouse emulation to work better with Water World.
  - Hopefully fix the translation of the configuration file.
  - Speed up and fixes for the recompiler core. (pitfall2 pcjr)
  - Change memory start location. (fixes 7th Guest installer)
  - Several fixes to the batch file handling. (Shift and 
    use the typed first %0 instead of the parsed %0)
  - Improve file redirection and redirected line ends. (fixes 
    Phantasmagoria 2 DOS installer)
  - Fix compilation with new MAC os X version.
  - Add 16C550A FIFO support to the serial port emulation.
  - Improve modem emulation to get higher speeds.
  - Change default samplerates to 44100, blocksize to 1024 and prebuffer to 20,
    so that hopefully certain soundcards produce more fluent sound playback.
  - Add some rarely used, but for some games critical flags to 
    the internal commands.
  - Add -userconf flag, so that the userspecific configuration can
    easily be used together with -conf configfile.
  - Improve internal timing with repeating timers (especially with 
    the dynamic core).

0.73
  - Add two new opl2+opl3 emulators. (better speed, different implementation
    approach)
  - Improved DRO recording/better file structure.
  - Add EGA emulation.
  - Add special vga machine mode. Supports more of the exotic tricks like
    changing the palette during screen updates, 9x16 fonts etc.
  - Added special machine modes for the following svga cards:
     - S3
     - Paradise
     - Tseng
  - Fix problems with the vga split line feature.
  - Improve vesa emulation.
  - Add optional selection of old vesa mode for games that don't work
    with certain vesa features.
  - Improve video BIOS emulation to behave more like a real bios.
  - Fixes for emulated 4bpp graphics modes.
  - Fixes to paging system.
  - Various fixes and improvements for the recompiling core.
  - Add arm backend for the recompiling core.
  - Add some mscdex quirks when dealing with files that are exactly 8.3 long.
  - Small fixes to batch file handling.
  - Small fixes to the XMS memory handling.
  - Various fixes for aligned memory on hosts that want it.
  - Various improvements to the mouse.
  - Fixes and small speed ups to the debugger.
  - Fix and improve lot's of compilation problems. (curses detection,
    GCC 3.4 and GCC 4.X fixes)
  - Added some basic auto keyboard layout handling. (windows only currently)
  - Add basic support for evdev keyboard driver.
  - Various fixes to the timer. (improve mode 2 timer changes,
    implement mode 1, improve gate2 handling)
  - Add audio extraction and mci audio support. Should enable CDROM audio
    for Vista and adds volume control.
  - Improve the directory cache speed a lot, especially with mounting slow
    media like network paths.
  - Various fixes to the create temporary file call.
  - Don't keep batchfiles open during execution. Allows rewriting of the
    active batchfile. (menu programs use this trick sometimes)
  - Fix problems with filenames with 2 extensions.
  - Add some more lowlevel dos tables.
  - Fixes to hercules emulation.
  - Fix flag handling for special case of ROR.
  - Make the batchfile handling in regard to IF more flexible.
  - Fixes to scrolling/panning feature.
  - Add prefetch queue emulation.
  - Make the emulated cpu type selectable. This is mainly the
    identification commands and the way paging works.
  - Some special EMS functionality added. (OS handles, zero-page handling)
  - Improve support for EMS when booting a different OS.
  - Improve cdrom speed detection by games.
  - Improve stability of cycle guessing code, when there is background
    activity.
  - Fix various mscdex and cdrom detection schemes.
  - Added Coremidi support on Mac OS X.
  - Improve support for DOS devices when used to detect the existence
    of directories in various ways.
  - Add IRQ 2 emulation on VRET. (ega only)
  - Added video parameter table and video state functionality.
  - Increase default freespace to 250 MB.
  - Some fixes to the fat filesystem handling for disk images.
  - Some soundblaster fixes and command additions.
  - Fix mixer 16bit direct transfers on bigendian hosts.
  
0.72
  - Fixed uninitialized variable in joystick. (Fixes crashes on Vista and
    Mac OS X)
  - Some bugfixes and speedups to the 64 bit recompiling core.
  - Fixed sign flag on soundblaster dma transfers (Space Quest 6 intro)
  - Fixed a bug in keyboard layout processing code and fixed certain
    layouts.
  - Fixed Dreamweb.
  - Improved speed unlocking when running cycles=max.
  - Fixed a crash related to the tab completion in the shell.
  - Improved aspect correction code. Should now be like how a real monitor
    handles it.
  - Fixed a bug in the xms status report code. (Blake Stone 1.0 shareware)
  - Added a lot more keyboard layouts.
  - Fix crash related to changing the scaler before a screen was created.
  - Hopefully fixed compilation on *bsd.
  - Enabled auto cpu core selection for recompiling core as well.
  - Made the used joystick selectable when 4axis is specified.
  - Added some hints for inexperienced DOS users to the shell.

0.71
  - Add a new recompiling cpu core, which should be easier to port.
  - Add 64 bit version of the recompiling core.
  - Add mipsel 32 bit version of the recompiling core.
  - Fix a few small problems with FCBs. (fixes Jewels of darkness and
    cyrus chess)
  - Raise some more exceptions. (fixes vbdos)
  - Fix a few problems with the dynamic core. (fixes Inner Words,
    Archmimedean Dynasty and others)
  - Improve/Fix fallback code for certain graphics cards.
  - Fix a few cd audio related bugs.
  - Add an undocumented MSCDEX feature. (Fixes Ultimate Domain)
  - Fix some pcspeaker mode. (fixes Test Drive and similar games)
  - Improve dos keyinput handling. (fixes Wing Commander 3 exit dialog)
  - Remove Exit condition on fully nested mode. (fixes some demo)
  - Add image file size detection.
  - Add/Fix some ansi codes. (fixes PC Larn and certain versions of
    infocom games)
  - Several general DOS fixes. (fixes nba95, hexit and various other games)
  - Add some valid input checks. (fixes 3d body adventure and similar
    games)
  - Fix digital joystick centering problem.
  - Reenable textmode 54 and 55.
  - Fix a pelmask problem with univbe 5.0 lite. (fixes Panzer General)
  - Fix minor mixer underflow.
  - Some general image and bios disk emulation fixes.
  - Hopefully fix compilation on BSD and darwin.
  - Try using ioctl cdrom access by default if possible.
  - Fix some svga detection routine. (fixes Grandest Fleet 2 and Bobby Fischer
    Teaches Chess)
  - You can now close DOSBox using the status window in win32.
  - Add support for NX enabled systems.
  - Fix a casting error which only showed with certain compilers. (fixes
    various games under mac os x and 64 bit linux)
  - Improve timer and add gate 2 support. (fixes various games and
    joystick problems)
  - Improve mouse. Add undocumented backdoor. (fixes Last half of Darkness, 
    PC-BLOX and others)
  - Add/improve support for ~ and ~username in all commands.
  - Fix a font problem with the pcjr/tandy. (fixes personal deskmate 2)
  - Change dma routine a bit. (fixes ticks in sound in various games)
  - Allow read-only diskimages to be booted. (fixes various booter
    games)
  - Add basic hidden file support on cdrom images. (fixes Player
    Manager 2)
  - Add some rarely used functionality to the int10 mode setup. (fixes
    WW2 Battles of the South pacific)
  - Add ability to force scaler usage.
  - Speed up flag generation and make it more 386-like.
  - Some colourful feedback in the mapper.
  - General code cleanup.

0.70
  - Improve register handling and support with XMS.
  - Fix some issues with deleting open files.(windows only issue)
  - Add dummy LPT1 class. (windows only issue)
  - Improve some of the internal dos commands. (choice, copy and shift)
  - Improve ROM area. (for games that use it for random numbers or 
    overwrite it as some sort of detection thing)
  - Improve compatibility of dynamic core by making it handle certain
    pagefaults earlier.
  - Move internal dos tables around so we have more umb memory.
  - Add some dos tables.
  - Dynamic core supports io exceptions.
  - Move some interrupt handlers to XT Bios locations.
  - Add a dynamic fpu on x86.
  - Improve fpu on non-x86.
  - Trapflag gets strict priority over hardware IRQs.
  - Trapflag support for the dynamic core.
  - Add dummy TRx handling.
  - Fix a few rarely used character functions.
  - Improve auto cycle guessing code.
  - Improve and extend the joystick support.
  - Add autofire support.
  - Improve the mapper so you can map keys to the joystick and vice versa.
  - A few game specific video card fixes.
  - Fix some 64 bit cpu bugs.
  - Add support for certain cdrom detection schemes.
  - Improve HSG/Red Book support.
  - Improve MSCDEX.
  - Improve dynamic core support under intel macs.
  - Add basic support for clipper programs.
  - Add support for different keyboard layouts.
  - Add auto core guessing.
  - Fix a few flags bugs.
  - Fix a few small cpu bugs.
  - Improve soundblaster detection rate by various programs.
  - Improve EMS emulation. (allow mapping of non standard regions)
  - Improve keyboard input codes on various OS-es.
  - Fix problems with filenames having stackdata in them.
  - Changed a few basic operations in DOSBox so they take emulated time.
  - Improve dos ioctl functions.
  - Extend cpu core so they are capable of detecting and raising a few
    more exception types.
  - Improve DOS functions when dealing with virtual drive.
  - Improve FAT drives.
  - Better handling of volume-labels in file functions.
  - Image disk cycling capability. (prompt)
  - Try to reduce the impact of using an analog joystick.
  - Several measures to avoid code invalidation on certain types
    of self modification in the dynamic core.
  - Add dynamic core memory function inlining.
  - A few small mouse improvements. (some games are using things they
    shouldn't)
  - Add nullmodem emulation.(h-a-l-9000)
  - Some small cga and hercules fixes.
  - Add more scalers (hq2x/hq3x/sai). (Kronuz)
  - Change configuration file loading support. It now supports
    multiple configuration files.
  - Make dynamic core capable of running some win32s programs.
  - Fix and add some rare soundblaster modes. (Srecko)
  - Better soundblaster mixer controls. (Srecko)
  - Make soundblaster installation under windows much easier.
  - Add device control channel handling. 
  - GEMMIS support (ems under windows).
  - Support more colours in win 3. (vasyl)
  - Don't show unmounted drives in windows filemanager.
  - Fix some bugs in the int13 handler.
  - Simulate some side-effects of bios interrupt handlers on flags.
  - Add IPX functions needed by netbios.
  - Make ports take emulated time.
  - Tabcompletion is now aware of the CD command.
  - Add support for the dac pel mask.
  - Fixes to hercules emulation, better detection and bank switching.
  - Fixes to tandy emulation, 640x200x16 mode and different sizes bank.  
  - EGA/VGA memory changes detection for faster rendering.
  - Gus 16 bit fixes.
  - Many timer improvements. 
  - Some pcjr fixes.
  - Some booter fixes.
  - Many small fixes.

0.65
  - Fixed FAT writing.
  - Added some more missing DOS functions.
  - Improved PIC so that it actually honours irq 2/9.
  - Improved intelligent MPU-401 mode so that more games work with it.
  - Some mouse fixes.
  - Changed DMA transfers a bit so they bypass the paging tables.
  - Added S3 XGA functionality.
  - Improved paging so that read and write faults are handled differently.
  - Rewrote exception handling a bit (no exception 0x0B with dos4gw anymore).
  - Added IO exceptions in all but the dynamic core.
  - Some ems improvements.
  - Added midi-device selection code for the windows hosts.
  - Fix crashes/segfaults related to the disabling of the pcspeaker.
  - Added some more FILES=XX detection tricks.
  - Fixed some vga detection schemes.
  - Fixed screenshot corruption when using -noconsole in a read-only directory.
  - Fix wrong scaled screenshots.
  - Added some hidden file functions when using diskimages. (helps with cdrom 
    detection schemes)
  - Fixed a bug in the mixer code, that muted the music in certain games.
  - Added an assembly fpu core.
  - Made the shell more flexible for batch files.
  - Check for unaligned memory access fixes hangups on ARM processors.
  - Some 64 bit fixes.
  - Added code to change configuration at runtime.
  - Improved ADPCM emulation.
  - Fixed a few cpu instructions.
  - Always report vesa 2.0 and fix some colour issues with vesa games.
  - Fix video mode 0x06 and 0x0a.
  - Improvements to the joystick emulation. 4 buttons are supported as well.
  - Add VCPI emulation for Origin games.
  - Fixed a lot of things in the boot code. Most booters work now.
  - Lots of improvements to the IPX emulation.
  - Rewritten modem emulation. Should work with more games.
  - Improvements to the dos memory management routines.
  - Add UMB (upper memory blocks) support.
  - Emulate the pause key.
  - Improve Composite CGA mode emulation.
  - Lots of vga compatibility changes.
  - Improved support for chained video modes.
  - Improved mode and palette handling in cga modes.
  - Mount accepts ~ now.
  - Added a few of the EGA RIL functions.
  - Added TandyDAC emulation.
  - OS/2 support.
  - Improved and speed up the dynamic cpu core.
  - Fix some errors in the CD-ROM emulation layer.
  - Added an automatic work-around for some graphics chipsets.
  - Add PCjr support.
  - Allow mousedriver to be replaced. Fixes a few games that come with their
    own (internal) driver.
  - Improved dynamic cpu core so it can handle pagefaults and some obscure 
    types of self-modifying code.
  - Added -noautoexec switch to skip the contents of [autoexec] in the
    configuration file.
  - Improved v86 mode emulation (mainly for Strike Commander).
  - Improved timer behavior.
  - Improved extended keyboard support.
  - Enhanced and added several DOS tables.
  - Made core_full endian safe.
  - Made pagefaults endian safe.
  - Add support for moviecapturing
  - Add support for 15/16/32 bit videomodes.
  - Add some more VESA modi (4 bit).
  - Add 1024x768 output.
  - Changed screenrendering so it only draws changes to the screen.
  - Allow remapping of the EMS page when the dma transfer was started from 
    the page frame
  - Made EMS and DMA work together when playing from a mapped memory page.
  - Renamed several configuration options, so that they are unique.
  - Merged mpu and intelligent into one option.
  - Merged fullfixed and fullresolution.
  - Extended keys should be handled better.
  - F11 and F12 work.
  - Compilation fixes for various platforms.
  - Fix a few crashes when giving bad input.
  - Removed interp2x and added few new scalers.
  - Reintroduce the lockfree mouse. (autolock=false)
  - Add a larger cache for the dynamic cpu core.
  - Improved soundblaster DSP, so it gets detected by creative tools.
  - Lots of bugfixes.
  - Even more bugfixes.
  
0.63
  - Fixed crash with keymapper (ctrl-f1) and output=surface.
  - Added unmounting.
  - Fixed multiple issues with drive labels.
  - Fixed most if not all FILES=XX problems.
  - Added redirection in the shell.
  - Fixed crashes with subst.
  - Fixed multiple crashes with the drive images support.
  - Added a missing fpu instruction.
  - Fixed some cpu and fpu instructions.
  - Fixed a small bug related to font loading.
  - Rewrote the devices support.
  - Added capslock/numlock checks on startup.
  - Fixed wave writing.
  - A few internal DOS fixes.
  - Timer fixes for the hybrid loader.
  - Some small soundblaster fixes.
  - The drive cache can now be cleared by a keycombo. (CTRL-F4)
  - A few keyboard fixes.
  - Compilation fixes on various platforms.
  - Quite some debugger improvements.
  - Fixed dir only showing files after the first run on cdrom drives.
  - Added some cdrom detection checks.
  - Enabled insert in the shell. (Easier editing of commands)
  - Changed order in which executables appear with tab-completion.
  - Fixed some issues with raw opl recording and using a slightly different
    format
  
0.62
  - Added blinking support in the shell and some color fixes.
  - Fixed commandline parsing when .bat files involved (fixes -exit)
  - Fixed issues with tabs in commandline not being processed correctly.
  - Cleaned/improved shutdown sequence.
  - Added some more bios functions (wait and delay functions).
  - Made our XMS driver conform the specs better. (c2woody)
  - Added support for some more ems functions.
  - Added intelligent mpu401 emulation. (Srecko)
  - Added soundblaster 16 emulation.
  - Rewrote GUS emulation to sound more authentic.
  - Improved pc speaker emulation.
  - Added an internal (programmable) mixer.
  - Added support a few soundblaster/adlib detection routines.
  - Fixed lot's of bugs related to DMA transfers.
  - Added interpolating prebuffering mixer routines.
  - Added recording of OPL commands and raw midi.
  - Fixed some bugs with the wave recording.
  - Changed sensitivity settings of the mouse.
  - Added ps2 mouse-emulation in bios interrupts (c2woody).
  - Fixed some bugs with mouse emulation limits.
  - Fixed a bug with an unterminated string in the drivelabel.
  - Changed file search routines a bit to be more compatible.
  - Added support for attribute-searching with fcb's.
  - Added basic SDA.
  - Added TPA and DIB.
  - Added Lot's of missing dos tables (c2woody).
  - Changed psp and dta functions to use dta.
  - Returned filename in ds:dx in create-random-file (c2woody).
  - Fixed a bug with date and time used on open files.
  - Some mscdex fixes.
  - Added the -version switch, which makes dosbox report its version.
  - Added a keymapper.
  - Added basic IPX emulation.
  - Added cdrom iso support and floppy images support.
  - Added the possibility to boot another dos version.
  - Added Serial passthrough support (win32 only).
  - Added the possibility to pause dosbox.
  - Changed OpenGL so that it is initialized only when used.
  - Make dosbox run at higher priority when active and lower when inactive.
  - Added direct draw output support (win32 only).
  - Added current running program to title bar.
  - Rewrote video emulation to support new scalers.
  - Added new graphics scalers like advmame3x,tv2x.
  - Added a support for a few anti-debugger tricks.
  - Improved the handling of the tab-key.
  - Improved support for the numeric keyboard.
  - Fixed a few cpu opcodes.
  - Added cpu core simple (for lowerend machines)
  - Fixed some nasty bugs in the dynamic cpu core.
  - Added a few (rarely used) fpu opcodes.
  - Fixed various issues with GCC 3.4.
  - Many internal timer improvements (PIT and PIC).
  - Added some more PIC commands (c2woody).
  - Added BCD counting to the timers.
  - Fix some vesa functions.
  - Add some basic support for 132x25 and 132x45 textmodes.
  - Improved Tandy emulation a lot.
  - Lowered cpu usage when dosbox is idle.
  - Allow virtualisation of some basic IO-ports (c2woody).
  

0.61
  - Added a beta dynamic cpu for x86 hosts (very unstable)
  - Added opengl and hardware overlay display output
  - Rewrote the vga screen updates to go in lines
  - Added paging and v86 support to cpu emulation
  - Added a config option to simulate a certain type of machine
  - Added hercules graphics emulation
  - Made CGA/TANDY modes more compatible
  - Updated textmode drawing routines to support blinking colors
  - Fixed VESA set page function that was documented wrong
  - Fixed some wrongly emulated cpu opcodes.
  - improved exception handling
  - debugger: fixes; logging of gdt,lgt,idt, new commands(Fizzban)
  - fixed some mscdex issues (drive letter header error, added get directory entry)
  - added/fixed some bios funcs
  - added some rarely used xms functions (thanks c2woody!)
  - implemented GUS emulation
  - Added 16-bit DMA support (for GUS and eventually SB16)
  - Fixed many small bugs in filehandling routines
  - Many small FPU fixes (c2woody/Fizzban)
  - Some keyboard improvements (pharlab games)
  - Some Timer and cmos/rtc fixes (Mirek/Srecko/Others)
  - Lot's of mouse fixes (Help from various people)
  - Enabled internal modem
  - Made the DOS parsing routines a bit more flexible
  - Added Subst (Srecko)
  - Added cdrom ioctl support for linux (prompt)
  - Many internal DOS fixes: memory/files/datastructures.
  - Got some help from c2woody in allowing more than 1 irq being served
  - Disabled DPMI (not needed anymore. DOSBox handles almost every extender)
  - Search configfile in $HOME directory if none present in current directory
  - Added another way to switch to protected mode. (Thanks Morten Eriksen!)
  - Fixed some odd badly documented behaviour with PSP/DTA
  - Added some warnings on opening of readonly files in writemode(DOS default).
  - Many shell enhancements
  - Fixed a win32 specific bug dealing with filenames starting with a "."
  - Fixed some bugs with the directory structure: not found/can't save errors
  
0.60
  - rewrote memory system for future paging support
  - fixed several EMS and XMS bugs and rewrite for new memory system
  - added some support for tandy video modes
  - added MAME Tandy 3 voice emulation
  - added MAME CMS/GameBlaster emulation
  - added serial port emulation with virtual tcp/ip modem (somewhat buggy)
  - sound blaster emulation is now sb pro 2.0 compatible
  - added basic support for 32-bit protected mode
  - VGA now tries to emulate an S3 Trio 64 card with 2 MB
  - VESA 2.0 support for some 256 color modes
  - rewrote large piece of video bios code for better compatibility
  - added support for the not inheritance flags.
  - created functions for creating child psp.
  - updated errorcodes of findfirst (thanks Mirek!)
  - rewrote loggingsystem to generate less warnings
  - added dos protected mode interface (dpmi)
  - added cdrom label support
  - improved cdrom audio playing
  - fixed and improved directory cache
  - debugger shows selector- and cpu mode info
  - added SELINFO (selector information) command to debugger
  - added reference counting for dos files
  - added tab-completion
  - added basic fpu support.
  - fixed several bugs with case sensitive filesystems.
  - added more shell commands and improved their behaviour.
  - mouse improvements.
  - real time clock improvements.
  - DMA fixes.
  - Improved .BAT file support.

0.58
  - fixed date and time issues with fcbs
  - added more commands to the internal Shell
  - corrected config system when an old configfile was used
  - fixed cga put and get pixel
  - fixed some vga register getting reset to wrong values
  - improved support for foreign keyboards
  - improved joystick support
  - made dosbox multithreaded again
  - lot's of soundblaster fixes
  - dma fixes
  - cdrom support
  - midi support
  - added scale2x
  - reenabled screenshot support
  - joystick support fixes
  - mouse improvements
  - support for writing wavefiles
  - added directory cache and longfilename support (longfilenames will be mangled)
  - mouse fixes
  - date and time updates at z:\
  - added (partial) direct disk support. (works probably only if directory is mounted under a:\)
  - added support for env variables. (must be set before starting dosbox: DOSBOX_SECTION_PROPERTY=value
    like DOSBOX_SBLASTER_IRQ=1)
0.57
  - added support for command /C
  - fixed all fcb-write functions
  - fixed fcb-parseline
  - added debugger under linux/freebsd 
  - added debugger memory breakpoints and autolog function (heavy debug)
  - added loadfix.com program that eats up memory (default 64kb)
    Usage  : loadfix [-option] [programname] [parameters]...
    Example: loadfix mm2      (Allocates 64kb and starts executable mm2)
             loadfix -32 mm2  (Allocates 32kb and starts executable mm2)
             loadfix -128     (Allocates 128kb)
             loadfix -f       (frees all previous allocated memory)
  - added echoing of characters for input function
  - added support for backspace for input function
  - added partial support for int10:01 set cursortype
  - fixed most of the problems/bugs with character input.
  - fixed allocationinfo call.(darksun series)
  - improved dos support for non-existent functions
  - Split screen support
  - prefix 66 67 support
  - rewrote timingscheme so 1000 hz timers don't cause problems anymore
  - update adlib emulation
  - fixed some issues with the mouse (double clicks and visible when it shouldn't be)
  - improved mouse behaviour (mickey/pixel rate) and detection routines.
  - basic ansi.sys support
  - Disney sound system emulation 
  - rewrote upcase/lowcase functions so they work fine with gcc3.2
  - SHELL: added rename and delete
  - added support for command /C. Fixed crashes in the shell
  - fixed various bugs when exiting dosbox
  - fixed a bug in XMS
  - fixed a bug with the joystick when pressing a button
  - create nicer configfiles.
  - bios_disk function improved. 
  - trapflag support
  - improved vertical retrace timing.
  - PIT Timer improvements and many bug fixes
  - Many many bug fixes to the DOS subsystem
  - Support for memory allocation strategy
  - rewrote cpu mainloop to act more like a real cpu
  
0.56
  - added support for a configclass/configfile
  - added support for writing out the configclass into a configfile
  - removed the language file and made it internal
  - added support for writing the language file (will override the internal one)
  - improved mousesupport
  - updated readme
  - support for screenshots
  - some cpu-bug fixes
  - dma changes
  - Real Sound support
  - EMM fixes and new functions.
  - VGA fixes
  - new wildcompare
  - support for size and disktype at mount.
  - added new debugger functionalities: start/trace into INTs, write processor status log, 
    step over rep and loop instructions, breakpoint support without using INT 03 (heavy debugging switch)
  - Added more cpu instructions and changed the string operations.
  - Added classes for most of the internal dos structures.
  - Rewrote most of the fcb calls to use normal dos calls.
  
0.55
  - fixed the errors/warnings in prefix_66.h and prefix_66_of.h (decimal too large becoming unsigned).
  - fixed compilation error on FreeBSD when #disable_joystick was defined
  - int10_writechar has been updated to move the cursor position.
  - changed the basedir routines to use the current working dir instead of argv[0]. This will fix and brake things :)
  - illegal command, now displays the command
  - wildcmp updated to be case insensitive
  - added fcb:open,close,findfirst, findnext.
  - fixed rename in drive_local
  - added new features to the debugger: breakpoint support / data view / command line
  - partial support of list of lists (dos info block)
  - full emm 3.2 support  
  - partial emm 4.0 support
  - fixes to graphics core fonts (text in sierra games is now correct)
  - improved support for user mousehandlers
  - fixed EGA graphics
  - fixed VGA graphics
  - fixed write with size 0
  - changed memory management.
  - fixed and cleaned up the cpu flags.
  - changed interrupt handler.
  - speeded up the graphics.
  - speeded up the cpu-core
  - changed dma 
  - improved dma streams from emm memory
  - added some cga videomodes
  - added more functions to the keyboard handler
