mirror of
https://github.com/a2-4am/passport.git
synced 2024-05-28 21:41:27 +00:00
109 lines
4.0 KiB
Plaintext
109 lines
4.0 KiB
Plaintext
!cpu 6502
|
|
*=$2000
|
|
|
|
!to "../../build/t00only.bin",plain
|
|
|
|
MODULE=1
|
|
!source "../apidefs.a"
|
|
!source "../strings/enid.a"
|
|
WILDCARD = $97 ; from compare.a
|
|
|
|
;-------------------------------
|
|
; AnalyzeT00
|
|
; apply track $00-specific patchers
|
|
;
|
|
; in: Track $00 in data buffer
|
|
; out: all flags clobbered
|
|
; all registers clobbered
|
|
;-------------------------------
|
|
AnalyzeT00
|
|
lda #$07
|
|
ldx #$04
|
|
ldy #$21
|
|
jsr compare ; if T00,S07,$04 ==
|
|
!byte $A0,$02
|
|
!byte $8C,WILDCARD,WILDCARD
|
|
!byte $A0,$04
|
|
!byte $8C,WILDCARD,WILDCARD
|
|
!byte $A0,$01
|
|
!byte $B1,$48
|
|
!byte $AA
|
|
!byte $A0,$0F
|
|
!byte $D1,$48
|
|
!byte $F0,$1B
|
|
!byte $8A
|
|
!byte $48
|
|
!byte $B1,$48
|
|
!byte $AA
|
|
!byte $68
|
|
!byte $48
|
|
!byte $91,$48
|
|
!byte $BD,$8E,$C0
|
|
bcc +
|
|
jmp T00_IsNotRWTS
|
|
+
|
|
; DOS 3.3 RWTS patchers
|
|
!source "../patchers/t00_artsci.a" ; A=0A,X=FE,Y=02; out none
|
|
!source "../patchers/t00_bademu.a" ; Y=05; out none
|
|
!source "../patchers/t00_border.a" ; A=08,X=5A,Y=0A; out A=08,X=5A,Y=0A
|
|
!source "../patchers/t00_dakin5.a" ; A=00,X=B3,Y=0C; out A=03,X=9A,Y=03
|
|
!source "../patchers/t00_datasoft2.a" ; A=0A,X=3A,Y=06; out A=01,X=48,Y=02
|
|
!source "../patchers/t00_jmpb500.a"
|
|
|
|
!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_jmpbbfe.a"
|
|
!source "../patchers/t00_jmpbcf0.a" ; A=03,X=94,Y=08; out A=03,X=94,Y=08
|
|
!source "../patchers/t00_jmpbeb1.a"
|
|
!source "../patchers/t00_jmpbeca.a"
|
|
!source "../patchers/t00_jsrb6cc.a"
|
|
!source "../patchers/t00_mastery.a"
|
|
!source "../patchers/t00_methods.a"
|
|
!source "../patchers/t00_microfun.a"
|
|
!source "../patchers/t00_microfun2.a"
|
|
!source "../patchers/t00_microlearn.a"
|
|
!source "../patchers/t00_milliken.a"
|
|
!source "../patchers/t00_muserwts.a"
|
|
!source "../patchers/t00_panglosdos.a"
|
|
!source "../patchers/t00_rps.a"
|
|
!source "../patchers/t00_rwtsswap.a"
|
|
!source "../patchers/t00_rwtsswapmicrofun.a"
|
|
!source "../patchers/t00_springboard.a"
|
|
!source "../patchers/t00_sunburst.a"
|
|
!source "../patchers/t00_sve.a"
|
|
!source "../patchers/t00_swordthrust.a"
|
|
!source "../patchers/t00_scottforesman_dos33.a"
|
|
!source "../patchers/t00_neosoft.a"
|
|
; ----- add new DOS 3.3 patchers above this line -----
|
|
!source "../patchers/t00_nibtable.a" ; clobbers $2000..$2095 (AnalyzeT00 is decompressed into $2000)
|
|
!source "../patchers/t00_rwts.a" ; must run after all other patchers that might modify RWTS code
|
|
!source "../patchers/t00_diskvol.a"
|
|
; /!\ execution falls through here
|
|
|
|
T00_IsNotRWTS
|
|
; patchers that run on every disk
|
|
!source "../patchers/t00_rwtslog.a"
|
|
; ----- add new patchers below this line -----
|
|
!source "../patchers/t00_bb03.a"
|
|
!source "../patchers/t00_datasoft.a"
|
|
!source "../patchers/t00_dos32.a"
|
|
!source "../patchers/t00_dos32dlm.a"
|
|
!source "../patchers/t00_hoffman.a"
|
|
!source "../patchers/t00_jsr8b3.a"
|
|
!source "../patchers/t00_laureate.a"
|
|
!source "../patchers/t00_mecc.a"
|
|
!source "../patchers/t00_micrograms.a"
|
|
!source "../patchers/t00_pascalrwts.a"
|
|
!source "../patchers/t00_rdos13.a"
|
|
!source "../patchers/t00_rol1e.a"
|
|
!source "../patchers/t00_sigcheck.a"
|
|
!source "../patchers/t00_baudville.a"
|
|
!source "../patchers/t00_enlightenment.a"
|
|
!source "../patchers/t00_scottforesman.a"
|
|
rts
|
|
|
|
!if * > $3200 {
|
|
!serious "code is too large to fit in available space!"
|
|
}
|