mist: load games work again

This commit is contained in:
Vince Weaver 2020-09-01 21:31:15 -04:00
parent 7c77980669
commit bd3c98f3f1
5 changed files with 54 additions and 54 deletions

View File

@ -1,54 +1,51 @@
;=============================
; external routines
; loader.s
opendir_filename =$120e
; linking_noise.s
play_link_noise =$140e
play_link_noise =$141b
; decompress_fast_v2.s
decompress_lzsa2_fast =$142a
getsrc_smc =$1520
decompress_lzsa2_fast =$1437
getsrc_smc =$152d
; draw_pointer.s
draw_pointer =$152d
draw_pointer =$153a
; end_level.s
end_level =$169b
end_level =$16a8
; gr_copy.s
gr_copy_to_current =$16bd
gr_copy_to_current =$16ca
; gr_fast_clear.s
clear_bottom =$17e3
clear_all =$1821
clear_all_color =$1846
clear_bottom =$17f0
clear_all =$182e
clear_all_color =$1853
; gr_offsets.s
gr_offsets =$1864
gr_offsets =$1871
; gr_page_flip.s
page_flip =$1894
page_flip =$18a1
; gr_putsprite_crop.s
put_sprite_crop =$18ae
psc_smc1 =$18d1
psc_smc2 =$1969
put_sprite_crop =$18bb
psc_smc1 =$18de
psc_smc2 =$1976
; keyboard.s
handle_keypress =$19ea
change_direction =$1aae
change_location =$1ae7
handle_keypress =$19f7
change_direction =$1abb
change_location =$1af4
; text_print.s
move_and_print =$1b7f
ps_smc1 =$1bac
move_and_print =$1b8c
ps_smc1 =$1bb9
; page_sprites.inc
blue_page_sprite =$1c94
red_page_sprite =$1caa
white_page_sprite =$1cc0
blue_page_small_sprite =$1cd6
red_page_small_sprite =$1cde
blue_page_sprite =$1c97
red_page_sprite =$1cad
white_page_sprite =$1cc3
blue_page_small_sprite =$1cd9
red_page_small_sprite =$1ce1

View File

@ -52,9 +52,9 @@ int main(int argc, char **argv) {
printf("; external routines\n");
printf("\n");
printf("; loader.s\n");
find_address("opendir_filename");
printf("\n");
// printf("; loader.s\n");
// find_address("opendir_filename");
// printf("\n");
// printf("; audio.s\n");
// find_address("play_audio");

View File

@ -40,12 +40,10 @@ wait_load_confirmation:
; actually load it
lda #<save_filename
sta OUTL
lda #>save_filename
sta OUTH
lda #LOAD_SAVE5
sta WHICH_LOAD
jsr opendir_filename
jsr load_file
; copy to zero page
@ -130,5 +128,5 @@ save_message:
are_you_sure:
.byte 10,7,"ARE YOU SURE? (Y/N)",0
save_filename:
.byte "SAVE0",0
;save_filename:
;.byte "SAVE0",0

View File

@ -330,30 +330,28 @@ wait_1s:
; setup return on stack
; is value - 1
lda load_address
sec
sbc #1
pha
lda #$ff
pha
; lda load_address
; sec
; sbc #1
; pha
; lda #$ff
; pha
lda load_track
asl ; track to start*2
sta phase+1
lda load_address ; address to load
pha
lda load_sector
tay ; sector to start
lda load_length ; length
tax
pla
lda load_address ; address to load
jmp seekread
jsr seekread
rts
load_address:
.byte $00

View File

@ -18,11 +18,17 @@ qload_start:
main_game_loop:
jsr load_file
lda WHICH_LOAD
bne not_title
start_title:
jsr $4000
jmp main_game_loop
opendir_filename:
rts
not_title:
jsr $2000
jmp main_game_loop
@ -30,7 +36,7 @@ opendir_filename:
driveoff =$1122
load_new = $119D
load_address=$11CB
load_address=$11C0
load_track=load_address+1
load_sector=load_address+2
load_length=load_address+3
@ -58,8 +64,9 @@ load_file:
lda length_array,X
sta load_length
jmp load_new
jsr load_new
rts
;===================================================
;===================================================
@ -146,7 +153,7 @@ sector_array:
.byte 0, 0, 0, 0 ; CABIN,DENTIST,ARBOR,NIBEL
.byte 0,12, 0, 0 ; SHIP,GENERATOR,D'NI,SUB
.byte 1 ; TEXT_TITLE
.byte 1, 1, 1, 1, 1 ; SAVE1,SAVE2,SAVE3,SAVE4,SAVE5
.byte 11,12,13,14,15 ; SAVE1,SAVE2,SAVE3,SAVE4,SAVE5
length_array:
.byte 83,159,157,145 ; MIST_TITLE,MIST,MECHE,SELENA