trogdor: re-arrange load times

This commit is contained in:
Vince Weaver 2024-01-29 21:54:18 -05:00
parent 66e9e04d39
commit efd07a89ef
2 changed files with 138 additions and 93 deletions

View File

@ -3,7 +3,6 @@
; by deater (Vince Weaver) <vince@deater.net>
trogdor_start:
;=====================
@ -14,15 +13,9 @@ trogdor_start:
jsr hgr_make_tables
;===================
; restart?
;===================
restart:
lda #0
sta DRAW_PAGE
;==================================
; load music into the language card
; into $D000 set 1
@ -37,44 +30,6 @@ restart:
jsr load_file
lda #0
sta DONE_PLAYING
lda #1
sta LOOP
; patch mockingboard
lda SOUND_STATUS
beq skip_mbp1
jsr mockingboard_patch ; patch to work in slots other than 4?
skip_mbp1:
;=======================
; Set up 50Hz interrupt
;========================
jsr mockingboard_init
jsr mockingboard_setup_interrupt
;============================
; Init the Mockingboard
;============================
jsr reset_ay_both
jsr clear_ay_both
;==================
; init song
;==================
jsr pt3_init_song
dont_enable_mc:
skip_all_checks:
;============================
;============================
@ -154,27 +109,11 @@ done_set_message:
jsr move_and_print
jsr move_and_print
; wait a bit, then change to credits
; wait a bit
lda #50
jsr wait_a_bit
; lda #50
; jsr wait_a_bit
lda #<bottom_string1
sta OUTL
lda #>bottom_string1
sta OUTH
; print the text
jsr move_and_print
lda #50
jsr wait_a_bit
jsr move_and_print
jsr wait_until_keypress
;=======================
;=======================
@ -203,6 +142,21 @@ load_countryside:
jsr load_file
;=============================
; change to credits
;=============================
lda #<bottom_string1
sta OUTL
lda #>bottom_string1
sta OUTH
; print the text
jsr move_and_print
;=======================
;=======================
; Load STRONGBAD
@ -230,49 +184,129 @@ load_trogdor:
sta WHICH_LOAD
jsr load_file
;=======================
;=======================
; Run intro
;=======================
;=======================
; cli ; start music
; lda #50
; jsr wait_a_bit
;============================================
; print the "press any key"
jsr move_and_print
jsr wait_until_keypress
;===================
; restart?
;===================
restart:
;==========================
; setup music
;==========================
lda #0
sta DONE_PLAYING
lda #0
sta LOOP
; patch mockingboard
lda SOUND_STATUS
beq skip_mbp1
jsr mockingboard_patch ; patch to work in slots other than 4?
skip_mbp1:
;=======================
; Set up 50Hz interrupt
;========================
jsr mockingboard_init
jsr mockingboard_setup_interrupt
;============================
; Init the Mockingboard
;============================
jsr reset_ay_both
jsr clear_ay_both
;==================
; init song
;==================
jsr pt3_init_song
dont_enable_mc:
skip_all_checks:
;=======================
;=======================
; Run TROGDOR
;=======================
;=======================
jsr $8000
;=======================
;=======================
; Print Message about Re-running
;=======================
;=======================
; bit PAGE1 ; be sure we're on PAGE1
bit PAGE1 ; be sure we're on PAGE1
lda #0
sta DRAW_PAGE
; clear text screen
; lda #$A0
; sta clear_all_color+1
; jsr clear_all
lda #$A0
sta clear_all_color+1
jsr clear_all
; switch to text/gr
; bit TEXTGR
bit TEXTGR
; print non-inverse
; jsr set_normal
jsr set_normal
; print messages
; lda #<disk_change_string
; sta OUTL
; lda #>disk_change_string
; sta OUTH
; print trog message
lda #<trog_message
sta OUTL
lda #>trog_message
sta OUTH
; print the text
; jsr move_and_print
jsr move_and_print
; bit KEYRESET ; just to be safe
; jsr wait_until_keypress
bit KEYRESET ; just to be safe
jsr wait_until_keypress
jsr move_and_print
lda #50
jsr wait_a_bit
forever:
jmp forever
jmp restart
.include "wait_keypress.s"
@ -288,9 +322,9 @@ title_string:
bottom_string1:
.byte 3,23," CODE BY DEATER, MUSIC BY TOM_FJM",0
.byte 1,23,"CODE BY DEATER, MUSIC SCORE BY TOM_FJM",0
bottom_string2:
.byte 3,23," = PRESS ANY KEY TO START = ",0
.byte 1,23," = PRESS ANY KEY TO START = ",0
; 0123456789012345678901234567890123456789
mockingboard_string:
@ -299,6 +333,12 @@ mockingboard_string:
no_mockingboard_string:
.byte 3,23,"NO MOCKINGBOARD, CONTINUING ANYWAY",0
trog_message:
.byte 11,20,"WATCH AGAIN (Y/N)?",0
trog_message2:
.byte 3,23,"TROGDOR CARES NOT FOR YOUR INPUT!!",0
.include "pt3_lib_mockingboard_patch.s"
.include "hardware_detect.s"

View File

@ -1126,11 +1126,16 @@ done_upside_down_flame:
finished:
bit KEYRESET
jsr wait_until_keypress
jsr hgr_page_flip
lda #150
jsr wait_ticks
lda #150
jsr wait_ticks
jmp finished
wait_till_done:
lda DONE_PLAYING
beq wait_till_done
rts
trog00_graphics: