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 $(PRODOSDIR)/mkprodosfs peasant.2mg -n PeasantsQ -b 2800 -2
$(PRODOS_RAW) peasant.2mg 0 PROBOOTHD 0 0 $(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 1 0` QLOAD_HD 0 0
$(PRODOS_RAW) peasant.2mg `./dts_block 0 0 11` SAVE1 0 1 $(PRODOS_RAW) peasant.2mg `./dts_block 1 0 11` SAVE1 0 1
$(PRODOS_RAW) peasant.2mg `./dts_block 0 0 12` SAVE2 0 1 $(PRODOS_RAW) peasant.2mg `./dts_block 1 0 12` SAVE2 0 1
$(PRODOS_RAW) peasant.2mg `./dts_block 0 0 13` SAVE3 0 1 $(PRODOS_RAW) peasant.2mg `./dts_block 1 0 13` SAVE3 0 1
$(PRODOS_RAW) peasant.2mg `./dts_block 0 3 0` ./music/MUSIC 0 0 $(PRODOS_RAW) peasant.2mg `./dts_block 1 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 1 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 1 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 1 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 1 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 1 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 1 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 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: inventory/INVENTORY:
cd inventory && make cd inventory && make
./vid_logo/VID_LOGO: ./vid_logo/VID_LOGO: qload.inc
cd vid_logo && make cd vid_logo && make
./title/TITLE: ./music/music.inc ./title/TITLE: ./music/music.inc
@@ -663,7 +676,7 @@ distclean:
### ###
clean: clean:
rm -f *~ *.o *.lst \ rm -f *~ *.o *.lst qload.inc \
PEASANT1 PEASANT2 PEASANT3 PEASANT4 \ PEASANT1 PEASANT2 PEASANT3 PEASANT4 \
*.ZX02 dialog_peasant2 \ *.ZX02 dialog_peasant2 \
generate_common generate_all_symbols generate_common generate_all_symbols

View File

@@ -30,7 +30,7 @@ proboot_start:
sta $C082 ; read rom / no write (language card) sta $C082 ; read rom / no write (language card)
sta PRIMARYCHARSET ; turn off mouse text sta PRIMARYCHARSET ; turn off mouse text
sta EIGHTYCOLOFF ; disable 80-col mode sta EIGHTYCOLOFF ; disable 80-col mode
h sta CLR80COL sta CLR80COL
sta READMAINMEM ; make sure not using aux mem sta READMAINMEM ; make sure not using aux mem
sta WRITEMAINMEM sta WRITEMAINMEM
sta SETSTDZP 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 .byte 1 ; disk detect
load_file:
jmp load_file_internal
.include "qkumba_popwr.s" .include "qkumba_popwr.s"
.include "zx02_optim.s" .include "zx02_optim.s"

View File

@@ -15,7 +15,7 @@ qload_floppy:
main_game_loop: main_game_loop:
jsr load_file ; actually load intro jsr load_file_internal ; actually load intro
entry_smc: entry_smc:
jsr $6000 ; run intro jsr $6000 ; run intro
@@ -24,7 +24,7 @@ entry_smc:
; sta WHICH_LOAD ; sta WHICH_LOAD
; jsr load_file ; jsr load_file_internal
; jsr $6000 ; all entry points currently $6000 ; jsr $6000 ; all entry points currently $6000
jmp main_game_loop jmp main_game_loop
@@ -33,7 +33,7 @@ entry_smc:
;==================================== ;====================================
; loads file specified by WHICH_LOAD ; loads file specified by WHICH_LOAD
;==================================== ;====================================
load_file: load_file_internal:
ldx WHICH_LOAD ldx WHICH_LOAD
lda which_disk_array,X ; get disk# for file to 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 ; init the write code if needed
; ??? ; ???
lda #0 lda #1
sta CURRENT_DISK sta CURRENT_DISK
lda #LOAD_VID_LOGO lda #LOAD_VID_LOGO
sta WHICH_LOAD sta WHICH_LOAD
main_game_loop: main_game_loop:
jsr load_file jsr load_file_internal
entry_point_smc: entry_point_smc:
jsr $6000 ; most entry points currently $6000 jsr $6000 ; most entry points currently $6000
@@ -47,14 +47,16 @@ entry_point_smc:
;==================================== ;====================================
; loads file specified by WHICH_LOAD ; loads file specified by WHICH_LOAD
;==================================== ;====================================
load_file: load_file_internal:
ldx WHICH_LOAD ldx WHICH_LOAD
lda load_address_array,X lda load_address_array,X
sta ADRHI sta ADRHI
sta entry_point_smc+2 sta entry_point_smc+2
lda CURRENT_DISK lda which_disk_array,X ; CURRENT DISK
sta CURRENT_DISK
sta BLOKHI sta BLOKHI
inc BLOKHI ; off by one inc BLOKHI ; off by one
lda track_array,X ; track lda track_array,X ; track