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).
(#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.
- r4476: Preserve last error code when no error
- 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)