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.