ootw: ending: split off credits

This commit is contained in:
Vince Weaver 2021-04-05 17:32:24 -04:00
parent f6989ac708
commit f962f89842
2 changed files with 165 additions and 209 deletions

151
games/ootw/ending/credits.s Normal file
View File

@ -0,0 +1,151 @@
;======================
; scroll credits
;======================
end_credits:
;
;
; 0@24
; 0@23,1@24
; 0@22,1@23,2@24...
; 0@0...
ldx #46
scroll_loop:
jsr HOME
ldy #0
stx XPOS
print_loop:
lda credit_list,Y
sta OUTL
lda credit_list+1,Y
sta OUTH
tya
pha
ldy XPOS
jsr gotoy
jsr print_string
pla
tay
iny
iny
inc XPOS
inc XPOS
lda XPOS
cmp #48
bne print_loop
txa
pha
ldx #20
jsr long_wait
pla
tax
dex
dex
bpl scroll_loop
ldx #200
jsr long_wait
jsr HOME
bit KEYRESET
;======================
; print end message
;======================
lda #0
sta DRAW_PAGE
lda #<end_message
sta OUTL
lda #>end_message
sta OUTH
jsr move_and_print
rts
; 0123456789012345678901234567890123456789
; DESIGNED BY ..... ERIC CHAHI
;
; ARTWORK ......... ERIC CHAHI
;
; MUSIC BY ........ JEAN-FRANCOIS FREITAS
;
; SOUND EFFECTS
; JEAN-FRANCOIS FREITAS
; ERIC CHAHI
;
; APPLE II PORT
; VINCE WEAVER
;
; APPLE ][ FOREVER
credits0:.byte "",0
credits1:.byte " DESIGNED BY ..... ERIC CHAHI",0
credits2:.byte "",0
credits3:.byte " ARTWORK ......... ERIC CHAHI",0
credits4:.byte "",0
credits5:.byte " MUSIC BY ........ JEAN-FRANCOIS FREITAS",0
credits6:.byte "",0
credits7:.byte " SOUND EFFECTS",0
credits8:.byte " JEAN-FRANCOIS FREITAS",0
credits9:.byte " ERIC CHAHI",0
credits10:.byte "",0
credits11:.byte " APPLE II+ PORT",0
credits12:.byte " VINCE WEAVER",0
credits13:.byte "",0
credits14:.byte " APPLE ][ FOREVER",0
credit_list:
.word credits0 ; 0
.word credits0 ; 1
.word credits0 ; 2
.word credits1 ; 3
.word credits2 ; 4
.word credits3 ; 5
.word credits4 ; 6
.word credits5 ; 7
.word credits6 ; 8
.word credits0 ; 9
.word credits7 ; 10
.word credits8 ; 11
.word credits9 ; 12
.word credits10 ; 13
.word credits11 ; 14
.word credits12 ; 16
.word credits0 ; 15
.word credits0 ; 18
.word credits13 ; 17
.word credits14 ; 19
.word credits0 ; 20
.word credits0 ; 21
.word credits0 ; 22
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

@ -59,7 +59,6 @@ mockingboard_notfound:
sta cli_smc sta cli_smc
sta sei_smc sta sei_smc
done_setup_sound: done_setup_sound:
repeat_ending: repeat_ending:
@ -73,80 +72,20 @@ repeat_ending:
bit FULLGR bit FULLGR
bit KEYRESET bit KEYRESET
;=========================== ;=================================
; Setup pages (is this necessary?) ; Setup pages (is this necessary?)
;=========================== ;=================================
lda #0 ; lda #0
sta DRAW_PAGE ; sta DRAW_PAGE
lda #1 ; lda #1
sta DISP_PAGE ; sta DISP_PAGE
;===========================
; show some pictures
;============================
;==================
; bath
;==================
; lda #>(bath_lzsa)
; sta getsrc_smc+2 ; LZSA_SRC_HI
; lda #<(bath_lzsa)
; sta getsrc_smc+1 ; LZSA_SRC_LO
; lda #$c ; load image off-screen $c00
; jsr decompress_lzsa2_fast
; jsr gr_copy_to_current
; jsr page_flip
; jsr wait_until_keypressed
;==================
; battle
;==================
; lda #>(battle_lzsa)
; sta getsrc_smc+2 ; LZSA_SRC_HI
; lda #<(battle_lzsa)
; sta getsrc_smc+1 ; LZSA_SRC_LO
; lda #$c ; load image off-screen $c00
; jsr decompress_lzsa2_fast
; jsr gr_copy_to_current
; jsr page_flip
; jsr wait_until_keypressed
;==================
; grabbed
;==================
; lda #>(grabbed_lzsa)
; sta getsrc_smc+2 ; LZSA_SRC_HI
; lda #<(grabbed_lzsa)
; sta getsrc_smc+1 ; LZSA_SRC_LO
; lda #$c ; load image off-screen $c00
; jsr decompress_lzsa2_fast
; jsr gr_copy_to_current
; jsr page_flip
; jsr wait_until_keypressed
;=========================== ;===========================
; ending sequence ; ending sequence
;============================ ;============================
;========================= ;=========================
; set up bg ; set up bg
;========================= ;=========================
@ -174,7 +113,9 @@ repeat_ending:
; jsr wait_until_keypressed ; jsr wait_until_keypressed
;============
; start music ; start music
;============
cli_smc: cli_smc:
cli ; enable interrupts cli ; enable interrupts
@ -653,80 +594,13 @@ quit_level:
; scroll credits ; scroll credits
;====================== ;======================
; jsr end_credits
;
; 0@24
; 0@23,1@24
; 0@22,1@23,2@24...
; 0@0...
ldx #46
scroll_loop:
jsr HOME
ldy #0
stx XPOS
print_loop:
lda credit_list,Y
sta OUTL
lda credit_list+1,Y
sta OUTH
tya
pha
ldy XPOS
jsr gotoy
jsr print_string
pla
tay
iny
iny
inc XPOS
inc XPOS
lda XPOS
cmp #48
bne print_loop
txa
pha
ldx #20
jsr long_wait
pla
tax
dex
dex
bpl scroll_loop
ldx #200
jsr long_wait
jsr HOME
bit KEYRESET
;====================== ;======================
; print end message ; wait before rebooting
;====================== ;======================
lda #0
sta DRAW_PAGE
lda #<end_message
sta OUTL
lda #>end_message
sta OUTH
jsr move_and_print
; wait wait wait ; wait wait wait
jsr wait_until_keypressed jsr wait_until_keypressed
@ -746,74 +620,6 @@ sei_smc:
; jmp repeat_ending ; jmp repeat_ending
; 0123456789012345678901234567890123456789
; DESIGNED BY ..... ERIC CHAHI
;
; ARTWORK ......... ERIC CHAHI
;
; MUSIC BY ........ JEAN-FRANCOIS FREITAS
;
; SOUND EFFECTS
; JEAN-FRANCOIS FREITAS
; ERIC CHAHI
;
; APPLE II PORT
; VINCE WEAVER
;
; APPLE ][ FOREVER
credits0:.byte "",0
credits1:.byte " DESIGNED BY ..... ERIC CHAHI",0
credits2:.byte "",0
credits3:.byte " ARTWORK ......... ERIC CHAHI",0
credits4:.byte "",0
credits5:.byte " MUSIC BY ........ JEAN-FRANCOIS FREITAS",0
credits6:.byte "",0
credits7:.byte " SOUND EFFECTS",0
credits8:.byte " JEAN-FRANCOIS FREITAS",0
credits9:.byte " ERIC CHAHI",0
credits10:.byte "",0
credits11:.byte " APPLE II+ PORT",0
credits12:.byte " VINCE WEAVER",0
credits13:.byte "",0
credits14:.byte " APPLE ][ FOREVER",0
credit_list:
.word credits0 ; 0
.word credits0 ; 1
.word credits0 ; 2
.word credits1 ; 3
.word credits2 ; 4
.word credits3 ; 5
.word credits4 ; 6
.word credits5 ; 7
.word credits6 ; 8
.word credits0 ; 9
.word credits7 ; 10
.word credits8 ; 11
.word credits9 ; 12
.word credits10 ; 13
.word credits11 ; 14
.word credits12 ; 16
.word credits0 ; 15
.word credits0 ; 18
.word credits13 ; 17
.word credits14 ; 19
.word credits0 ; 20
.word credits0 ; 21
.word credits0 ; 22
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
;====================== ;======================
; wait until keypressed ; wait until keypressed
@ -838,6 +644,8 @@ long_wait:
rts rts
.include "credits.s"
.include "../text_print.s" .include "../text_print.s"
.include "../gr_pageflip.s" .include "../gr_pageflip.s"
@ -853,10 +661,7 @@ long_wait:
.include "../pt3_player/pt3_lib_mockingboard_detect.s" .include "../pt3_player/pt3_lib_mockingboard_detect.s"
.include "../pt3_player/pt3_lib_mockingboard_setup.s" .include "../pt3_player/pt3_lib_mockingboard_setup.s"
; backgrounds ; backgrounds
;.include "ootw_graphics/l15final/ootw_c15_final.inc"
.include "graphics/ending/ootw_c16_end.inc" .include "graphics/ending/ootw_c16_end.inc"
PT3_LOC = song PT3_LOC = song