WinDriver/dosbox-vbesvga.conf
Scott Duensing 5527130145 Add wdrvScreenshot, auto-demo mode, palette fixes, and DAC width detection
Add wdrvScreenshot() to capture the screen to PNG via stb_image_write.h,
reading the framebuffer (or DDI bitmap fallback) and VGA DAC palette.

Convert demo.c to non-interactive mode with automatic screenshots after
each demo (DEMO01-15.PNG) and no keypress waits, plus per-driver
DOSBox-X configs for automated testing.

Set a standard Windows 3.1 256-color palette (8R x 8G x 4B color cube
with 20 static system colors) to ensure consistent output across drivers.

Fix wdrvSetPalette to also program the VGA DAC directly, since VBESVGA's
SetPalette DDI updates its internal color table but not the hardware.

Detect DAC width via VBE 4F08 (S3TRIO=6-bit, VBESVGA=8-bit) and use
correct shift in both DAC writes and reads — fixes dark display on
VBESVGA where 6-bit values in 8-bit DAC produced 1/4 brightness.

Fix S3 dispYOffset: extend PDEVICE deHeight by the offset so the
driver's internal clipping allows the full 600-row logical screen,
rather than incorrectly reducing dpVertRes to 590.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 18:55:57 -06:00

37 lines
577 B
Text

# DOSBox-X config for VBESVGA.DRV testing
[sdl]
output = surface
windowresolution = 1024x768
[dosbox]
machine = svga_s3trio64
memsize = 64
quit warning = false
[cpu]
core = normal
cputype = pentium
cycles = max
[render]
aspect = true
scaler = none
[video]
vmemsize = 8
vmemsizekb = 0
vesa oldvbe = false
vesa oldvbe10 = false
[dos]
umb = true
xms = true
ems = true
[autoexec]
@echo off
mount c /home/scott/claude/windriver
c:
cd bin
DEMO.EXE VBESVGA.DRV
exit