diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBC_PPU.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBC_PPU.cs index 11ae57af35..2573b546a3 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBC_PPU.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBC_PPU.cs @@ -111,8 +111,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk LCDC = value; break; case 0xFF41: // STAT - // writing to STAT during mode 0 or 2 causes a STAT IRQ - if (LCDC.Bit(7)) + // note that their is no stat interrupt bug in GBC + // writing to STAT during mode 0 or 1 causes a STAT IRQ + if (LCDC.Bit(7) && !Core.GBC_compat) { if (((STAT & 3) == 0) || ((STAT & 3) == 1)) { diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GB_PPU.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GB_PPU.cs index 12bbb69b3e..396c602f0a 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GB_PPU.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GB_PPU.cs @@ -52,7 +52,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk LCDC = value; break; case 0xFF41: // STAT - // writing to STAT during mode 0 or 2 causes a STAT IRQ + // writing to STAT during mode 0 or 1 causes a STAT IRQ if (LCDC.Bit(7)) { if (((STAT & 3) == 0) || ((STAT & 3) == 1))