Tweaks to EGA monochrome palettes. Patch from basic2004.

This commit is contained in:
SarahW 2017-07-18 21:53:31 +01:00
commit c6a98090bf

View file

@ -910,12 +910,24 @@ void ega_init(ega_t *ega, int monitor_type, int is_mono)
{ {
for (c = 0; c < 256; c++) for (c = 0; c < 256; c++)
{ {
int video = ((c & 8) ? 2 : 0) | ((c & 16) ? 1 : 0);
switch (monitor_type >> 4) switch (monitor_type >> 4)
{ {
case DISPLAY_GREEN: case DISPLAY_GREEN:
pallook64[c] = makecol32(0, video*0x55, 0); switch ((c >> 3) & 3)
pallook16[c] = makecol32(0, video*0x55, 0); {
case 0:
pallook64[c] = pallook16[c] = makecol32(0, 0, 0);
break;
case 2:
pallook64[c] = pallook16[c] = makecol32(0x04, 0x8a, 0x20);
break;
case 1:
pallook64[c] = pallook16[c] = makecol32(0x08, 0xc7, 0x2c);
break;
case 3:
pallook64[c] = pallook16[c] = makecol32(0x34, 0xff, 0x5d);
break;
}
break; break;
case DISPLAY_AMBER: case DISPLAY_AMBER:
switch ((c >> 3) & 3) switch ((c >> 3) & 3)
@ -924,10 +936,10 @@ void ega_init(ega_t *ega, int monitor_type, int is_mono)
pallook64[c] = pallook16[c] = makecol32(0, 0, 0); pallook64[c] = pallook16[c] = makecol32(0, 0, 0);
break; break;
case 2: case 2:
pallook64[c] = pallook16[c] = makecol32(0x2c, 0x08, 0x00); pallook64[c] = pallook16[c] = makecol32(0xb2, 0x4d, 0x00);
break; break;
case 1: case 1:
pallook64[c] = pallook16[c] = makecol32(0xff, 0xae, 0x18); pallook64[c] = pallook16[c] = makecol32(0xef, 0x79, 0x00);
break; break;
case 3: case 3:
pallook64[c] = pallook16[c] = makecol32(0xff, 0xe3, 0x34); pallook64[c] = pallook16[c] = makecol32(0xff, 0xe3, 0x34);
@ -935,8 +947,21 @@ void ega_init(ega_t *ega, int monitor_type, int is_mono)
} }
break; break;
case DISPLAY_WHITE: default: case DISPLAY_WHITE: default:
pallook64[c] = makecol32(video*0x55, video*0x55, video*0x55); switch ((c >> 3) & 3)
pallook16[c] = makecol32(video*0x55, video*0x55, video*0x55); {
case 0:
pallook64[c] = pallook16[c] = makecol32(0, 0, 0);
break;
case 2:
pallook64[c] = pallook16[c] = makecol32(0x7a, 0x81, 0x83);
break;
case 1:
pallook64[c] = pallook16[c] = makecol32(0xaf, 0xb3, 0xb0);
break;
case 3:
pallook64[c] = pallook16[c] = makecol32(0xff, 0xfd, 0xed);
break;
}
break; break;
} }
} }