mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-27 02:31:00 +00:00
waterfall: more code condensing
This commit is contained in:
parent
226b19808c
commit
24f1cd4c57
@ -1063,375 +1063,169 @@ ground_loop_three_done:
|
|||||||
; 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
|
|
||||||
; second scanline, again kill so 65 killed
|
|
||||||
|
|
||||||
display_four:
|
display_four:
|
||||||
|
|
||||||
|
; first scanline comes in with 38
|
||||||
|
|
||||||
four_first_four_lines:
|
four_first_four_lines:
|
||||||
|
; line 0-3 = 65*4 = 260
|
||||||
|
; -38
|
||||||
|
; -2
|
||||||
|
; -2
|
||||||
|
; -25
|
||||||
|
;=========================
|
||||||
|
; 193
|
||||||
|
|
||||||
|
lda #193 ; 2
|
||||||
|
jsr delay_a ; 25+193
|
||||||
|
|
||||||
; line 0
|
ldy #4 ; 2
|
||||||
; 38
|
|
||||||
ldy #4 ; 2
|
|
||||||
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
nop ; 2
|
|
||||||
nop ; 2
|
|
||||||
|
|
||||||
|
|
||||||
; 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:
|
four_twinkle_stars:
|
||||||
|
|
||||||
twinkle_loop_four:
|
twinkle_loop_four:
|
||||||
|
|
||||||
; line 0
|
;=== line 0
|
||||||
bit PAGE1 ; 4
|
bit PAGE1 ; 4
|
||||||
; delay 29
|
lda #34 ; 2
|
||||||
asl DUMMY ; 6
|
jsr delay_a ; 25+34
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
nop ; 2
|
|
||||||
nop
|
|
||||||
; falls
|
|
||||||
bit PAGE1 ; 4
|
|
||||||
lda YPOS ; 3
|
|
||||||
bit PAGE1 ; 4
|
|
||||||
; endfalls
|
|
||||||
; delay 21
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
; asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
|
|
||||||
; line 2
|
;=== line 1
|
||||||
bit PAGE1 ; 4
|
bit PAGE1 ; 4
|
||||||
; delay 29
|
lda #34 ; 2
|
||||||
asl DUMMY ; 6
|
jsr delay_a ; 25+34
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
nop ; 2
|
|
||||||
nop
|
|
||||||
; falls
|
|
||||||
bit PAGE1 ; 4
|
|
||||||
lda YPOS ; 3
|
|
||||||
bit PAGE1 ; 4
|
|
||||||
; end falls
|
|
||||||
; delay 21
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
; asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
|
|
||||||
; line 3
|
;=== line 2
|
||||||
bit PAGE1 ; 4
|
bit PAGE1 ; 4
|
||||||
; delay 29
|
lda #34 ; 2
|
||||||
asl DUMMY ; 6
|
jsr delay_a ; 25+34
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
nop ; 2
|
|
||||||
nop
|
|
||||||
; falls
|
|
||||||
bit PAGE1 ; 4
|
|
||||||
lda YPOS ; 3
|
|
||||||
bit PAGE1 ; 4
|
|
||||||
; end falls
|
|
||||||
; delay 21
|
|
||||||
; asl DUMMY ; 6
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
|
|
||||||
; line 4
|
|
||||||
|
;=== line 3
|
||||||
bit PAGE1 ; 4
|
bit PAGE1 ; 4
|
||||||
; delay 29
|
lda #27 ; 2
|
||||||
asl DUMMY ; 6
|
jsr delay_a ; 25+27
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
nop ; 2
|
|
||||||
nop
|
|
||||||
; falls
|
|
||||||
bit PAGE1 ; 4
|
|
||||||
lda YPOS ; 3
|
|
||||||
bit PAGE1 ; 4 ; 44
|
|
||||||
; end falls
|
|
||||||
; delay 21 - 7 from loop
|
|
||||||
; asl DUMMY ; 6
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
asl DUMMY ; 6
|
|
||||||
nop ; 2 ; 58
|
|
||||||
|
|
||||||
dey ; 2
|
dey ; 2
|
||||||
beq twinkle_loop_four_done ;
|
beq twinkle_loop_four_done ; 3
|
||||||
; 2
|
; -1
|
||||||
jmp twinkle_loop_four ; 3
|
jmp twinkle_loop_four ; 3
|
||||||
twinkle_loop_four_done:
|
twinkle_loop_four_done:
|
||||||
|
|
||||||
ldy #31 ; 2
|
ldy #31 ; 2
|
||||||
falls_loop_four:
|
falls_loop_four:
|
||||||
|
|
||||||
; line 0
|
;=== line 0
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
; delay 31
|
||||||
|
lda #4 ; 2
|
||||||
|
jsr delay_a ; 25+4
|
||||||
|
|
||||||
|
; delay 11
|
||||||
bit PAGE0 ; 4
|
bit PAGE0 ; 4
|
||||||
; delay 29
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
lda YPOS ; 3
|
||||||
|
bit PAGE0 ; 4
|
||||||
|
|
||||||
|
; delay 19
|
||||||
|
nop ; 2
|
||||||
nop ; 2
|
nop ; 2
|
||||||
nop
|
|
||||||
; falls
|
|
||||||
bit PAGE0 ; 4
|
|
||||||
lda YPOS ; 3
|
|
||||||
bit PAGE0 ; 4
|
|
||||||
; endfalls
|
|
||||||
; delay 21
|
|
||||||
; asl DUMMY ; 6
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6
|
||||||
lda YPOS ; 3
|
lda YPOS ; 3
|
||||||
|
|
||||||
; line 2
|
;=== line 1
|
||||||
bit PAGE0 ; 4
|
bit PAGE0 ; 4
|
||||||
; delay 29
|
; delay 31
|
||||||
asl DUMMY ; 6
|
lda #4 ; 2
|
||||||
asl DUMMY ; 6
|
jsr delay_a ; 25+4
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
; delay 11
|
||||||
lda YPOS ; 3
|
|
||||||
nop ; 2
|
|
||||||
nop
|
|
||||||
; falls
|
|
||||||
bit PAGE1 ; 4
|
bit PAGE1 ; 4
|
||||||
lda YPOS ; 3
|
lda YPOS ; 3
|
||||||
bit PAGE0 ; 4
|
bit PAGE0 ; 4
|
||||||
; end falls
|
|
||||||
; delay 21
|
; delay 19
|
||||||
nop
|
nop ; 2
|
||||||
nop
|
nop ; 2
|
||||||
; asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6
|
||||||
lda YPOS ; 3
|
lda YPOS ; 3
|
||||||
|
|
||||||
; line 3
|
;=== line 2
|
||||||
bit PAGE0 ; 4
|
bit PAGE0 ; 4
|
||||||
; delay 29
|
; delay 31
|
||||||
asl DUMMY ; 6
|
lda #4 ; 2
|
||||||
asl DUMMY ; 6
|
jsr delay_a ; 25+4
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
; delay 11
|
||||||
lda YPOS ; 3
|
|
||||||
nop ; 2
|
|
||||||
nop
|
|
||||||
; falls
|
|
||||||
bit PAGE1 ; 4
|
bit PAGE1 ; 4
|
||||||
lda YPOS ; 3
|
lda YPOS ; 3
|
||||||
bit PAGE0 ; 4
|
bit PAGE0 ; 4
|
||||||
; end falls
|
|
||||||
; delay 21
|
; delay 19
|
||||||
; asl DUMMY ; 6
|
nop ; 2
|
||||||
nop
|
nop ; 2
|
||||||
nop
|
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6
|
||||||
lda YPOS ; 3
|
lda YPOS ; 3
|
||||||
|
|
||||||
; line 4
|
;=== line 3
|
||||||
bit PAGE0 ; 4
|
bit PAGE0 ; 4
|
||||||
; delay 29
|
; delay 31
|
||||||
asl DUMMY ; 6
|
lda #4 ; 2
|
||||||
asl DUMMY ; 6
|
jsr delay_a ; 25+4
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
; delay 11
|
||||||
lda YPOS ; 3
|
|
||||||
nop ; 2
|
|
||||||
nop
|
|
||||||
; falls
|
|
||||||
bit PAGE0 ; 4
|
bit PAGE0 ; 4
|
||||||
lda YPOS ; 3
|
lda YPOS ; 3
|
||||||
bit PAGE0 ; 4 ; 44
|
bit PAGE0 ; 4 ; 44
|
||||||
; end falls
|
|
||||||
; delay 21 - 7 from loop
|
; delay 21 - 7 from loop
|
||||||
; asl DUMMY ; 6
|
nop ; 2
|
||||||
nop
|
nop ; 2
|
||||||
nop
|
|
||||||
asl DUMMY ; 6
|
asl DUMMY ; 6
|
||||||
nop ; 2 ; 58
|
nop ; 2 ; 58
|
||||||
|
|
||||||
dey ; 2
|
dey ; 2
|
||||||
beq falls_loop_four_done ;
|
beq falls_loop_four_done ; 3
|
||||||
; 2
|
; -1
|
||||||
jmp falls_loop_four ; 3
|
jmp falls_loop_four ; 3
|
||||||
falls_loop_four_done:
|
falls_loop_four_done:
|
||||||
; 3
|
|
||||||
ldy #12 ; 2
|
ldy #12 ; 2
|
||||||
|
|
||||||
ground_loop_four:
|
ground_loop_four:
|
||||||
|
|
||||||
; line 0
|
;=== line 0
|
||||||
bit PAGE0 ; 4
|
bit PAGE0 ; 4
|
||||||
; delay 29
|
; delay 61
|
||||||
asl DUMMY ; 6
|
lda #34 ; 2
|
||||||
asl DUMMY ; 6
|
jsr delay_a ; 25+34
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
nop ; 2
|
|
||||||
nop
|
|
||||||
; falls
|
|
||||||
bit PAGE0 ; 4
|
|
||||||
lda YPOS ; 3
|
|
||||||
bit PAGE0 ; 4
|
|
||||||
; endfalls
|
|
||||||
; delay 21
|
|
||||||
; asl DUMMY ; 6
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
|
|
||||||
; line 2
|
;=== line 1
|
||||||
bit PAGE1 ; 4
|
bit PAGE1 ; 4
|
||||||
; delay 29
|
; delay 61
|
||||||
asl DUMMY ; 6
|
lda #34 ; 2
|
||||||
asl DUMMY ; 6
|
jsr delay_a ; 25+34
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
nop ; 2
|
|
||||||
nop
|
|
||||||
; falls
|
|
||||||
bit PAGE1 ; 4
|
|
||||||
lda YPOS ; 3
|
|
||||||
bit PAGE1 ; 4
|
|
||||||
; end falls
|
|
||||||
; delay 21
|
|
||||||
; asl DUMMY ; 6
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
|
|
||||||
; line 3
|
;=== line 2
|
||||||
bit PAGE0 ; 4
|
bit PAGE0 ; 4
|
||||||
; delay 29
|
; delay 61
|
||||||
asl DUMMY ; 6
|
lda #34 ; 2
|
||||||
asl DUMMY ; 6
|
jsr delay_a ; 25+34
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
nop ; 2
|
|
||||||
nop
|
|
||||||
; falls
|
|
||||||
bit PAGE0 ; 4
|
|
||||||
lda YPOS ; 3
|
|
||||||
bit PAGE0 ; 4
|
|
||||||
; end falls
|
|
||||||
; delay 21
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
; asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
|
|
||||||
; line 4
|
|
||||||
|
;=== line 3
|
||||||
bit PAGE1 ; 4
|
bit PAGE1 ; 4
|
||||||
; delay 29
|
; delay 54
|
||||||
asl DUMMY ; 6
|
lda #27 ; 2
|
||||||
asl DUMMY ; 6
|
jsr delay_a ; 25+27
|
||||||
asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
lda YPOS ; 3
|
|
||||||
nop ; 2
|
|
||||||
nop
|
|
||||||
; falls
|
|
||||||
bit PAGE1 ; 4
|
|
||||||
lda YPOS ; 3
|
|
||||||
bit PAGE1 ; 4 ; 44
|
|
||||||
; end falls
|
|
||||||
; delay 21 - 7 from loop
|
|
||||||
nop
|
|
||||||
nop
|
|
||||||
; asl DUMMY ; 6
|
|
||||||
asl DUMMY ; 6
|
|
||||||
nop ; 2 ; 58
|
|
||||||
|
|
||||||
dey ; 2
|
dey ; 2
|
||||||
beq ground_loop_four_done ;
|
beq ground_loop_four_done ; 3
|
||||||
; 2
|
; -1
|
||||||
jmp ground_loop_four ; 3
|
jmp ground_loop_four ; 3
|
||||||
ground_loop_four_done:
|
ground_loop_four_done:
|
||||||
|
|
||||||
|
|
||||||
; 3
|
|
||||||
nop ; 2
|
nop ; 2
|
||||||
|
|
||||||
jmp display_loop_return ; 3
|
jmp display_loop_return ; 3
|
||||||
|
Loading…
Reference in New Issue
Block a user