mirror of
https://github.com/a2-4am/passport.git
synced 2024-12-21 13:29:19 +00:00
add support for PROBS5 protection [fixes Allyn and Bacon titles]
This commit is contained in:
parent
98107fcb62
commit
540c9fb161
@ -385,6 +385,7 @@ AnalyzeTrack
|
||||
!source "patchers/mak.a" ; gIsBoot0 && T02 only
|
||||
!source "patchers/jsr8635.a" ; gIsBoot0 only
|
||||
!source "patchers/sierra.a" ; gIsBoot0 only
|
||||
!source "patchers/probs5.a"
|
||||
_endDOS33Patchers
|
||||
;
|
||||
; Diversi-DOS-specific patchers
|
||||
|
35
src/patchers/probs5.a
Normal file
35
src/patchers/probs5.a
Normal file
@ -0,0 +1,35 @@
|
||||
;-------------------------------
|
||||
; #PROBS5
|
||||
; sector check of track $23
|
||||
; usually found in PROBS5 file
|
||||
;
|
||||
; tested on
|
||||
; - Addition and Subtraction of Fractions Analyzer
|
||||
; - Addition and Subtraction of Fractions Worksheet
|
||||
; - Decimals Analyzer
|
||||
; - Decimals Worksheet
|
||||
; - Multiplication and Division of Fractions Analyzer
|
||||
; - Multiplication and Division of Fractions Worksheet
|
||||
; - Whole Numbers Analyzer
|
||||
; - Whole Numbers Worksheet
|
||||
;-------------------------------
|
||||
!zone {
|
||||
lda #$0F
|
||||
sta .sector+1
|
||||
.sector lda #$FF ; modified at runtime
|
||||
ldx #$00
|
||||
ldy #$08
|
||||
jsr compare
|
||||
!byte $00,$20, $FF,$0F ; DOS 3.3 file header
|
||||
!byte $A9,$23 ; LDA #$23
|
||||
!byte $8D,$EC ; STA $..EC
|
||||
bcs + ; passport-test-suite/Addition and Subtraction of Fractions Analyzer.woz [C=0] matches
|
||||
jsr PrintByID
|
||||
!byte s_probs5
|
||||
ldx #$04
|
||||
jsr modify1
|
||||
!byte $60 ; RTS
|
||||
+ dec .sector+1
|
||||
bpl .sector
|
||||
.exit
|
||||
}
|
@ -217,6 +217,7 @@ StringTableLow ; must be kept in sync with constants in enid.a
|
||||
!byte <.enlightenment
|
||||
!byte <.sfc
|
||||
!byte <.neosoft
|
||||
!byte <.probs5
|
||||
|
||||
StringTableHigh ; must be kept in sync with constants in enid.a
|
||||
!byte >.header
|
||||
@ -373,11 +374,12 @@ StringTableHigh ; must be kept in sync with constants in enid.a
|
||||
!byte >.enlightenment
|
||||
!byte >.sfc
|
||||
!byte >.neosoft
|
||||
!byte >.probs5
|
||||
|
||||
.passport
|
||||
!text "Passport ",$00
|
||||
.header
|
||||
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2023-01-27",$00
|
||||
!text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2023-03-26",$00
|
||||
.bar9
|
||||
!text "_________",$00
|
||||
.bar18
|
||||
@ -772,3 +774,5 @@ StringTableHigh ; must be kept in sync with constants in enid.a
|
||||
!text "@",s_found,"SFC @",s_protectioncheck,$8D,$00
|
||||
.neosoft
|
||||
!text "@",s_found,"Neosoft @",s_protectioncheck,$8D,$00
|
||||
.probs5
|
||||
!text "@",s_found,"PROBS5 @",s_protectioncheck,$8D,$00
|
||||
|
@ -155,3 +155,4 @@ s_enlightenmentb0 = $96
|
||||
s_enlightenment = $97
|
||||
s_sfc = $98
|
||||
s_neosoft = $99
|
||||
s_probs5 = $9A
|
||||
|
Loading…
Reference in New Issue
Block a user