From d01e14a6799f7e2f9caaf687a1749cefb82298d5 Mon Sep 17 00:00:00 2001 From: Peter Fors Date: Fri, 31 Oct 2025 06:53:08 +0100 Subject: some tas tests, desync is happening --- mknes_ppu.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'mknes_ppu.c') diff --git a/mknes_ppu.c b/mknes_ppu.c index 870439b..1a40de0 100644 --- a/mknes_ppu.c +++ b/mknes_ppu.c @@ -322,13 +322,22 @@ shift_and_fetch: } } } + + goto rendering_done; + } + + if(dot == 256) { // NOTE(peter): THIS IS EXPENSIVE + ppu->sprite_count = 0; } +rendering_done: + if(dot == 1) { switch(scanline) { case 241: { ppu->reg_status |= PPU_STATUS_VBLANK; state->cpu.nmi_pending = (ppu->reg_ctrl & PPU_CTRL_NMI); + ppu->frame_ready = 1; } break; case 261: { @@ -339,6 +348,7 @@ shift_and_fetch: } } + dot++; if(dot > 340) { dot = 0; @@ -350,7 +360,6 @@ shift_and_fetch: if(scanline > 261) { scanline = 0; - ppu->frame_ready = 1; ppu->even_frame = !ppu->even_frame; } -- cgit v1.2.3