mirror of
https://github.com/a2-4am/passport.git
synced 2024-12-23 10:31:52 +00:00
support SIGCHECK.O extra wide track protection [fixes Advanced Electricity, others]
This commit is contained in:
parent
5dc2360d58
commit
c6d2031368
@ -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
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
|
||||
|
Loading…
Reference in New Issue
Block a user