peasant: loads from hd image now

This commit is contained in:
Vince Weaver 2024-09-21 14:01:59 -04:00
parent bb240f3c88
commit 3b5369fa63
6 changed files with 38 additions and 60 deletions

View File

@ -70,17 +70,30 @@ peasant.2mg: dts_block PROBOOTHD QLOAD_HD \
$(PRODOSDIR)/mkprodosfs peasant.2mg -n PeasantsQ -b 2800 -2
$(PRODOS_RAW) peasant.2mg 0 PROBOOTHD 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 0 1 0` QLOAD_HD 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 0 0 11` SAVE1 0 1
$(PRODOS_RAW) peasant.2mg `./dts_block 0 0 12` SAVE2 0 1
$(PRODOS_RAW) peasant.2mg `./dts_block 0 0 13` SAVE3 0 1
$(PRODOS_RAW) peasant.2mg `./dts_block 0 3 0` ./music/MUSIC 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 0 4 0` ./vid_logo/VID_LOGO 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 0 6 0` ./title/TITLE 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 0 9 0` ./intro/INTRO 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 0 13 0` PARSE_INPUT.ZX02 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 0 14 0` ./inventory/INVENTORY 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 0 15 0` ./game_over/GAME_OVER 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 0 30 0` ./copy/COPY_CHECK 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 1 0 11` SAVE1 0 1
$(PRODOS_RAW) peasant.2mg `./dts_block 1 0 12` SAVE2 0 1
$(PRODOS_RAW) peasant.2mg `./dts_block 1 0 13` SAVE3 0 1
$(PRODOS_RAW) peasant.2mg `./dts_block 1 3 0` ./music/MUSIC 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 1 4 0` ./vid_logo/VID_LOGO 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 1 6 0` ./title/TITLE 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 1 9 0` ./intro/INTRO 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 1 13 0` PARSE_INPUT.ZX02 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 1 14 0` ./inventory/INVENTORY 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 1 15 0` ./game_over/GAME_OVER 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 1 30 0` ./copy/COPY_CHECK 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 2 0 0` ./wrong_boot/WBOOT2 0 1
$(PRODOS_RAW) peasant.2mg `./dts_block 2 15 0` PEASANT1 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 2 20 0` PEASANT2 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 2 25 0` PEASANT3 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 2 30 0` PEASANT4 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 3 0 0` ./wrong_boot/WBOOT3 0 1
$(PRODOS_RAW) peasant.2mg `./dts_block 3 4 0` ./map/MAP 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 3 6 0` ./archery/ARCHERY 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 3 9 0` INSIDE 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 3 14 0` INN 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 3 19 0` ./trogdor/TROGDOR 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 3 24 0` ./ending/ENDING 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 3 29 0` ./cliff/CLIFF 0 0
###
@ -259,7 +272,7 @@ qload.inc: generate_common QLOAD
inventory/INVENTORY:
cd inventory && make
./vid_logo/VID_LOGO:
./vid_logo/VID_LOGO: qload.inc
cd vid_logo && make
./title/TITLE: ./music/music.inc
@ -663,7 +676,7 @@ distclean:
###
clean:
rm -f *~ *.o *.lst \
rm -f *~ *.o *.lst qload.inc \
PEASANT1 PEASANT2 PEASANT3 PEASANT4 \
*.ZX02 dialog_peasant2 \
generate_common generate_all_symbols

View File

@ -30,7 +30,7 @@ proboot_start:
sta $C082 ; read rom / no write (language card)
sta PRIMARYCHARSET ; turn off mouse text
sta EIGHTYCOLOFF ; disable 80-col mode
h sta CLR80COL
sta CLR80COL
sta READMAINMEM ; make sure not using aux mem
sta WRITEMAINMEM
sta SETSTDZP

View File

@ -1,39 +0,0 @@
load_file =$0b16
sector_write =$0c61
requested_sector =$0d17
zx02_full_decomp =$0de6
zx_src_l =$0de8
zx_src_h =$0dec
hgr2 =$176d
hgr_make_tables =$14e1
hgr_put_string =$0e74
restore_bg_1x28 =$13ac
hgr_draw_sprite_1x28 =$1345
input_buffer =$14b9
hgr_text_box =$1557
hgr_text_box_nosave =$15ee
hgr_partial_restore =$142f
clear_bottom =$1742
hgr_input =$145f
draw_box =$11f6
disp_put_string =$1592
disp_one_line =$15a6
invert_smc1 =$0eec
disp_put_string_cursor =$15a2
hgr_put_char_cursor =$0ea0
vgi_simple_rectangle =$1277
peasant_text =$1ea1
save_menu =$1820
load_menu =$1815
location_names_l =$1b4d
location_names_h =$1b6c
wait_until_keypress =$1d8c
random16 =$1d95
score_points =$1e1a
print_score =$1dca
update_score =$1dd5
speaker_beep =$1e88
speaker_duration =$1e9f
speaker_frequency =$1ea0
hposn_high = $BA00
hposn_low = $BB00

View File

@ -72,6 +72,8 @@ length_array:
.byte 1 ; disk detect
load_file:
jmp load_file_internal
.include "qkumba_popwr.s"
.include "zx02_optim.s"

View File

@ -15,7 +15,7 @@ qload_floppy:
main_game_loop:
jsr load_file ; actually load intro
jsr load_file_internal ; actually load intro
entry_smc:
jsr $6000 ; run intro
@ -24,7 +24,7 @@ entry_smc:
; sta WHICH_LOAD
; jsr load_file
; jsr load_file_internal
; jsr $6000 ; all entry points currently $6000
jmp main_game_loop
@ -33,7 +33,7 @@ entry_smc:
;====================================
; loads file specified by WHICH_LOAD
;====================================
load_file:
load_file_internal:
ldx WHICH_LOAD
lda which_disk_array,X ; get disk# for file to load

View File

@ -23,14 +23,14 @@ slot_smc:
; init the write code if needed
; ???
lda #0
lda #1
sta CURRENT_DISK
lda #LOAD_VID_LOGO
sta WHICH_LOAD
main_game_loop:
jsr load_file
jsr load_file_internal
entry_point_smc:
jsr $6000 ; most entry points currently $6000
@ -47,14 +47,16 @@ entry_point_smc:
;====================================
; loads file specified by WHICH_LOAD
;====================================
load_file:
load_file_internal:
ldx WHICH_LOAD
lda load_address_array,X
sta ADRHI
sta entry_point_smc+2
lda CURRENT_DISK
lda which_disk_array,X ; CURRENT DISK
sta CURRENT_DISK
sta BLOKHI
inc BLOKHI ; off by one
lda track_array,X ; track