Always decode CRTC index bit 5 on VGA compatibles. Fixes Joe Montana Football.

This commit is contained in:
SarahW 2018-04-11 17:00:58 +01:00
commit 4ba11c5a13
4 changed files with 26 additions and 10 deletions

View file

@ -38,9 +38,11 @@ void oti067_out(uint16_t addr, uint8_t val, void *p)
switch (addr)
{
case 0x3D4:
svga->crtcreg = val & 31;
svga->crtcreg = val & 0x3f;
return;
case 0x3D5:
if (svga->crtcreg & 0x20)
return;
if ((svga->crtcreg < 7) && (svga->crtc[0x11] & 0x80))
return;
if ((svga->crtcreg == 7) && (svga->crtc[0x11] & 0x80))
@ -99,7 +101,10 @@ uint8_t oti067_in(uint16_t addr, void *p)
temp = svga->crtcreg;
break;
case 0x3D5:
temp = svga->crtc[svga->crtcreg];
if (svga->crtcreg & 0x20)
temp = 0xff;
else
temp = svga->crtc[svga->crtcreg];
break;
case 0x3DE: