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

@@ -414,10 +414,16 @@ ht216_out(uint16_t addr, uint8_t val, void *p)
svga->crtc[svga->crtcreg] = val;
if (old != val) {
if (svga->crtcreg < 0xe || svga->crtcreg > 0x10) {
if (svga->crtcreg < 0xe || svga->crtcreg > 0x10)
{
if ((svga->crtcreg == 0xc) || (svga->crtcreg == 0xd)) {
svga->fullchange = 3;
svga->ma_latch = ((svga->crtc[0xc] << 8) | svga->crtc[0xd]) + ((svga->crtc[8] & 0x60) >> 5);
} else {
svga->fullchange = changeframecount;
svga_recalctimings(svga);
svga_recalctimings(svga);
}
}
}
break;