Path to this page:
Subject: CVS commit: pkgsrc/emulators/dosbox-x
From: Nia Alarie
Date: 2022-03-04 08:41:15
Message id: 20220304074115.20E39FB24@cvs.NetBSD.org
Log Message:
dosbox-x: update to 0.83.23
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.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)
Files: