Fixed scrolling anomalies in the EGA and SVGA card cores for Commander Keen to work right without glitches.

This commit is contained in:
TC1995
2021-07-12 22:12:27 +02:00
parent b2c28e0767
commit fd5ac14f26
17 changed files with 178 additions and 80 deletions

View File

@@ -224,8 +224,13 @@ ega_out(uint16_t addr, uint8_t val, void *p)
ega->crtc[ega->crtcreg] = val;
if (old != val) {
if (ega->crtcreg < 0xe || ega->crtcreg > 0x10) {
fullchange = changeframecount;
ega_recalctimings(ega);
if ((ega->crtcreg == 0xc) || (ega->crtcreg == 0xd)) {
fullchange = 3;
ega->ma_latch = ((ega->crtc[0xc] << 8) | ega->crtc[0xd]) + ((ega->crtc[8] & 0x60) >> 5);
} else {
fullchange = changeframecount;
ega_recalctimings(ega);
}
}
}
break;