aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-10-11 19:55:15 -0400
committerJesse Luehrs <doy@tozt.net>2014-10-11 19:58:15 -0400
commit48f920775522a3b18c0deee994a74a226ed1bdcc (patch)
tree716ec2e4297cd08e826a95736c5cce0f25de78c2
parentc5499721bd16d242453fc5840216136c17da6fd9 (diff)
downloadnes-snake-48f920775522a3b18c0deee994a74a226ed1bdcc.tar.gz
nes-snake-48f920775522a3b18c0deee994a74a226ed1bdcc.zip
move apple drawing out of the nmi interrupt
-rw-r--r--main.s34
1 files 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