Disabled defective ics5341-based bioses (16bpp would appear purprlish even on 16bpp and on 15bpp, though their roms won't be removed) and re-enabled the stg170x-based bioses with appropriate skew fixes (for real).

Replaced the ET4000/W32 (without letters) bios with a newer one.
Added ET4000/W32i VLB.
This commit is contained in:
TC1995
2021-03-24 19:06:38 +01:00
parent 955ac29555
commit 1763b2fcb2
4 changed files with 209 additions and 100 deletions

View File

@@ -43,59 +43,58 @@ static void
sdac_control_write(sdac_ramdac_t *ramdac, svga_t *svga, uint8_t val)
{
ramdac->command = val;
switch (val >> 4) {
case 0x2:
case 0x3:
svga->bpp = 15;
break;
case 0xa:
if (ramdac->type == 2)
svga->bpp = 16;
else
svga->bpp = 15;
break;
case 0x8:
svga->bpp = 15;
break;
case 0x4:
case 0x9:
svga->bpp = 24;
break;
case 0xe:
if (ramdac->type == 1)
svga->bpp = 16;
else
svga->bpp = 24;
break;
case 0x5:
svga->bpp = 16;
break;
case 0x6:
if (ramdac->type == 1)
svga->bpp = 24;
else
svga->bpp = 16;
break;
case 0xc:
if (ramdac->type == 1)
svga->bpp = 15;
else
svga->bpp = 16;
break;
case 0x7:
if (ramdac->type == 1)
svga->bpp = 24;
else
svga->bpp = 32;
break;
case 0x0:
case 0x1:
default:
svga->bpp = 8;
break;
}
pclog("BPP = %i, val = %x, type = %i\n", svga->bpp, val >> 4, ramdac->type);
if (ramdac->type == 1 || ramdac->type == 2) {
switch (val) {
case 0xa0:
svga->bpp = 15;
break;
case 0xc0:
case 0xe0:
svga->bpp = 16;
break;
case 0x60:
case 0x90:
svga->bpp = 24;
break;
case 0x00:
case 0x01:
case 0x10:
default:
svga->bpp = 8;
break;
}
} else {
switch (val >> 4) {
case 0x2:
case 0x3:
case 0xa:
case 0x8:
svga->bpp = 15;
break;
case 0x4:
case 0x9:
case 0xe:
svga->bpp = 24;
break;
case 0x5:
case 0x6:
case 0xc:
svga->bpp = 16;
break;
case 0x7:
svga->bpp = 32;
break;
case 0x0:
case 0x1:
default:
svga->bpp = 8;
break;
}
}
}