aboutsummaryrefslogtreecommitdiff
path: root/drunkwalk.s
diff options
context:
space:
mode:
Diffstat (limited to 'drunkwalk.s')
-rw-r--r--drunkwalk.s21
1 files changed, 17 insertions, 4 deletions
diff --git a/drunkwalk.s b/drunkwalk.s
index ca017c0..02ab67d 100644
--- a/drunkwalk.s
+++ b/drunkwalk.s
@@ -6,12 +6,16 @@
;;; possible.
; Y and X are backwards: Y holds the X coordinate, and X holds the Y coordinate.
; Has to be, because there's no (zpind),x addressing mode.
-oob:
- rts
drunkwalk:
- ldy cursor_x ; 3
- ldx cursor_y ; 3
+oob:
+ ldy RANDOM ; spawn a new particle
+ lda (spawn_x),y
+ sta cursor_x
+ lda (spawn_y),y
+ sta cursor_y
+ tax
+ ldy cursor_x
lda lineaddrs_l,x ; 5
sta pixptr ; 3
@@ -132,4 +136,13 @@ check_lrd:
jmp move_pixel
stick:
+ ; pixel stuck next to an existing pixel, draw it and return.
+ ldx cursor_y
+ lda lineaddrs_l,x
+ sta pixptr
+ lda lineaddrs_h,x
+ sta pixptr+1
+ ldy cursor_x
+ lda #1
+ sta (pixptr),y
rts