add support for HAL Labs protection check [fixes Sheila, Super Taxman II]

This commit is contained in:
4am 2019-02-09 14:33:14 -05:00
parent 9b1721af99
commit 0dab9cf097
4 changed files with 56 additions and 1 deletions

View File

@ -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

50
src/patchers/hallabs.a Normal file
View File

@ -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
}

View File

@ -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
}

View File

@ -114,4 +114,5 @@ s_toverify = $6C
s_13sector = $6D
s_dakin5 = $6E
s_springboard =$6F
STRINGCOUNT = $70
s_hallabs = $70
STRINGCOUNT = $71