ootw: ending: mess with credits timing

This commit is contained in:
Vince Weaver 2021-04-18 00:01:38 -04:00
parent afabe4a2f2
commit 9b1be9508c
2 changed files with 78 additions and 40 deletions

View File

@ -4,21 +4,32 @@
end_credits:
;
;
lda KEYRESET
bit SET_TEXT ; switch to text mode
; 0@24
; 0@23,1@24
; 0@22,1@23,2@24...
; 0@0...
; clear to space
lda #$a0
sta clear_all_color+1
; X is starting YPOS to print at
ldx #46
scroll_loop:
jsr HOME
; jsr HOME
jsr clear_all ; trashes A,Y
ldy #0
stx XPOS
stx XPOS ; X is YPOS to print at
print_loop:
lda credit_list,Y
@ -29,34 +40,68 @@ print_loop:
tya
pha
ldy XPOS
jsr gotoy
ldy XPOS ; YPOS on screen
;============================
; set BASL/BASH to offset w Y
lda gr_offsets,Y
sta BASL
lda gr_offsets+1,Y
clc
adc DRAW_PAGE
sta BASH
;============================
; print the string
jsr print_string
pla
tay
iny
iny ; move to next line
iny
inc XPOS
inc XPOS
lda XPOS
cmp #48
cmp #48 ; if off screen, don't print
bne print_loop
;====================
; done printing
jsr page_flip ; flip to page
;====================
; delay a bit
txa
pha
ldx #20
jsr long_wait
ldx #40 ; time to sleep (X*10ms)
jsr long_wait ; trashes A,X
pla
tax
;===================
; scroll
dex
dex
bpl scroll_loop
;============================================
; actual games pauses 10s, then scrolls again
;============================================
; delay 6s?
ldx #200
jsr long_wait
ldx #200
jsr long_wait
ldx #200
jsr long_wait
@ -140,12 +185,5 @@ credit_list:
end_message:
.byte 6,10,"NOW GO BACK TO ANOTHER EARTH",0
;============================
; set BASL/BASH to offset w Y
gotoy:
lda gr_offsets,Y
sta BASL
lda gr_offsets+1,Y
sta BASH
rts

View File

@ -132,10 +132,10 @@ cli_smc:
; credits
;===========================
quit_level:
jsr TEXT
jsr HOME
lda KEYRESET ; clear strobe
;quit_level:
; jsr TEXT
; jsr HOME
; lda KEYRESET ; clear strobe
;======================
; scroll credits
@ -233,24 +233,24 @@ pickup_sequence:
wing_sequence:
.byte 255 ; load to bg
.word wing_bg_lzsa ; this
.byte 128+50 ; .word left_unfurl1_lzsa ; 31.06-
.byte 128+30 ; .word left_unfurl2_lzsa ; 31.20-
.byte 128+30 ; .word left_unfurl3_lzsa ; 31.23-
.byte 128+30 ; .word left_unfurl4_lzsa ; 32.01-
.byte 128+30 ; .word left_unfurl5_lzsa ; 32.03-
.byte 128+50 ; .word right_unfurl1_lzsa ; 33.01-
.byte 128+30 ; .word right_unfurl2_lzsa ; 33.04-
.byte 128+30 ; .word right_unfurl3_lzsa ; 33.06-
.byte 128+30 ; .word right_unfurl4_lzsa ; 33.09-
.byte 128+30 ; .word right_unfurl5_lzsa ; 33.12-
.byte 128+20 ; .word onboard01_lzsa ; 34.15-
.byte 128+20 ; .word onboard02_lzsa ; 34.18-
.byte 128+20 ; .word onboard03_lzsa ; 34.21-
.byte 128+20 ; .word onboard04_lzsa ; 34.24-
.byte 128+20 ; .word onboard05_lzsa ; 35.01-
.byte 128+20 ; .word onboard06_lzsa ; 35.04-
.byte 128+20 ; .word onboard07_lzsa ; 35.07-
.byte 128+20 ; .word onboard08_lzsa ; 35.10-
.byte 128+50 ; .word left_unfurl1_lzsa ; 31.06 (14)
.byte 128+11 ; .word left_unfurl2_lzsa ; 31.20 (3)
.byte 128+11 ; .word left_unfurl3_lzsa ; 31.23 (3)
.byte 128+11 ; .word left_unfurl4_lzsa ; 32.01 (2)
.byte 128+100 ; .word left_unfurl5_lzsa ; 32.03 (27)
.byte 128+11 ; .word right_unfurl1_lzsa ; 33.01 (3)
.byte 128+11 ; .word right_unfurl2_lzsa ; 33.04 (2)
.byte 128+11 ; .word right_unfurl3_lzsa ; 33.06 (3)
.byte 128+11 ; .word right_unfurl4_lzsa ; 33.09 (3)
.byte 128+100 ; .word right_unfurl5_lzsa ; 33.12 (27)
.byte 128+11 ; .word onboard01_lzsa ; 34.15 (3)
.byte 128+11 ; .word onboard02_lzsa ; 34.18 (3)
.byte 128+11 ; .word onboard03_lzsa ; 34.21 (3)
.byte 128+11 ; .word onboard04_lzsa ; 34.24 (3)
.byte 128+11 ; .word onboard05_lzsa ; 35.01 (2)
.byte 128+11 ; .word onboard06_lzsa ; 35.04 (3)
.byte 128+11 ; .word onboard07_lzsa ; 35.07 (3)
.byte 128+11 ; .word onboard08_lzsa ; 35.10 (2)
.byte 0 ; 35.12-
flying_sequence: