mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-02 19:42:23 +00:00
mist: load games work again
This commit is contained in:
parent
7c77980669
commit
bd3c98f3f1
|
@ -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
|
||||
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
19
mist/qload.s
19
mist/qload.s
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user