diff --git a/BizHawk.Emulation/Consoles/Nintendo/NES/PPU.regs.cs b/BizHawk.Emulation/Consoles/Nintendo/NES/PPU.regs.cs index 6c498bc6d2..16d74ad23a 100644 --- a/BizHawk.Emulation/Consoles/Nintendo/NES/PPU.regs.cs +++ b/BizHawk.Emulation/Consoles/Nintendo/NES/PPU.regs.cs @@ -1,4 +1,7 @@ -//blargg: Reading from $2007 when the VRAM address is $3fxx will fill the internal read buffer with the contents at VRAM address $3fxx, in addition to reading the palette RAM. +//TODO - better sprite hit handling (be sure to test world runner) +//http://nesdev.parodius.com/bbs/viewtopic.php?t=626 + +//blargg: Reading from $2007 when the VRAM address is $3fxx will fill the internal read buffer with the contents at VRAM address $3fxx, in addition to reading the palette RAM. //static const byte powerUpPalette[] = //{ diff --git a/BizHawk.Emulation/Consoles/Nintendo/NES/PPU.run.cs b/BizHawk.Emulation/Consoles/Nintendo/NES/PPU.run.cs index f05d897715..3fcc2f7b37 100644 --- a/BizHawk.Emulation/Consoles/Nintendo/NES/PPU.run.cs +++ b/BizHawk.Emulation/Consoles/Nintendo/NES/PPU.run.cs @@ -370,7 +370,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo if (sl == 0 && ppur.status.cycle == 304) { runppu(1); - ppur.install_latches(); + if (reg_2001.PPUON) ppur.install_latches(); runppu(1); garbage_todo = 0; } @@ -378,7 +378,7 @@ namespace BizHawk.Emulation.Consoles.Nintendo { runppu(1); //at 257: 3d world runner is ugly if we do this at 256 - ppur.install_h_latches(); + if (reg_2001.PPUON) ppur.install_h_latches(); runppu(1); garbage_todo = 0; } @@ -422,11 +422,6 @@ namespace BizHawk.Emulation.Consoles.Nintendo ppuphase = PPUPHASE.BG; - //so.. this is the end of hblank. latch horizontal scroll values - //do it cycle at 251 - if (reg_2001.PPUON && sl != 0) - ppur.install_h_latches(); - //I'm unclear of the reason why this particular access to memory is made. //The nametable address that is accessed 2 times in a row here, is also the //same nametable address that points to the 3rd tile to be rendered on the