From 48f920775522a3b18c0deee994a74a226ed1bdcc Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 11 Oct 2014 19:55:15 -0400 Subject: move apple drawing out of the nmi interrupt --- main.s | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/main.s b/main.s index 7819d39..016fab1 100644 --- a/main.s +++ b/main.s @@ -109,6 +109,11 @@ clrmem: LDA #20 STA frame_skip + LDA #$07 + STA $0201 + LDA #$00 + STA $0202 + ; Second wait for vblank, PPU is ready after this - BIT $2002 BPL - @@ -158,12 +163,12 @@ NMI: PHA LDA game_state - BEQ reset_sprites_jmp + BEQ do_dma_jmp CMP #$01 BEQ draw_game JMP end_nmi -reset_sprites_jmp: - JMP reset_sprites +do_dma_jmp: + JMP do_dma draw_game: LDX #$00 @@ -192,21 +197,8 @@ draw_game: LDA #$00 STA $2006 - LDA apple.y - STA $0200 - LDA #$07 - STA $0201 - LDA #$00 - STA $0202 - LDA apple.x - STA $0203 JMP do_dma -reset_sprites: - LDA #$FE - STA $0200 - STA $0203 - do_dma: LDA #$00 STA $2003 @@ -479,6 +471,10 @@ end_game: ; {{{ LDA #$02 STA game_state + LDA #$FE + STA $0200 + STA $0203 + - BIT $2002 BPL - @@ -548,6 +544,12 @@ new_apple: ; {{{ JSR test_body_collision CMP #$01 BEQ new_apple + + LDA apple.y + STA $0200 + LDA apple.x + STA $0203 + RTS ; }}} draw_sprite_at_head: ; {{{ LDA #$20 -- cgit v1.2.3-54-g00ecf