1
0
mirror of https://github.com/a2-4am/passport.git synced 2025-03-20 22:30:12 +00:00

support SIGCHECK.O extra wide track protection [fixes Advanced Electricity, others]

This commit is contained in:
4am 2021-05-22 11:35:57 -04:00
parent 5dc2360d58
commit c6d2031368
11 changed files with 56 additions and 56 deletions

@ -109,7 +109,7 @@ were common in educational software.
- EME
e.g. Metric System Tutor,
Water in the Air
Water in the Air, Complex Circuits
- Encyclopaedia Britannica
e.g. Problem Solving in Algebra,
@ -431,6 +431,8 @@ Development (unreleased)
- NEW: patchers/errord51.a (Granny
Applebee's Cookie Factory, Uncle
Clyde's Consonant Slides)
- NEW: patchers/sigcheck.a (Advanced
Electricity, Complex Circuits)
- IMPROVED: patches/mecc.a to erase
site license information from final
generation of MECC disks (by qkumba)

@ -390,6 +390,7 @@ AnalyzeTrack
!source "patchers/leisure.a" ; gIsProDOS && T22 only
!source "patchers/b4bbbasic.a" ; gPossibleB4BBBasic only
!source "patchers/errord51.a" ; gIsLowDOS only
!source "patchers/sigcheck.a" ; gIsDiversi only
_checkPatchCount
lda gPatchCount
@ -401,6 +402,15 @@ _checkPatchCount
rts
; utility functions used by several patchers
inx0F inx
inx0E inx
inx0D inx
inx0C inx
inx0B inx
inx0A inx
inx9 inx
inx8 inx
inx7 inx
inx6 inx
inx5 inx
inx4 inx

@ -18,9 +18,7 @@
bcs .exit ; passport-test-suite/Game Frame One.woz [C=0] matches
sta gDisplayBytes
pha
txa
adc #$08
tax
jsr inx8
lda #s_a5count
jsr PrintByID
pla

@ -32,22 +32,11 @@
!byte $60 ; RTS
bcs .exit ; passport-test-suite/Mr. Pixel's Programming Paint Set.woz [C=0] matches
sta gDisplayBytes
pha
txa
clc
adc #$09
tax
stx gDisplayBytes+1
pla
pha
jsr inx9
ldy #$01
jsr modify
!byte $DE
lda gDisplayBytes+1
clc
adc #$0A
tax
pla
jsr inx0A
ldy #$01
jsr modify
!byte $AA

@ -21,16 +21,13 @@
!byte $88 ; DEY
!byte $10,$F7 ; BPL *-9
!byte $4C,$E3,$93 ; JMP $93E3
bcs .exit
bcs .exit ; passport-test-suite/Polywriter.woz [C=0] matches
sta gDisplayBytes
pha
lda #s_pdi
jsr PrintByID
txa
clc
adc #12
tax
pla
jsr inx0C
ldy #$02
jsr modify
!byte $99,$8E ; jmp directly to decoder

@ -47,9 +47,7 @@
bcs .exit ; passport-test-suite/The Crimson Crown.woz [C=0] matches
sta gDisplayBytes
pha
txa
adc #$09
tax
jsr inx9
lda #s_tamper
jsr PrintByID
pla

@ -15,11 +15,7 @@
!byte $20,$10,$30,WILDCARD,$AA,$EB
bcs + ; passport-test-suite/Mystery Objects v1.1.woz [C=0] matches
sta gDisplayBytes
tay
txa
adc #$0B
tax
tya
jsr inx0B
ldy #$01
jsr compare
!byte $DE
@ -46,11 +42,7 @@
!byte $60
bcs + ; passport-test-suite/Miner's Cave.woz [C=0] matches
sta gDisplayBytes
tay
txa
adc #$09
tax
tya
jsr inx9
ldy #$01
jsr modify
!byte $18
@ -65,11 +57,8 @@
!byte $C9,$DE,$F0,$02,$18,$24,$38,$60
bcs + ; passport-test-suite/Spelling Press v1.1.woz [C=0] matches
sta gDisplayBytes
tay
txa
adc #$16
tax
tya
jsr inx0B
jsr inx0B
ldy #$01
jsr modify
!byte $18
@ -84,11 +73,7 @@
!byte $38
!byte $60
bcs + ; passport-test-suite/Spelling Press v1.1.woz [C=0] matches
tay
txa
adc #$0A
tax
tya
jsr inx0A
ldy #$01
jsr modify
!byte $18

@ -21,11 +21,7 @@ _prodosrwts
!byte $38
bcs .exit ; passport-test-suite/Mystery Objects v1.1.woz [C=0] matches
sta gDisplayBytes
tay
txa
adc #$0F
tax
tya
jsr inx0F
ldy #$01
jsr compare
!byte $DE

28
src/patchers/sigcheck.a Normal file

@ -0,0 +1,28 @@
;-------------------------------
; #SIGCHECK
; productized fat track protection check
;
; tested on
; - Advanced Electricity
; - Complex Circuits
; - Projectile and Circular Motion
;-------------------------------
!zone {
lda gIsDiversi ; only ever seen this protection
bne .exit ; on Diversi-DOS disks
ldy #$0A
jsr SearchTrack
!byte $4C,$42,$61
!byte $A9,$00
!byte $F0,$02
!byte $A9,$FF
!byte $48
bcs .exit ; passport-test-suite/Advanced Electricity.woz [C=0] matches
sta gDisplayBytes
jsr inx8
ldy #$01
jsr modify
!byte $00
.exit
}

@ -20,10 +20,7 @@
sta gDisplayBytes+1
lda #s_diskvol0x
jsr PrintByID
txa
clc
adc #$0B
tax
jsr inx0B
pla
ldy #$01
jsr modify

@ -344,7 +344,7 @@ StringTableHigh
.passport
!text "Passport ",$00
.header
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2021-05-11",$00
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2021-05-22",$00
.bar9
!text "_________",$00
.bar18
@ -607,7 +607,7 @@ StringTableHigh
.eaboot0
!text "@",s_tfound,"Electronic Arts @",s_bootloader,$8D,$00
.eatrk6
!text "@",s_tfound,"EA @",s_protectiontrack,$8D,$00
!text "@",s_tfound,"extra wide @",s_protectiontrack,$8D,$00
.poke
!text "T%t,S%0 BASIC program POKEs protection",$8D
!text "check into memory and CALLs it",$8D,$00