Enabled write to CRTC R7 bit 4 when protection is enabled - fixes scrolling on DOS/V 6.2.

This commit is contained in:
TomW 2014-11-04 20:14:50 +00:00
commit 6a72839c59
13 changed files with 51 additions and 14 deletions

View file

@ -141,7 +141,10 @@ void s3_out(uint16_t addr, uint8_t val, void *p)
svga->crtcreg = val & 0x7f;
return;
case 0x3D5:
if (svga->crtcreg <= 7 && svga->crtc[0x11] & 0x80) return;
if ((svga->crtcreg < 7) && (svga->crtc[0x11] & 0x80))
return;
if ((svga->crtcreg == 7) && (svga->crtc[0x11] & 0x80))
val = (svga->crtc[7] & ~0x10) | (val & 0x10);
if (svga->crtcreg >= 0x20 && svga->crtcreg != 0x38 && (svga->crtc[0x38] & 0xcc) != 0x48) return;
old = svga->crtc[svga->crtcreg];
svga->crtc[svga->crtcreg] = val;