Rework bit depth selection on SDAC to add a few missing cases.
This commit is contained in:
parent
aa933688eb
commit
388229aeb5
1 changed files with 24 additions and 7 deletions
|
|
@ -9,14 +9,31 @@ static void sdac_control_write(sdac_ramdac_t *ramdac, svga_t *svga, uint8_t val)
|
||||||
{
|
{
|
||||||
ramdac->command = val;
|
ramdac->command = val;
|
||||||
// pclog("RAMDAC command reg now %02X\n", val);
|
// pclog("RAMDAC command reg now %02X\n", val);
|
||||||
switch (val >> 4)
|
switch (val & 0xf0)
|
||||||
{
|
{
|
||||||
case 0x2: case 0x3: case 0xa: svga->bpp = 15; break;
|
case 0x00: case 0x10:
|
||||||
case 0x4: case 0xe: svga->bpp = 24; break;
|
svga->bpp = 8;
|
||||||
case 0x5: case 0x6: case 0xc: svga->bpp = 16; break;
|
break;
|
||||||
case 0x7: svga->bpp = 32; break;
|
|
||||||
|
|
||||||
case 0: case 1: default: svga->bpp = 8; break;
|
case 0x20: case 0x30: case 0x80: case 0xa0:
|
||||||
|
svga->bpp = 15;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0x50: case 0x60: case 0xc0:
|
||||||
|
svga->bpp = 16;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0x40: case 0x90: case 0xe0:
|
||||||
|
svga->bpp = 24;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0x70:
|
||||||
|
svga->bpp = 32;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
svga->bpp = 8;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue