DOSBox-X 0.83.20 2021-11-30 23:26
joncampbell123
released this
01 Dec 07:34
·
3452 commits
to master
since this release
Note: Installation instructions are available from the INSTALL page. Also, always check out the DOSBox-X homepage for latest updates.
For usage information please look at the DOSBox-X user guide, which is available from the DOSBox-X Wiki.
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.
- Add proper opl3 handling of the waveform select