diff --git a/src/mods/t00only.a b/src/mods/t00only.a index e98e139..13d56a3 100644 --- a/src/mods/t00only.a +++ b/src/mods/t00only.a @@ -98,6 +98,7 @@ T00_IsNotRWTS !source "../patchers/t00_sigcheck.a" !source "../patchers/t00_baudville.a" !source "../patchers/t00_enlightenment.a" + !source "../patchers/t00_scottforesman.a" rts !if * > $3200 { diff --git a/src/patchers/t00_scottforesman.a b/src/patchers/t00_scottforesman.a new file mode 100644 index 0000000..ef24336 --- /dev/null +++ b/src/patchers/t00_scottforesman.a @@ -0,0 +1,53 @@ +;------------------------------- +; #T00SCOTTFORESMAN +; nibble count during early boot +; +; tested on +; - Addition and Subtraction 4 (Scott, Foresman and Company) +; - Decimals 3 (Scott, Foresman and Company) +; - Dinosaurs and Squids (Scott, Foresman and Company) +; - Division 2 (Scott, Foresman and Company) +; - Division 3 (Scott, Foresman and Company) +; - Fractions 3 (Scott, Foresman and Company) +; - Fractions 5 (Scott, Foresman and Company) +; - Multiplication 3 (Scott, Foresman and Company) +; - Percent 2 (Scott, Foresman and Company) +;------------------------------- + ; gTrack = 0 + lda #$00 + ldx #$33 + ldy #$08 + jsr compare ; if T00,S00,$33 == + !byte $A9,$79 + !byte $85,$3C + !byte $A9,$08 + !byte $85,$3D + bcs + + + lda #$06 + ldx #$02 + tay + jsr compare ; and T00,S06,$02 == + !byte $48 + !byte $20,WILDCARD,WILDCARD + !byte $68 + !byte $D0 + bcs + + + lda #$0E + ldx #$FF + jsr compare1 ; and T00,S0E,$FF == + !byte $20 + bcs + + + jsr PrintByID + !byte s_sfc + + jsr modify1 ; then set T00,S0E,$FF == + !byte $EA + + lda #$06 + ldx #$00 + jsr modify2 ; and set T00,S06,$00 == + !byte $A9,$00 ++ diff --git a/src/strings/en.a b/src/strings/en.a index 02f1d05..66aeb54 100755 --- a/src/strings/en.a +++ b/src/strings/en.a @@ -215,6 +215,7 @@ StringTableLow ; must be kept in sync with constants in enid.a !byte <.pfs !byte <.enlightenmentb0 !byte <.enlightenment + !byte <.sfc StringTableHigh ; must be kept in sync with constants in enid.a !byte >.header @@ -369,11 +370,12 @@ StringTableHigh ; must be kept in sync with constants in enid.a !byte >.pfs !byte >.enlightenmentb0 !byte >.enlightenment + !byte >.sfc .passport !text "Passport ",$00 .header - !text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2022-11-17",$00 + !text "@",s_passport,"by 4am@",s_space7,"@",s_space7," 2022-11-29",$00 .bar9 !text "_________",$00 .bar18 @@ -764,3 +766,5 @@ StringTableHigh ; must be kept in sync with constants in enid.a !text "@",s_found,"Enlightenment @",s_bootloader,$8D,$00 .enlightenment !text "@",s_found,"flux timing @",s_protection,$8D,$00 +.sfc + !text "@",s_found,"SFC @",s_protectioncheck,$8D,$00 diff --git a/src/strings/enid.a b/src/strings/enid.a index 75eb5f1..8b65dd6 100644 --- a/src/strings/enid.a +++ b/src/strings/enid.a @@ -153,3 +153,4 @@ s_baudville = $94 s_pfs = $95 s_enlightenmentb0 = $96 s_enlightenment = $97 +s_sfc = $98