From 11f2ef57d6f0aed5c67d80c9d08236869c4dd3e1 Mon Sep 17 00:00:00 2001 From: 4am Date: Sun, 3 Sep 2023 23:30:13 -0400 Subject: [PATCH] add support for Earthware variant [fixes Black Belt rev. 2] --- src/id/trace33.a | 14 +++++++++++++- src/patchers/t00_earthware.a | 4 +++- src/rwts.a | 1 + src/strings/en.a | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/id/trace33.a b/src/id/trace33.a index 91b039c..39e1c6f 100755 --- a/src/id/trace33.a +++ b/src/id/trace33.a @@ -429,9 +429,21 @@ TraceDOS33c ; 2nd-level trace callback is here !byte $D0,$13 !byte WILDCARD,WILDCARD !byte $9D,$8D,$C0 - bcs .notEarthware ; passport-test-suite/Zoo Master.woz [C=0] matches + bcc .yesEarthware ; passport-test-suite/Zoo Master.woz [C=0] matches + ldx #$8C + jsr CompareMemory + !byte $BD,$8C,$C0 + !byte $10,$FB + !byte $C9,$AD + !byte $D0,$F4 + !byte $A9,$F8 + !byte $3D,$8C,$C0 + bcs .notEarthware ; passport-test-suite/Zoo Master rev. 2.woz [C=0] matches +.yesEarthware lda #$BD sta $B8F6 + lda $B8F7 + sta EarthwareSwapperLo+1 lda #$8C sta $B8F7 lda #$C0 diff --git a/src/patchers/t00_earthware.a b/src/patchers/t00_earthware.a index 02bf420..111b0a4 100644 --- a/src/patchers/t00_earthware.a +++ b/src/patchers/t00_earthware.a @@ -10,14 +10,16 @@ ; ; tested on ; - Black Belt (Earthware Computer Services) +; - Black Belt rev. 2 (Earthware Computer Services) ; - Zoo Master (Earthware Computer Services) +; - Zoo Master rev. 2 (Earthware Computer Services) ; - Star Search (Earthware Computer Services) ;------------------------------- EARTHWARE lda #$02 ldx #$F6 jsr compare3 - !byte $4C,$89,$B6 + !byte $4C,WILDCARD,$B6 bcs @exit ; passport-test-suite/Zoo Master.woz [C=0] here jsr PrintByID !byte s_bytrack diff --git a/src/rwts.a b/src/rwts.a index 70ab544..edd69fe 100755 --- a/src/rwts.a +++ b/src/rwts.a @@ -113,6 +113,7 @@ PreReadSector @earthware ldx #$4C stx $B8F6 +EarthwareSwapperLo ldx #$89 stx $B8F7 ldx #$B6 diff --git a/src/strings/en.a b/src/strings/en.a index eafa2a1..28d7e5e 100755 --- a/src/strings/en.a +++ b/src/strings/en.a @@ -385,7 +385,7 @@ StringTableHigh ; must be kept in sync with constants in enid.a .passport !text "Passport ",$00 .header - !text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2023-07-28",$00 + !text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2023-09-03",$00 .bar9 !text "_________",$00 .bar18