mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-10-24 23:25:28 +00:00
waterfall: transitional
This commit is contained in:
parent
610eab4ef8
commit
f7c66da81f
@ -220,6 +220,15 @@ loopB:
|
|||||||
bne loopA ; 2nt/3
|
bne loopA ; 2nt/3
|
||||||
|
|
||||||
jmp display_loop
|
jmp display_loop
|
||||||
|
|
||||||
|
jump_table:
|
||||||
|
.word display_odd
|
||||||
|
.word display_odd
|
||||||
|
.word display_odd
|
||||||
|
.word display_odd
|
||||||
|
jump_addr:
|
||||||
|
.word $00
|
||||||
|
|
||||||
.align $100
|
.align $100
|
||||||
|
|
||||||
|
|
||||||
@ -234,49 +243,70 @@ loopB:
|
|||||||
|
|
||||||
; if even, 10 + 9 + display_even + 2 (balance) = 21+display_even
|
; if even, 10 + 9 + display_even + 2 (balance) = 21+display_even
|
||||||
; if odd 10 + 8 + display_odd + 3 (balance) = 21+display_odd
|
; if odd 10 + 8 + display_odd + 3 (balance) = 21+display_odd
|
||||||
|
; 3+6
|
||||||
|
|
||||||
; we have 3 (the jmp) + 6 (the rts) - 1 (fallthrough)
|
; between 10 + 8 + display_even = 18+display_even
|
||||||
; = 8 cycles that need to be eaten by the vblank
|
|
||||||
|
; jump_table
|
||||||
|
; 39 + display_odd
|
||||||
|
|
||||||
|
; we have 3 (the jmp back)
|
||||||
|
; = 3 cycles that need to be eaten by the vblank
|
||||||
|
|
||||||
display_loop:
|
display_loop:
|
||||||
|
; inc FRAME ; 5
|
||||||
|
; lda FRAME ; 3
|
||||||
|
; and #$10 ; 2
|
||||||
|
|
||||||
|
; lsr ; 2
|
||||||
|
; lsr ; 2
|
||||||
|
; lsr ; 2
|
||||||
|
; tay ; 2 ; 18
|
||||||
|
|
||||||
|
; lda jump_table,y ; 4
|
||||||
|
; sta jump_addr ; 4
|
||||||
|
; lda jump_table+1,y ; 4
|
||||||
|
; sta jump_addr+1 ; 4
|
||||||
|
; jmp (jump_addr) ; 5 ; 39
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
inc FRAME ; 5
|
inc FRAME ; 5
|
||||||
lda FRAME ; 3
|
lda FRAME ; 3
|
||||||
and #$10 ; 2
|
and #$10 ; 2
|
||||||
beq even
|
beq even
|
||||||
; 2
|
; 2
|
||||||
lda FRAME ; (nop) ; 3
|
lda FRAME ; (nop) ; 3
|
||||||
jsr display_odd ; 6
|
jmp display_odd ; 3
|
||||||
jmp vblank ; 3
|
|
||||||
even:
|
even:
|
||||||
; 3
|
; 3
|
||||||
nop ; (nop) ; 2
|
nop ; (nop) ; 2
|
||||||
jsr display_even ; 6
|
jmp display_even ; 3
|
||||||
jmp vblank ; 3
|
|
||||||
|
|
||||||
|
|
||||||
|
display_loop_return:
|
||||||
|
|
||||||
vblank:
|
vblank:
|
||||||
;======================================================
|
;======================================================
|
||||||
; We have 4550 cycles in the vblank, use them wisely
|
; We have 4550 cycles in the vblank, use them wisely
|
||||||
;======================================================
|
;======================================================
|
||||||
; do_nothing should be 4550
|
; do_nothing should be 4550
|
||||||
; -9 letfover from HBLANK code
|
; -3 letfover from HBLANK code
|
||||||
|
; ** -9
|
||||||
; -49 check for keypress
|
; -49 check for keypress
|
||||||
; -2252 copy screen
|
; -2252 copy screen
|
||||||
; -2231 draw sprite
|
; -2231 draw sprite
|
||||||
; =============
|
; =============
|
||||||
; 9 cycles
|
; 15 cycles
|
||||||
|
|
||||||
; jsr do_nothing ; 6
|
; jsr do_nothing ; 6
|
||||||
|
|
||||||
; 17 cycles
|
; 15 cycles
|
||||||
inc YPOS ; 5
|
inc YPOS ; 5
|
||||||
nop
|
nop ; 2
|
||||||
nop
|
nop ; 2
|
||||||
; inc YPOS ; 5
|
lda YPOS ; 3
|
||||||
; inc YPOS ; 5
|
lda YPOS ; 3
|
||||||
; nop ; 2
|
|
||||||
; nop ; 2
|
|
||||||
|
|
||||||
|
|
||||||
;=========================
|
;=========================
|
||||||
@ -492,6 +522,8 @@ clear_page_loop:
|
|||||||
bpl clear_page_loop
|
bpl clear_page_loop
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
.align $100
|
||||||
|
|
||||||
gr_offsets:
|
gr_offsets:
|
||||||
.word $400,$480,$500,$580,$600,$680,$700,$780
|
.word $400,$480,$500,$580,$600,$680,$700,$780
|
||||||
.word $428,$4a8,$528,$5a8,$628,$6a8,$728,$7a8
|
.word $428,$4a8,$528,$5a8,$628,$6a8,$728,$7a8
|
||||||
@ -499,6 +531,7 @@ gr_offsets:
|
|||||||
|
|
||||||
|
|
||||||
.include "../asm_routines/gr_unrle.s"
|
.include "../asm_routines/gr_unrle.s"
|
||||||
|
.align $100
|
||||||
.include "../asm_routines/keypress.s"
|
.include "../asm_routines/keypress.s"
|
||||||
.include "gr_copy.s"
|
.include "gr_copy.s"
|
||||||
.include "gr_unrolled_copy.s"
|
.include "gr_unrolled_copy.s"
|
||||||
@ -521,7 +554,7 @@ gr_offsets:
|
|||||||
; we come in already 21 cycles into things
|
; we come in already 21 cycles into things
|
||||||
; so the first scanline is a loss (but that's OK)
|
; so the first scanline is a loss (but that's OK)
|
||||||
|
|
||||||
; first scanline: 21+ 2 (from ldy) so need to kill 65-23 = 42
|
; first scanline: 39+ 2 (from ldy) so need to kill 65-41 = 24
|
||||||
; second scanline, again kill so 65 killed
|
; second scanline, again kill so 65 killed
|
||||||
|
|
||||||
display_odd:
|
display_odd:
|
||||||
@ -529,16 +562,19 @@ display_odd:
|
|||||||
odd_first_four_lines:
|
odd_first_four_lines:
|
||||||
|
|
||||||
; line 0
|
; line 0
|
||||||
; 21
|
; 18/ 21 / 39
|
||||||
ldy #4 ; 2
|
ldy #4 ; 2
|
||||||
|
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6*
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6*
|
||||||
|
asl DUMMY ; 6*
|
||||||
|
lda YPOS ; 3**
|
||||||
|
|
||||||
|
|
||||||
; line 1, 65 cycles
|
; line 1, 65 cycles
|
||||||
|
|
||||||
@ -855,6 +891,8 @@ ground_loop_odd_done:
|
|||||||
; 3
|
; 3
|
||||||
nop ; 2
|
nop ; 2
|
||||||
|
|
||||||
|
jmp display_loop_return ; 3
|
||||||
|
|
||||||
rts ; 6
|
rts ; 6
|
||||||
|
|
||||||
.align $100
|
.align $100
|
||||||
@ -880,10 +918,10 @@ even_first_four_lines:
|
|||||||
; 78+78+2+20 = 178
|
; 78+78+2+20 = 178
|
||||||
; 239 - 178 = 61 to kill
|
; 239 - 178 = 61 to kill
|
||||||
|
|
||||||
; come in with 21
|
; come in with 18
|
||||||
; 21
|
; 18
|
||||||
|
|
||||||
; kill 139
|
; kill 142
|
||||||
|
|
||||||
ldx #12 ; 2
|
ldx #12 ; 2
|
||||||
dummy_loop:
|
dummy_loop:
|
||||||
@ -891,10 +929,11 @@ dummy_loop:
|
|||||||
dex ; 2
|
dex ; 2
|
||||||
bne dummy_loop ; 3
|
bne dummy_loop ; 3
|
||||||
|
|
||||||
; 6 left over
|
; 9 left over
|
||||||
nop ;2
|
nop ;2
|
||||||
nop ;2
|
nop ;2
|
||||||
nop ; 2
|
nop ; 2
|
||||||
|
lda XPOS ; 3
|
||||||
|
|
||||||
; high = 5 + 12+ 3 = 20
|
; high = 5 + 12+ 3 = 20
|
||||||
; medium = 5 + 9 + 6 = 20
|
; medium = 5 + 9 + 6 = 20
|
||||||
@ -1213,5 +1252,700 @@ ground_loop_even_done:
|
|||||||
; 3
|
; 3
|
||||||
nop ; 2
|
nop ; 2
|
||||||
|
|
||||||
|
jmp display_loop_return ; 3
|
||||||
|
; rts ; 6
|
||||||
|
|
||||||
|
.align $100
|
||||||
|
|
||||||
|
;=================================
|
||||||
|
; Display 3
|
||||||
|
;=================================
|
||||||
|
; we have 65 cycles per line
|
||||||
|
; the first 25 are in hblank
|
||||||
|
; we come in already 21 cycles into things
|
||||||
|
; so the first scanline is a loss (but that's OK)
|
||||||
|
|
||||||
|
; first scanline: 21+ 2 (from ldy) so need to kill 65-23 = 42
|
||||||
|
; second scanline, again kill so 65 killed
|
||||||
|
|
||||||
|
display_three:
|
||||||
|
|
||||||
|
three_first_four_lines:
|
||||||
|
|
||||||
|
; line 0
|
||||||
|
; 21
|
||||||
|
ldy #4 ; 2
|
||||||
|
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
|
||||||
|
; line 1, 65 cycles
|
||||||
|
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
|
||||||
|
; line 2, 65 cycles
|
||||||
|
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
|
||||||
|
; line 3, 65 cycles
|
||||||
|
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
|
||||||
|
three_twinkle_stars:
|
||||||
|
|
||||||
|
twinkle_loop_three:
|
||||||
|
|
||||||
|
; line 0
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; endfalls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 2
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
; end falls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 3
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
; end falls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 4
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4 ; 44
|
||||||
|
; end falls
|
||||||
|
; delay 21 - 7 from loop
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
nop ; 2 ; 58
|
||||||
|
|
||||||
|
dey ; 2
|
||||||
|
beq twinkle_loop_three_done ;
|
||||||
|
; 2
|
||||||
|
jmp twinkle_loop_three ; 3
|
||||||
|
twinkle_loop_three_done:
|
||||||
|
|
||||||
|
ldy #31 ; 2
|
||||||
|
falls_loop_three:
|
||||||
|
|
||||||
|
; line 0
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; endfalls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 2
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; end falls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; end falls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 4
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4 ; 44
|
||||||
|
; end falls
|
||||||
|
; delay 21 - 7 from loop
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
nop ; 2 ; 58
|
||||||
|
|
||||||
|
dey ; 2
|
||||||
|
beq falls_loop_three_done ;
|
||||||
|
; 2
|
||||||
|
jmp falls_loop_three ; 3
|
||||||
|
falls_loop_three_done:
|
||||||
|
; 3
|
||||||
|
ldy #12 ; 2
|
||||||
|
|
||||||
|
ground_loop_three:
|
||||||
|
|
||||||
|
; line 0
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
; endfalls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 2
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; end falls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 3
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
; end falls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 4
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4 ; 44
|
||||||
|
; end falls
|
||||||
|
; delay 21 - 7 from loop
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
nop ; 2 ; 58
|
||||||
|
|
||||||
|
dey ; 2
|
||||||
|
beq ground_loop_three_done ;
|
||||||
|
; 2
|
||||||
|
jmp ground_loop_three ; 3
|
||||||
|
ground_loop_three_done:
|
||||||
|
|
||||||
|
|
||||||
|
; 3
|
||||||
|
nop ; 2
|
||||||
|
|
||||||
rts ; 6
|
rts ; 6
|
||||||
|
|
||||||
|
.align $100
|
||||||
|
|
||||||
|
;=================================
|
||||||
|
; Display Four
|
||||||
|
;=================================
|
||||||
|
; we have 65 cycles per line
|
||||||
|
; the first 25 are in hblank
|
||||||
|
; we come in already 21 cycles into things
|
||||||
|
; so the first scanline is a loss (but that's OK)
|
||||||
|
|
||||||
|
; first scanline: 21+ 2 (from ldy) so need to kill 65-23 = 42
|
||||||
|
; second scanline, again kill so 65 killed
|
||||||
|
|
||||||
|
display_four:
|
||||||
|
|
||||||
|
four_first_four_lines:
|
||||||
|
|
||||||
|
|
||||||
|
; line 0
|
||||||
|
; 21
|
||||||
|
ldy #4 ; 2
|
||||||
|
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
|
||||||
|
; line 1, 65 cycles
|
||||||
|
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
|
||||||
|
; line 2, 65 cycles
|
||||||
|
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
|
||||||
|
; line 3, 65 cycles
|
||||||
|
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
|
||||||
|
four_twinkle_stars:
|
||||||
|
|
||||||
|
twinkle_loop_four:
|
||||||
|
|
||||||
|
; line 0
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; endfalls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 2
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; end falls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; end falls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 4
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4 ; 44
|
||||||
|
; end falls
|
||||||
|
; delay 21 - 7 from loop
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
nop ; 2 ; 58
|
||||||
|
|
||||||
|
dey ; 2
|
||||||
|
beq twinkle_loop_four_done ;
|
||||||
|
; 2
|
||||||
|
jmp twinkle_loop_four ; 3
|
||||||
|
twinkle_loop_four_done:
|
||||||
|
|
||||||
|
ldy #31 ; 2
|
||||||
|
falls_loop_four:
|
||||||
|
|
||||||
|
; line 0
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; endfalls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 2
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; end falls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; end falls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 4
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4 ; 44
|
||||||
|
; end falls
|
||||||
|
; delay 21 - 7 from loop
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
nop ; 2 ; 58
|
||||||
|
|
||||||
|
dey ; 2
|
||||||
|
beq falls_loop_four_done ;
|
||||||
|
; 2
|
||||||
|
jmp falls_loop_four ; 3
|
||||||
|
falls_loop_four_done:
|
||||||
|
; 3
|
||||||
|
ldy #12 ; 2
|
||||||
|
|
||||||
|
ground_loop_four:
|
||||||
|
|
||||||
|
; line 0
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; endfalls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 2
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
; end falls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; end falls
|
||||||
|
; delay 21
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
|
||||||
|
; line 4
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
; delay 29
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
lda YPOS ; 3
|
||||||
|
nop ; 2
|
||||||
|
; falls
|
||||||
|
bit PAGE1 ; 4
|
||||||
|
lda YPOS ; 3
|
||||||
|
bit PAGE1 ; 4 ; 44
|
||||||
|
; end falls
|
||||||
|
; delay 21 - 7 from loop
|
||||||
|
asl DUMMY ; 6
|
||||||
|
asl DUMMY ; 6
|
||||||
|
nop ; 2 ; 58
|
||||||
|
|
||||||
|
dey ; 2
|
||||||
|
beq ground_loop_four_done ;
|
||||||
|
; 2
|
||||||
|
jmp ground_loop_four ; 3
|
||||||
|
ground_loop_four_done:
|
||||||
|
|
||||||
|
|
||||||
|
; 3
|
||||||
|
nop ; 2
|
||||||
|
|
||||||
|
rts ; 6
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user