GBHawk: Fix a regression

This commit is contained in:
alyosha-tas 2019-11-04 20:37:38 -05:00
parent bc45386467
commit 558171d949
2 changed files with 5 additions and 5 deletions

View File

@ -126,20 +126,20 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
LCDC = value;
break;
case 0xFF41: // STAT
// note that their is no stat interrupt bug in GBC
// note that their is no stat interrupt bug in GBC
STAT = (byte)((value & 0xF8) | (STAT & 7) | 0x80);
if (((STAT & 3) == 0) && STAT.Bit(3)) { HBL_INT = true; } else { HBL_INT = false; }
if (((STAT & 3) == 1) && STAT.Bit(4)) { VBL_INT = true; } else { VBL_INT = false; }
// OAM not triggered?
// if (((STAT & 3) == 2) && STAT.Bit(5)) { OAM_INT = true; } else { OAM_INT = false; }
if (value.Bit(6))
if (value.Bit(6) && LCDC.Bit(7))
{
if (LY == LYC) { LYC_INT = true; }
else { LYC_INT = false; }
}
if (!STAT.Bit(6)) { LYC_INT = false; }
break;
case 0xFF42: // SCY
scroll_y = value;

View File

@ -133,17 +133,17 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
// note that their is no stat interrupt bug in GBC
STAT = (byte)((value & 0xF8) | (STAT & 7) | 0x80);
if (((STAT & 3) == 0) && STAT.Bit(3)) { HBL_INT = true; } else { HBL_INT = false; }
if (((STAT & 3) == 1) && STAT.Bit(4)) { VBL_INT = true; } else { VBL_INT = false; }
// OAM not triggered?
// if (((STAT & 3) == 2) && STAT.Bit(5)) { OAM_INT = true; } else { OAM_INT = false; }
if (value.Bit(6))
if (value.Bit(6) && LCDC.Bit(7))
{
if (LY == LYC) { LYC_INT = true; }
else { LYC_INT = false; }
}
if (!STAT.Bit(6)) { LYC_INT = false; }
break;
case 0xFF42: // SCY
scroll_y = value;