diff --git a/src/mods/t00only.a b/src/mods/t00only.a index 3380976..031c6e1 100644 --- a/src/mods/t00only.a +++ b/src/mods/t00only.a @@ -50,10 +50,9 @@ AnalyzeT00 !source "../patchers/t00_datasoft2.a" ; in A=0A,X=3A,Y=06; out A=01,X=48,Y=02 !source "../patchers/t00_jmpb500.a" - !source "../patchers/t00_jmpb660.a" ; in A=02,X=F6,Y=03; out A=02,X=F6,Y=03 - !source "../patchers/t00_earthware.a" ; in A=02,X=F6,Y=03; out A=02,X=F6,Y=03 + !source "../patchers/t00_earthware.a" ; out A=02,X=F6,Y=03 + !source "../patchers/t00_jmpb660.a" ; in A=02,X=F6,Y=03 - !source "../patchers/t00_jmpb720.a" !source "../patchers/t00_jmpbbfe.a" !source "../patchers/t00_jmpbcf0.a" !source "../patchers/t00_jmpbeb1.a" diff --git a/src/passport.a b/src/passport.a index aac2977..cbcdbbb 100755 --- a/src/passport.a +++ b/src/passport.a @@ -458,8 +458,8 @@ _byte_hi = * + 2 _byte_skip_hi: rts - !source "wholetrack.a" !source "id/bootfailure.a" + !source "wholetrack.a" !source "apicode.a" ; /!\ must be last !if RELBASE = $2000 { diff --git a/src/patchers/t00_earthware.a b/src/patchers/t00_earthware.a index 438efd1..2367c10 100644 --- a/src/patchers/t00_earthware.a +++ b/src/patchers/t00_earthware.a @@ -4,7 +4,8 @@ ; timing bits for DOS sectors but ; not others ; -; in: A=02,X=F6,Y=03 +; in: gTrack = 0 +; Caller found DOS 3.3 RWTS ; out: A=02,X=F6,Y=03 ; ; tested on @@ -13,9 +14,9 @@ ; - Star Search (Earthware Computer Services) ;------------------------------- EARTHWARE - ; gTrack = 0 - ; Caller found DOS 3.3 RWTS - + lda #$02 + ldx #$F6 + ldy #$03 jsr compare !byte $4C,$89,$B6 bcs @exit ; passport-test-suite/Zoo Master.woz [C=0] here diff --git a/src/patchers/t00_jmpb660.a b/src/patchers/t00_jmpb660.a index 8285a90..dc5e556 100755 --- a/src/patchers/t00_jmpb660.a +++ b/src/patchers/t00_jmpb660.a @@ -1,28 +1,37 @@ ;------------------------------- ; #JMPB660 -; RWTS jumps to $B660 instead of -; checking third data prologue +; RWTS jumps to $B660 for check for timing bits ; ; in: gTrack = 0 ; Caller found DOS 3.3 RWTS -; out: A=02,X=F6,Y=03 +; A=02,X=F6,Y=03 ; ; e.g. Analogies Tutorial, Verb Viper ;------------------------------- -!zone { -_jmpb660 - ; gTrack = 0 - ; Caller found DOS 3.3 RWTS - - lda #$02 - ldx #$F6 - ldy #$03 +T00_JMPB660 +; +; RWTS jumps to $B660 instead of +; checking third data prologue +; jsr compare ; if T00,S02,$F6 == !byte $4C,$60,$B6 - bcs .exit ; passport-test-suite/Analogies Tutorial.woz [C=0] matches + bcs + ; passport-test-suite/Analogies Tutorial.woz [C=0] matches jsr PrintByID !byte s_jmpb660 jsr modify ; then set T00,S02,$F6 = !byte $BD,$8C,$C0 -.exit -} +; +; RWTS swapper forcibly reinstalls a jump to $B720 instead of writing +; the third data prologue +; + lda #$0B + ldx #$08 + ldy #$06 + jsr compare ; and T00,S0B,$08 == + !byte $4C,$20,$B7 + !byte $4C,$0E,$A9 + bcs + ; passport-test-suite/Analogies Tutorial.woz [C=0] matches + jsr modify ; then set T00,S0B,$08 = + !byte $BD,$8C,$C0 + !byte $20,$B8,$B8 ++ diff --git a/src/patchers/t00_jmpb720.a b/src/patchers/t00_jmpb720.a deleted file mode 100755 index db13966..0000000 --- a/src/patchers/t00_jmpb720.a +++ /dev/null @@ -1,33 +0,0 @@ -;------------------------------- -; #JMPB720 -; RWTS swapper forcibly reinstalls -; a jump to $B720 instead of writing -; third data prologue -; e.g. Analogies Tutorial, Verb Viper -;------------------------------- -!zone { -_jmpb720 - ; gTrack = 0 - ; Caller found DOS 3.3 RWTS - - lda #$0B - ldx #$08 - ldy #$18 - jsr compare ; and T00,S0B,$08 == - !byte $4C,$20,$B7 - !byte $4C,$0E,$A9 - !byte $A2,$02 - !byte $BD,$0B,$B7 - !byte $9D,$5E,$B8 - !byte $BD,$08,$B7 - !byte $9D,$F6,$B8 - !byte $CA - !byte $10,$F1 - !byte $60 - bcs .exit ; passport-test-suite/Analogies Tutorial.woz [C=0] matches - ldy #$06 - jsr modify ; then set T00,S0B,$08 = - !byte $BD,$8C,$C0 - !byte $20,$B8,$B8 -.exit -}