1
0
Fork 0

Add the 3rd cga palette

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1662
This commit is contained in:
Sjoerd van der Berg 2004-02-07 22:22:19 +00:00
parent 297bcf0e73
commit 3d938579ef

View file

@ -106,14 +106,29 @@ static void write_p3d9(Bit32u port,Bit8u val) {
{
VGA_ATTR_SetPalette(0,(val & 0xf));
Bit8u pal_base=(val & 0x10) ? 0x08 : 0;
if (val & 0x020) {
VGA_ATTR_SetPalette(1,0x03+pal_base);
VGA_ATTR_SetPalette(2,0x05+pal_base);
VGA_ATTR_SetPalette(3,0x07+pal_base);
/* Check for BW Mode */
if (vga.cga.mode_control & 0x4) {
if (val & 0x20) {
VGA_ATTR_SetPalette(1,0x03+pal_base);
VGA_ATTR_SetPalette(2,0x04+pal_base);
VGA_ATTR_SetPalette(3,0x07+pal_base);
} else {
//TODO Maybe? will anyone ever use,
//will also need to setup a BW palette,but could put it behind normal cga...
VGA_ATTR_SetPalette(1,0x02+pal_base);
VGA_ATTR_SetPalette(2,0x04+pal_base);
VGA_ATTR_SetPalette(3,0x06+pal_base);
}
} else {
VGA_ATTR_SetPalette(1,0x02+pal_base);
VGA_ATTR_SetPalette(2,0x04+pal_base);
VGA_ATTR_SetPalette(3,0x06+pal_base);
if (val & 0x20) {
VGA_ATTR_SetPalette(1,0x03+pal_base);
VGA_ATTR_SetPalette(2,0x05+pal_base);
VGA_ATTR_SetPalette(3,0x07+pal_base);
} else {
VGA_ATTR_SetPalette(1,0x02+pal_base);
VGA_ATTR_SetPalette(2,0x04+pal_base);
VGA_ATTR_SetPalette(3,0x06+pal_base);
}
}
}
break;