From fc7aced25c0f1cad4bac9a18b006fa9d5234135d Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Mon, 27 Sep 2021 22:04:09 -0400 Subject: [PATCH] peasant: loading from disk2 now works --- games/peasant/loadsave_menu.s | 2 +- games/peasant/qload.s | 69 +++++++++++++++++++---------------- games/peasant/save2.s | 16 ++++---- games/peasant/save3.s | 10 ++--- 4 files changed, 51 insertions(+), 46 deletions(-) diff --git a/games/peasant/loadsave_menu.s b/games/peasant/loadsave_menu.s index ecff666b..d94504d0 100644 --- a/games/peasant/loadsave_menu.s +++ b/games/peasant/loadsave_menu.s @@ -429,7 +429,7 @@ load_game: ; bcs done_load ; actually load it - tya + lda INVENTORY_Y clc adc #LOAD_SAVE1 sta WHICH_LOAD diff --git a/games/peasant/qload.s b/games/peasant/qload.s index 601a2476..60f08498 100644 --- a/games/peasant/qload.s +++ b/games/peasant/qload.s @@ -2,7 +2,7 @@ .include "zp.inc" -LOAD_TEXT_TITLE = 16 ; ??? +;LOAD_TEXT_TITLE = 16 ; ??? LOAD_FIRST_SECTOR = 22 ; ??? tmpsec = $3C @@ -93,12 +93,12 @@ change_disk: jsr driveoff - jsr TEXT - jsr HOME + ;============================== + ; print "insert disk" message - lda #error_string + lda #>insert_disk_string sta OUTH ldx WHICH_LOAD @@ -106,19 +106,23 @@ change_disk: clc adc #48 - ldy #19 + ; patch error string to say correct disk to insert + + ldy #27 sta (OUTL),Y - ldy #0 + jsr hgr_text_box -quick_print: - lda (OUTL),Y - beq quick_print_done - jsr COUT1 - iny - jmp quick_print +; ldy #0 -quick_print_done: +;quick_print: +; lda (OUTL),Y +; beq quick_print_done +; jsr COUT1 +; iny +; jmp quick_print + +;quick_print_done: fnf_keypress: lda KEYPRESS @@ -141,14 +145,14 @@ fnf_keypress: sta WHICH_LOAD tax - ; first sector now in $800 - ; offset 59 - ; disk1 = $0a + ; first sector now in $BC00 + ; offset 5B + ; disk1 = $d0 ; disk2 = $32 ('2') ; disk3 = $33 ('3') - lda $859 - cmp #$0a + lda $BC5B + cmp #$d0 beq is_disk1 cmp #$32 beq is_disk2 @@ -158,11 +162,11 @@ fnf_keypress: is_disk1: lda #1 - bne disk_compare + bne disk_compare ; bra is_disk2: lda #2 - bne disk_compare + bne disk_compare ; bra is_disk3: lda #3 @@ -174,17 +178,18 @@ disk_compare: ;============================================== ; all good, retry original load - jsr HOME - ldx WHICH_LOAD lda which_disk_array,X sta CURRENT_DISK jmp load_file -; offset for disk number is 19 -error_string: -.byte "PLEASE INSERT DISK 1, PRESS RETURN",0 +; offset for disk number is 27 +insert_disk_string: +.byte 0,43,24, 0,240,74 +.byte 10,41 +.byte "PLEASE INSERT DISK 1",13 +.byte " THEN PRESS RETURN",0 which_disk_array: @@ -194,7 +199,7 @@ which_disk_array: .byte 1,1,1,1 ; .byte 1 ; .byte 1,1,1,1,1 ; SAVE1, SAVE2, SAVE3 - .byte $f ; + .byte $f ; disk detect load_address_array: .byte $60,$60,$60,$60 ; VID_LOGO, TITLE, INTRO, COPY_CHECK @@ -204,16 +209,16 @@ load_address_array: .byte $08 ; .byte $BC,$BC,$BC,$0A ; SAVE1, SAVE2, SAVE3 .byte $0A ; - .byte $08 ; + .byte $BC ; disk detect track_array: .byte 4, 6, 9,13 ; VID_LOGO, TITLE, INTRO, COPY_CHECK .byte 15,20,25,30 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4 - .byte 24,29, 3,20 ; TROGDOR, ENDING, MUSIC + .byte 19,24, 3,20 ; TROGDOR, ENDING, MUSIC .byte 30,32,28,30 ; .byte 0 ; .byte 0, 0, 0, 0, 0 ; SAVE1, SAVE2, SAVE3 - .byte 0 ; + .byte 0 ; disk detect sector_array: .byte 0, 0, 0, 0 ; VID_LOGO, TITLE, INTRO, COPY_CHECK @@ -222,7 +227,7 @@ sector_array: .byte 0,13, 0, 1 ; .byte 6 ; .byte 11,12,13,14,15 ; SAVE1, SAVE2, SAVE3 - .byte 0 ; + .byte 0 ; disk detect length_array: .byte 32, 50, 60, 20 ; VID_LOGO, TITLE, INTRO, COPY_CHECK @@ -231,7 +236,7 @@ length_array: .byte 20, 33, 27, 78 ; .byte 3 ; .byte 1,1,1,1,1 ; SAVE1, SAVE2, SAVE3 - .byte 1 ; + .byte 1 ; disk detect .include "qkumba_popwr.s" diff --git a/games/peasant/save2.s b/games/peasant/save2.s index d31ab05d..38fe0b20 100644 --- a/games/peasant/save2.s +++ b/games/peasant/save2.s @@ -1,17 +1,17 @@ -; SAVE1 -- ?? +; SAVE2 -- ?? .include "zp.inc" ; want to load this to address $90 ; -.byte LOAD_PEASANT2 ; WHICH_LOAD = $90 -.byte 10 ; PEASANT_X = $91 -.byte 100 ; PEASANT_Y = $92 +.byte LOAD_PEASANT4 ; WHICH_LOAD = $90 +.byte 15 ; PEASANT_X = $91 +.byte 128 ; PEASANT_Y = $92 .byte PEASANT_DIR_UP ; PEASANT_DIR = $93 -.byte 0 ; MAP_X = $94 -.byte 1 ; MAP_Y = $95 -.byte 5 ; MAP_LOCATION = $96 +.byte 1 ; MAP_X = $94 +.byte 3 ; MAP_Y = $95 +.byte LOCATION_WAVY_TREE; MAP_LOCATION = $96 .byte $ff ; GAME_STATE_0 = $97 .byte $00 ; GAME_STATE_1 = $98 .byte $00 ; GAME_STATE_2 = $99 @@ -25,5 +25,5 @@ .byte $FF ; INVENTORY_2 = $A1 .byte $FF ; INVENTORY_3 = $A2 .byte $00 ; INVENTORY_1_GONE = $A3 -.byte $00 ; INVENTORY_2_GONE_= $A4 +.byte $FF ; INVENTORY_2_GONE_= $A4 .byte $00 ; INVENTORY_3_GONE = $A5 diff --git a/games/peasant/save3.s b/games/peasant/save3.s index d31ab05d..92d4fb4f 100644 --- a/games/peasant/save3.s +++ b/games/peasant/save3.s @@ -1,17 +1,17 @@ -; SAVE1 -- ?? +; SAVE3 -- ?? .include "zp.inc" ; want to load this to address $90 ; -.byte LOAD_PEASANT2 ; WHICH_LOAD = $90 -.byte 10 ; PEASANT_X = $91 -.byte 100 ; PEASANT_Y = $92 +.byte LOAD_TROGDOR ; WHICH_LOAD = $90 +.byte 1 ; PEASANT_X = $91 +.byte 80 ; PEASANT_Y = $92 .byte PEASANT_DIR_UP ; PEASANT_DIR = $93 .byte 0 ; MAP_X = $94 .byte 1 ; MAP_Y = $95 -.byte 5 ; MAP_LOCATION = $96 +.byte LOCATION_TROGDOR_LAIR ; MAP_LOCATION = $96 .byte $ff ; GAME_STATE_0 = $97 .byte $00 ; GAME_STATE_1 = $98 .byte $00 ; GAME_STATE_2 = $99