From 47b1fc2a6c4187fcbbad76a1360fdade84f73fca Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Mon, 19 Apr 2021 12:42:13 -0400 Subject: [PATCH] ootw: fix off by-one in track load count for c15 last sector not loaded, making for hard-to-debug crash --- games/ootw/Makefile | 4 ++-- games/ootw/README | 4 ++-- games/ootw/ootw_c15/ootw_c15.s | 8 ++++++-- games/ootw/qboot/qload.s | 2 +- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/games/ootw/Makefile b/games/ootw/Makefile index 56b35f86..ae2f8234 100644 --- a/games/ootw/Makefile +++ b/games/ootw/Makefile @@ -91,7 +91,7 @@ ootw_side3.dsk: ./qboot/QBOOT_DISK3 ./qboot/QLOAD \ $(DOS33_RAW) ootw_side3.dsk 8 0 ./ootw_c13/OOTW_C13 0 39 $(DOS33_RAW) ootw_side3.dsk 11 0 ./ootw_c14/OOTW_C14 0 38 $(DOS33_RAW) ootw_side3.dsk 13 0 ./ootw_c15/OOTW_C15 0 97 - $(DOS33_RAW) ootw_side3.dsk 19 0 ./ending/ENDING 0 90 + $(DOS33_RAW) ootw_side3.dsk 20 0 ./ending/ENDING 0 90 #### @@ -192,7 +192,7 @@ clean: cd ootw_c14 && make clean cd ootw_c15 && make clean cd ending && make clean - cd title && make clean + cd qboot && make clean distclean: make clean diff --git a/games/ootw/README b/games/ootw/README index c8df23a2..2dffcb3d 100644 --- a/games/ootw/README +++ b/games/ootw/README @@ -273,8 +273,8 @@ DISK3: OOTW_C12 9707 38s 2T6S T5-T7 OOTW_C13 9828 39s 2T7S T8-T10 OOTW_C14 9749 38s 2T6S T11-T12 - OOTW_C15 24658 97s 6T1S T13-T18 - ENDING 22899 90s 5T10S T19-T24 + OOTW_C15 24658 97s 6T1S T13-T19 + ENDING 22899 90s 5T10S T20-T25 ==== 350 = 87.5k diff --git a/games/ootw/ootw_c15/ootw_c15.s b/games/ootw/ootw_c15/ootw_c15.s index 6f89dff7..7be7c06e 100644 --- a/games/ootw/ootw_c15/ootw_c15.s +++ b/games/ootw/ootw_c15/ootw_c15.s @@ -150,6 +150,11 @@ ootw_c15_level_init: lda #P_STANDING sta PHYSICIST_STATE + ; set up friend + + lda #$ff ; not there at start + sta friend_room + ; set up aliens jsr clear_aliens @@ -701,7 +706,6 @@ start_soldier: ldy #2 sty FOREGROUND_COUNT - not_new_walk: ldy FOREGROUND_COUNT @@ -1118,7 +1122,7 @@ bath_intro: lda #0 sta DRAW_PAGE - lda #1 + lda #4 sta DISP_PAGE lda #