Apply blanking extensions to more SVGA cards.

* Fix duplicated logic in vid_svga.c
* Voodoo 3/Banshee emulation now has blanking extensions applied
* S3 ViRGE and Matrox video cards as well
* Tseng ET4000-series cards as well
* Fix off-by-one error in vid_cl54xx.c

Trident cards are yet to be investigated. XGA and 8514/A are yet to be made blanking extensions compliant. Mach64, Paradise/WDC and OAK OTI cards remain as-is for now.
This commit is contained in:
Cacodemon345
2024-01-11 01:48:49 +06:00
parent d125caf776
commit 8e9a2e0b79
8 changed files with 44 additions and 9 deletions

View File

@@ -552,6 +552,10 @@ banshee_recalctimings(svga_t *svga)
svga->htotal += 0x100;
if (svga->crtc[0x1a] & 0x04)
svga->hdisp += 0x100;
if (svga->crtc[0x1a] & 0x10)
svga->hblankstart += 0x100;
if (svga->crtc[0x1a] & 0x20)
svga->hblank_end_val += 0x40;
/*6 R/W Vertical Retrace Start bit 10 0x10
5 R/W Reserved. -
4 R/W Vertical Blank Start bit 10. 0x15
@@ -611,6 +615,8 @@ banshee_recalctimings(svga_t *svga)
svga->char_width = 8;
svga->split = 99999;
svga->hblank_end_len = 0x80;
if (banshee->vidProcCfg & VIDPROCCFG_2X_MODE) {
svga->hdisp *= 2;
svga->htotal *= 2;