diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.cs index d4b9d202b0..de3afa3ee9 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.cs @@ -305,6 +305,14 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES race_2006 = true; } } + + + + ppur.status.cycle++; + is_even_cycle = !is_even_cycle; + //might not actually run a cpu cycle if there are none to be run right now + nes.RunCpuOne(); + if (install_2001 > 0) { install_2001--; @@ -315,12 +323,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES } } - - ppur.status.cycle++; - is_even_cycle = !is_even_cycle; - //might not actually run a cpu cycle if there are none to be run right now - nes.RunCpuOne(); - if (Reg2002_vblank_active_pending) { //if (Reg2002_vblank_active_pending) diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.regs.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.regs.cs index bec89e93de..6900e6e8db 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.regs.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.regs.cs @@ -346,7 +346,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES { //printf("%04x:$%02x, %d\n",A,V,scanline); reg_2001.Value = value; - install_2001 = 2; + install_2001 = 1; } byte read_2001() {return ppu_open_bus; } byte peek_2001() {return ppu_open_bus; } diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.run.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.run.cs index 8f057285e5..a5c1526d2f 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.run.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.run.cs @@ -756,9 +756,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES // this sequence is tuned to pass 10-even_odd_timing.nes runppu(1); runppu(1); - runppu(1); - runppu(1); bool evenOddDestiny = PPUON; + runppu(1); + runppu(1); // After memory access 170, the PPU simply rests for 4 cycles (or the // equivelant of half a memory access cycle) before repeating the whole @@ -800,7 +800,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES if (ppudead==2) { */ - runppu(241 * kLineTime - 3);// -8*3); + runppu(241 * kLineTime+3);// -8*3); /* } else {