diff options
Diffstat (limited to 'drunkwalk.s')
-rw-r--r-- | drunkwalk.s | 21 |
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 |