dos33fsprogs/demos/applebot_demo/wipe.s

56 lines
568 B
ArmAsm

; for x=0 to 39
; then 79 down to 40
; then 80 to 119
do_wipe:
ldx #0
top_line_loop:
lda $c00,X
sta $400,X
lda $c80,X
sta $480,X
lda $d00,X
sta $500,X
lda $d80,X
sta $580,X
lda $e00,X
sta $600,X
lda $e80,X
sta $680,X
lda $f00,X
sta $700,X
lda $f80,X
sta $780,X
lda #80
jsr WAIT
cpx #40
bcc count_up ; blt
cpx #80
bcc count_down ; blt
count_up:
inx
cpx #120
beq done_wipe
cpx #40
bne continue_wipe
; switch direction
ldx #80
count_down:
dex
cpx #39
bne continue_wipe
ldx #80
continue_wipe:
jmp top_line_loop
done_wipe:
rts