shave some bytes

This commit is contained in:
4am 2021-06-21 08:14:02 -04:00
parent fb31cd38e0
commit 087012a361
5 changed files with 31 additions and 55 deletions

View File

@ -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"

View File

@ -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 {

View File

@ -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

View File

@ -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
+

View File

@ -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
}