INT 10h: 200-line mode ANYTHING, including 200-line text mode, needs the AC and DAC programmed CGA RGBI style, not EGA 64-color style

This commit is contained in:
Jonathan Campbell 2024-12-05 09:51:38 -08:00
parent 166102731d
commit d11bceda8c
2 changed files with 17 additions and 0 deletions

View File

@ -10,6 +10,9 @@ Next
(joncampbell123).
- INT 10: Fix "load font" functions to correctly recompute video
display end for machine=vgaonly and machine=ega. (joncampbell123).
- INT 10: Like any other 200-line 16-color graphics mode, 200-line
VGA text mode needs to program the AC and VGA palette using the
CGA RGBI-type palette, not the EGA 64-color type palette. (joncampbell123).
2024.12.04
- Arrange memory device allocation so that it is possible to allocate

View File

@ -2043,6 +2043,11 @@ att_text16:
att_data[i+6]=0x00;
att_data[i+7]=0x00;
}
} else if (IS_EGAVGA_ARCH && CurMode->sheight == 200) {
for (uint8_t ct=0;ct<8;ct++) {
att_data[ct]=ct;
att_data[ct+8]=ct+0x10;
}
} else {
for (uint8_t ct=0;ct<8;ct++) {
att_data[ct]=ct;
@ -2190,6 +2195,15 @@ att_text16:
}
}
break;
}
else if (CurMode->sheight == 200) {
/* 200-line text modes need the CGA RGBI type palette, same as 200-line EGA 16-color */
for (i=0;i<64;i++) {
IO_Write(0x3c9,ega_palette[i][0]);
IO_Write(0x3c9,ega_palette[i][1]);
IO_Write(0x3c9,ega_palette[i][2]);
}
break;
} //FALLTHROUGH!!!!
case M_LIN4: //Added for CAD Software
dac_text16: