waterfall: more reduction

This commit is contained in:
Vince Weaver 2018-10-04 19:53:27 -04:00
parent 36cf2fdc0a
commit 226b19808c

View File

@ -838,8 +838,6 @@ three_first_four_lines:
; we do mockingboard here ; we do mockingboard here
; we have 222 cycles (65*4 = 260 - 38 = 222) ; we have 222 cycles (65*4 = 260 - 38 = 222)
; 38 ; 38
; come in with 38 ; come in with 38
; 222 - 100 = 122 to kill ; 222 - 100 = 122 to kill
@ -913,304 +911,143 @@ twinkle_loop_three:
; line 0 ; line 0
bit PAGE0 ; 4 bit PAGE0 ; 4
; delay 29 lda #34 ; 2
asl DUMMY ; 6 jsr delay_a ; 25+34
asl DUMMY ; 6 ; line 1
asl DUMMY ; 6 bit PAGE1 ; 4
asl DUMMY ; 6 lda #34 ; 2
lda YPOS ; 3 jsr delay_a ; 25+34
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 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 3
bit PAGE1 ; 4
; delay 29
asl DUMMY ; 6
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 4
bit PAGE0 ; 4 bit PAGE0 ; 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 PAGE0 ; 4
lda YPOS ; 3
bit PAGE0 ; 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 twinkle_loop_three_done ; beq twinkle_loop_three_done ; 3
; 2 ; -1
jmp twinkle_loop_three ; 3 jmp twinkle_loop_three ; 3
twinkle_loop_three_done: twinkle_loop_three_done:
ldy #31 ; 2 ldy #31 ; 2
falls_loop_three: falls_loop_three:
; line 0 ;=== line 0
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
; endfalls
; 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 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
nop nop
; 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
; 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
; end falls
; delay 21
nop
nop
; asl DUMMY ; 6
asl DUMMY ; 6 asl DUMMY ; 6
asl DUMMY ; 6 asl DUMMY ; 6
lda YPOS ; 3 lda YPOS ; 3
; line 4 ;=== line 4
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
nop nop ; 2
nop nop ; 2
; asl DUMMY ; 6
asl DUMMY ; 6 asl DUMMY ; 6
nop ; 2 ; 58 nop ; 2 ; 58
dey ; 2 dey ; 2
beq falls_loop_three_done ; beq falls_loop_three_done ; 3
; 2 ; -1
jmp falls_loop_three ; 3 jmp falls_loop_three ; 3
falls_loop_three_done: falls_loop_three_done:
; 3
ldy #12 ; 2 ldy #12 ; 2
ground_loop_three: ground_loop_three:
; line 0 ;=== line 0
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
; endfalls
; delay 21
nop
nop
; asl DUMMY ; 6
asl DUMMY ; 6
asl DUMMY ; 6
lda YPOS ; 3
; line 2 ;=== line 1
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 3 ;=== line 2
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
nop
nop
; asl DUMMY ; 6
asl DUMMY ; 6
asl DUMMY ; 6
lda YPOS ; 3
; line 4 ;=== line 3
bit PAGE0 ; 4 bit PAGE0 ; 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 PAGE0 ; 4
lda YPOS ; 3
bit PAGE0 ; 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_three_done ; beq ground_loop_three_done ; 3
; 2 ; -1
jmp ground_loop_three ; 3 jmp ground_loop_three ; 3
ground_loop_three_done: ground_loop_three_done:
; 3
nop ; 2 nop ; 2
jmp display_loop_return ; 3 jmp display_loop_return ; 3