aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-10-08 16:32:10 -0400
committerJesse Luehrs <doy@tozt.net>2014-10-08 16:32:10 -0400
commite05ab5585330dab627fcfbc4ea4a09bfa71a5929 (patch)
treee6d4e1b92713f85d93ed89ee3d279f9352704702
parent542c0fd325a289c1bca43feaeadf2b2d8ceea145 (diff)
downloadnes-snake-e05ab5585330dab627fcfbc4ea4a09bfa71a5929.tar.gz
nes-snake-e05ab5585330dab627fcfbc4ea4a09bfa71a5929.zip
make a struct for screen locations
-rw-r--r--main.s47
1 files changed, 25 insertions, 22 deletions
diff --git a/main.s b/main.s
index 2ef56bc..946aa5c 100644
--- a/main.s
+++ b/main.s
@@ -1,3 +1,17 @@
+; configuration {{{
+.asciitable
+MAP "-" = 1
+MAP "|" = 2
+MAP ":" = 3
+MAP "." = 4
+MAP "," = 5
+MAP "'" = 6
+.enda
+.struct point
+x db
+y db
+.endst
+; }}}
; memory layout {{{
; rom {{{
.ROMBANKMAP
@@ -21,24 +35,13 @@ SLOT 1 $0000 ; location doesn't matter, CHR data isn't in main memory
buttons_pressed DB
sleeping DB
game_state DB ; 0: menu, 1: playing, 2: redrawing
-head_x DB
-head_y DB
+head instanceof point
direction DB ; 0: up, 1: down, 2: left, 3: right
frame_skip DB
frame_count DB
.ENDE
; }}}
; }}}
-; other configuration {{{
-.asciitable
-MAP "-" = 1
-MAP "|" = 2
-MAP ":" = 3
-MAP "." = 4
-MAP "," = 5
-MAP "'" = 6
-.enda
-; }}}
; prg {{{
.bank 0
.org $0000
@@ -93,8 +96,8 @@ clrmem:
STA direction
STA frame_count
LDA #$80
- STA head_x
- STA head_y
+ STA head.x
+ STA head.y
LDA #30
STA frame_skip
@@ -154,13 +157,13 @@ NMI:
BEQ end_nmi
draw_head:
- LDA head_y
+ LDA head.y
STA $0200
LDA #$00
STA $0201
LDA #$00
STA $0202
- LDA head_x
+ LDA head.x
STA $0203
JMP do_dmi
@@ -257,17 +260,17 @@ set_axis:
apply_direction:
TXA
CLC
- ADC head_x, y ; head_x offset by 1 is head_y
- STA head_x, y
+ ADC head.x, y ; head.x offset by 1 is head.y
+ STA head.x, y
check_collisions
- LDA head_x
+ LDA head.x
CMP #$18
BCC collision
CMP #$E8
BCS collision
- LDA head_y
+ LDA head.y
CMP #$1D
BCC collision
CMP #$DD
@@ -308,9 +311,9 @@ start_game: ; {{{
STA game_state
LDA #$80
- STA head_x
+ STA head.x
LDA #$7D
- STA head_y
+ STA head.y
- BIT $2002
BPL -