From 0dab9cf097f4bd709355926b78cc8deec08dd81f Mon Sep 17 00:00:00 2001 From: 4am Date: Sat, 9 Feb 2019 14:33:14 -0500 Subject: [PATCH] add support for HAL Labs protection check [fixes Sheila, Super Taxman II] --- src/passport.a | 1 + src/patchers/hallabs.a | 50 ++++++++++++++++++++++++++++++++++++++++++ src/strings/en.a | 3 +++ src/strings/enid.a | 3 ++- 4 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 src/patchers/hallabs.a diff --git a/src/passport.a b/src/passport.a index a448199..0441d34 100755 --- a/src/passport.a +++ b/src/passport.a @@ -841,6 +841,7 @@ _applyToAll !source "patchers/ssi.a" ; gIsRDOS13 only !source "patchers/rdosfmt.a" ; gIsRDOS13 only !source "patchers/aacount.a" + !source "patchers/hallabs.a" ; T01 only lda gPatchCount beq .nopatches diff --git a/src/patchers/hallabs.a b/src/patchers/hallabs.a new file mode 100644 index 0000000..b1a61af --- /dev/null +++ b/src/patchers/hallabs.a @@ -0,0 +1,50 @@ +;------------------------------- +; #HALLABS +; checks nibbles on track $22 +; +; tested on +; Sheila (HAL Labs) +; Super Taxman II (HAL Labs) +;------------------------------- +!zone { + bit gMode ; nothing to do here in verify-only mode + bpl .exit + lda gIsBoot0 + bne .exit + lda gTrack + cmp #$01 + bne .exit + + ldy #(@search1end-@search1start) + jsr SearchTrack +@search1start + LDX $B7E9 + LDA $C089,X + LDA $C08E,X + LDA #$00 +@search1end + bcs .exit + + ldy #(@search2end-@search2start) + jsr SearchTrack +@search2start + !byte $20,WILDCARD,WILDCARD + !byte $20,WILDCARD,WILDCARD + LDA #$00 + STA $10 + LDA #$20 + STA $11 + !byte $20 +@search2end + bcs .exit + + sta gDisplayBytes + pha + lda #s_hallabs + jsr PrintByID + pla + ldy #$01 + jsr modify + RTS +.exit +} diff --git a/src/strings/en.a b/src/strings/en.a index ffe1dfb..8e8cba6 100755 --- a/src/strings/en.a +++ b/src/strings/en.a @@ -128,6 +128,7 @@ StringTable !word .sector13 !word .dakin5 !word .springboard + !word .hallabs ; ; Text can contain substitution strings, which ; are replaced by current values at runtime. Each @@ -472,4 +473,6 @@ StringTable .springboard !text "T%t,S%0 RWTS requires a timing bit after" !text "the address epilogue",$8D,$00 +.hallabs + !text "T%t,S%0 Found HAL Labs protection check",$8D,$00 } diff --git a/src/strings/enid.a b/src/strings/enid.a index 65062d7..5f38b82 100644 --- a/src/strings/enid.a +++ b/src/strings/enid.a @@ -114,4 +114,5 @@ s_toverify = $6C s_13sector = $6D s_dakin5 = $6E s_springboard =$6F -STRINGCOUNT = $70 +s_hallabs = $70 +STRINGCOUNT = $71