Skip to content

DOSBox-X 0.83.20 2021-11-30 23:26

Compare
Choose a tag to compare
@joncampbell123 joncampbell123 released this 01 Dec 07:34
· 3452 commits to master since this release
71ebd3b

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

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

For Windows users, it is recommended to use the Windows installer(s) for a more complete installation.

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.