From 3dba1e1f0d3819cdf1fe2b17897744bdd4c00393 Mon Sep 17 00:00:00 2001 From: Paul Dino Jones Date: Sat, 25 Nov 2023 17:38:18 +0000 Subject: [PATCH] Add subroutine to clear ppu nametables. Call during reset init after zeroing cpu ram. --- src/lib/ppu.s | 20 ++++++++++++++++++++ src/smb-movement.s | 1 + 2 files changed, 21 insertions(+) diff --git a/src/lib/ppu.s b/src/lib/ppu.s index 05bb009..dd6f1e8 100644 --- a/src/lib/ppu.s +++ b/src/lib/ppu.s @@ -222,3 +222,23 @@ PALETTE = $3f00 bne @loop rts .endproc + +.proc clear_nametable_and_attr + ldy #4 + lda #0 +: ldx #0 +: sta PPU_DATA + inx + bne :- + dey + bne :-- + rts +.endproc + +.proc clear_screen + Vram NAMETABLE_A + jsr clear_nametable_and_attr + Vram NAMETABLE_C + jsr clear_nametable_and_attr + rts +.endproc diff --git a/src/smb-movement.s b/src/smb-movement.s index dd66215..2de01a8 100644 --- a/src/smb-movement.s +++ b/src/smb-movement.s @@ -103,6 +103,7 @@ sta $700, x inx bne @ram_reset_loop + jsr clear_screen lda #%11101111 @sprite_reset_loop: sta $200, x