mirror of
https://github.com/a2-4am/passport.git
synced 2025-08-15 15:27:24 +00:00
add support for PROBS5 protection [fixes Allyn and Bacon titles]
This commit is contained in:
@@ -385,6 +385,7 @@ AnalyzeTrack
|
|||||||
!source "patchers/mak.a" ; gIsBoot0 && T02 only
|
!source "patchers/mak.a" ; gIsBoot0 && T02 only
|
||||||
!source "patchers/jsr8635.a" ; gIsBoot0 only
|
!source "patchers/jsr8635.a" ; gIsBoot0 only
|
||||||
!source "patchers/sierra.a" ; gIsBoot0 only
|
!source "patchers/sierra.a" ; gIsBoot0 only
|
||||||
|
!source "patchers/probs5.a"
|
||||||
_endDOS33Patchers
|
_endDOS33Patchers
|
||||||
;
|
;
|
||||||
; Diversi-DOS-specific patchers
|
; 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 <.enlightenment
|
||||||
!byte <.sfc
|
!byte <.sfc
|
||||||
!byte <.neosoft
|
!byte <.neosoft
|
||||||
|
!byte <.probs5
|
||||||
|
|
||||||
StringTableHigh ; must be kept in sync with constants in enid.a
|
StringTableHigh ; must be kept in sync with constants in enid.a
|
||||||
!byte >.header
|
!byte >.header
|
||||||
@@ -373,11 +374,12 @@ StringTableHigh ; must be kept in sync with constants in enid.a
|
|||||||
!byte >.enlightenment
|
!byte >.enlightenment
|
||||||
!byte >.sfc
|
!byte >.sfc
|
||||||
!byte >.neosoft
|
!byte >.neosoft
|
||||||
|
!byte >.probs5
|
||||||
|
|
||||||
.passport
|
.passport
|
||||||
!text "Passport ",$00
|
!text "Passport ",$00
|
||||||
.header
|
.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
|
.bar9
|
||||||
!text "_________",$00
|
!text "_________",$00
|
||||||
.bar18
|
.bar18
|
||||||
@@ -772,3 +774,5 @@ StringTableHigh ; must be kept in sync with constants in enid.a
|
|||||||
!text "@",s_found,"SFC @",s_protectioncheck,$8D,$00
|
!text "@",s_found,"SFC @",s_protectioncheck,$8D,$00
|
||||||
.neosoft
|
.neosoft
|
||||||
!text "@",s_found,"Neosoft @",s_protectioncheck,$8D,$00
|
!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_enlightenment = $97
|
||||||
s_sfc = $98
|
s_sfc = $98
|
||||||
s_neosoft = $99
|
s_neosoft = $99
|
||||||
|
s_probs5 = $9A
|
||||||
|
Reference in New Issue
Block a user