diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBC_PPU.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBC_PPU.cs index c1d420be36..470f5c4922 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBC_PPU.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBC_PPU.cs @@ -535,9 +535,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk } else if (cycle == 4) { - // apparently, writes can make it to OAM one cycle longer then reads - OAM_access_write = false; - // here mode 2 will be set to true and interrupts fired if enabled STAT &= 0xFC; STAT |= 0x2; @@ -1414,6 +1411,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk if (OAM_cycle == 0) { OAM_access_read = false; + OAM_access_write = false; OAM_scan_index = 0; SL_sprites_index = 0; @@ -1572,10 +1570,10 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk scroll_x = 0; LY = 0; LYC = 0; - DMA_addr = 0xFF; + DMA_addr = 0; BGP = 0xFF; - obj_pal_0 = 0xFF; - obj_pal_1 = 0xFF; + obj_pal_0 = 0; + obj_pal_1 = 0; window_y = 0x0; window_x = 0x0; window_x_latch = 0xFF; diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/HW_Registers.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/HW_Registers.cs index 5124e4371f..96f71b6715 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/HW_Registers.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/HW_Registers.cs @@ -387,14 +387,19 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk case 0xFF53: case 0xFF54: case 0xFF55: + if (GBC_compat) + { + ppu.WriteReg(addr, value); + } + break; case 0xFF68: case 0xFF69: case 0xFF6A: case 0xFF6B: - if (GBC_compat) - { + //if (GBC_compat) + //{ ppu.WriteReg(addr, value); - } + //} break; // RAM Bank in GBC mode