From 6d214412771a8ff1e752ef2216cfda402457b6c6 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Fri, 28 Sep 2018 10:46:48 -0700 Subject: [PATCH] support Battle Group secondary prot and a bit smaller code --- src/patchers/ea.a | 2 +- src/patchers/sierra.a | 12 ++++++------ src/patchers/sierra13.a | 6 +++--- src/patchers/ssi.a | 20 ++++++++++++++++++-- 4 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/patchers/ea.a b/src/patchers/ea.a index 60e675a..1903984 100644 --- a/src/patchers/ea.a +++ b/src/patchers/ea.a @@ -420,7 +420,7 @@ ldy #1 jsr modify !byte $BB ;new checksum value for eor - jmp + + bvc + ++ ldy #1 jsr compare !byte $DB diff --git a/src/patchers/sierra.a b/src/patchers/sierra.a index edb3aec..5775a98 100755 --- a/src/patchers/sierra.a +++ b/src/patchers/sierra.a @@ -343,7 +343,7 @@ ldy #$01 jsr modify !byte $F8 ;checksum - jmp .exit + bvc .jmpexit + ldy #19 jsr SearchTrack @@ -357,7 +357,7 @@ !byte $A9,$00 ;LDA #$00 !byte $AA ;TAX !byte $9D,$00,$01 ;STA $0100,X - bcs + + bcs .jmpexit pha lda #s_tamper jsr PrintByID @@ -368,13 +368,13 @@ ldy #$01 jsr modify !byte $19 ;checksum -+ jmp .exit +.jmpexit + jmp .exit .dosearch lda gIsBoot0 - beq + - jmp .exit -+ ldy #15 + bne .jmpexit + ldy #15 jsr SearchTrack !byte $CE,WILDCARD,WILDCARD ;DEC $xxxx !byte $EF,WILDCARD,WILDCARD ;mod->INC $xxxx diff --git a/src/patchers/sierra13.a b/src/patchers/sierra13.a index 77c4c46..0558a65 100644 --- a/src/patchers/sierra13.a +++ b/src/patchers/sierra13.a @@ -87,7 +87,7 @@ ldy #2 jsr modify !byte $A0,$B9 - jmp .exit + bvc .jmpexit ;Threshold secondary protection @@ -108,7 +108,7 @@ ldy #$01 jsr modify !byte $FC - jmp .exit + bvc .exit ;Missile Defense @@ -132,7 +132,7 @@ ldy #$01 jsr modify !byte $2C ;LDA - jmp .exit + bvc .exit ;Cranston Manor, etc. diff --git a/src/patchers/ssi.a b/src/patchers/ssi.a index 8425c65..e0c2694 100644 --- a/src/patchers/ssi.a +++ b/src/patchers/ssi.a @@ -1,5 +1,6 @@ ;------------------------------- -; #SSI Weak-bit protection +; #SSI protections +; weak bit, magic values ; ; module by qkumba ;------------------------------- @@ -19,7 +20,7 @@ !byte $C1,$00 ; CMP ($00,X) !byte $EA ; NOP !byte $EA ; NOP - bcs .exit + bcs + sta gDisplayBytes pha @@ -29,6 +30,21 @@ ldy #$01 jsr modify !byte $A9 ; LDA #$.. + bvc .exit + ++ + ldy #$0E + jsr SearchTrack + !byte $CE,$07,$02; DEC $0207 + !byte $EF,$07,$02; ??? $0207 + !byte $A0,$27 ; LDY #$27 + !byte $D0,$02 ; BNE *+4 + !byte $00 ; BRK + !byte $6C,$B9,$00; JMP ($00B9) + bcs .exit + ldy #1 + jsr modify + !byte $60 ; RTS .exit }