diff --git a/src/passport.a b/src/passport.a index 950a48c..da105d1 100755 --- a/src/passport.a +++ b/src/passport.a @@ -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 diff --git a/src/patchers/probs5.a b/src/patchers/probs5.a new file mode 100644 index 0000000..9345a9e --- /dev/null +++ b/src/patchers/probs5.a @@ -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 +} diff --git a/src/strings/en.a b/src/strings/en.a index 721d4c4..c50cd9b 100755 --- a/src/strings/en.a +++ b/src/strings/en.a @@ -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 diff --git a/src/strings/enid.a b/src/strings/enid.a index 6936db8..2c4752f 100644 --- a/src/strings/enid.a +++ b/src/strings/enid.a @@ -155,3 +155,4 @@ s_enlightenmentb0 = $96 s_enlightenment = $97 s_sfc = $98 s_neosoft = $99 +s_probs5 = $9A