improve scroll sequence incorporating credits

This commit is contained in:
Dagen Brock 2012-12-02 11:10:55 -06:00
parent 60afd0d334
commit b30c6e9571

101
festro.s
View File

@ -42,7 +42,7 @@ DemoMain
DemoSubroutineTable DemoSubroutineTable
dw HandleProdrop dw HandleProdrop
dw HandleDigawrite * dw HandleDigawrite
dw HandleShortWait dw HandleShortWait
dw HandleStarScroll dw HandleStarScroll
dw HandleProdrop dw HandleProdrop
@ -82,19 +82,66 @@ DemoSubroutineTable
dw P8Quit dw P8Quit
HandleStarScroll HandleStarScroll
_defaultStarSpeed equ #$10
lda #$1e lda #$1e
:slowing ldx #5 :speedUp ldx #5
pha pha
jsr StarScrollAuto jsr StarScrollAuto
pla pla
dec dec
cmp #$14 cmp #_defaultStarSpeed
bne :slowing bne :speedUp
lda #$14 * full speed
ldx #50
lda #_defaultStarSpeed
jsr StarScrollAuto jsr StarScrollAuto
ldx #55
lda #$14 * --- diga
ldx #$0
:loop phx
lda #_defaultStarSpeed ; waitfirst
jsr SimplerWait
jsr ScrollLeft
jsr GenStarRight
plx
lda _digawriteString,x
beq :digawriteDone ; done (zero terminated string)
sta Lo12+39
inx
bra :loop
* slow down?
:digawriteDone
lda #_defaultStarSpeed
:slowDown ldx #1
pha
jsr StarScrollAuto jsr StarScrollAuto
pla
inc
inc
inc
inc
cmp #7*4+#_defaultStarSpeed
bne :slowDown
lda #$50
jsr SimplerWait
* speed up again
lda #$1e
:speedUpAgain ldx #5
pha
jsr StarScrollAuto
pla
dec
cmp #_defaultStarSpeed
bne :speedUpAgain ;)
ldx #50
lda #_defaultStarSpeed
jsr StarScrollAuto
* second loop inserts planet * second loop inserts planet
ldx #EarthTextWidth ldx #EarthTextWidth
:loop2 phx :loop2 phx
@ -103,29 +150,23 @@ HandleStarScroll
lda _earthOffset lda _earthOffset
jsr DrawEarthLine jsr DrawEarthLine
inc _earthOffset inc _earthOffset
lda #$14 lda #_defaultStarSpeed
tax jsr SimplerWait
tay
jsr SimpleWait
plx plx
dex dex
bne :loop2 bne :loop2
* third loop scrolls onto screen more * third loop scrolls onto screen more
ldx #$05 lda #_defaultStarSpeed
:loop3 phx :slowDownAgain ldx #1
jsr ScrollLeft pha
lda #$14 jsr StarScrollAuto
tax pla
tay inc
jsr SimpleWait inc
plx cmp #$24
dex bne :slowDownAgain ; i take my varibls srs
bne :loop3 lda #$25
jsr SimplerWait
lda #$64
tax
tay
jsr SimpleWait
inc GDemoState inc GDemoState
jmp DemoMain jmp DemoMain
@ -138,9 +179,7 @@ StarScrollAuto
jsr ScrollLeft jsr ScrollLeft
jsr GenStarRight jsr GenStarRight
lda _starScrollAutoWait lda _starScrollAutoWait
tax jsr SimplerWait
tay
jsr SimpleWait
plx plx
dex dex
bne :loop bne :loop
@ -1418,6 +1457,10 @@ DrawBufFullScreen
* SafeWait * SafeWait
* -silly triple loop, preserves AXY * -silly triple loop, preserves AXY
************************************************** **************************************************
SimplerWait tax
tay
jsr SimpleWait
rts
SimpleWait SimpleWait
sta _waitA sta _waitA
stx _waitX stx _waitX