passport/src/id/prodos.a
2021-06-20 00:18:55 -04:00

29 lines
934 B
Plaintext

;-------------------------------
; IDProDOS
; identify ProDOS bootloader
;
; in: $0800..$08FF contains T00,S00
; first page of track buffer also contains T00,S00
; A = 0
; X = 0
; out: C clear if ProDOS bootloader found
; C set otherwise
; A = 0
; X = 0
; all other registers & flags clobbered
;-------------------------------
!macro IDProDOS {
; Some disks jump to $08FF at $0804 (SOS entry point).
; Others have a modified T00,S00 but eventually load
; ProDOS (e.g. 1-2-3 Sequence Me, Alge-Blaster Plus,
; Dazzle Draw, SuperPrint II). All of these variants
; will match.
ldy #$05
jsr compare ; if T00,S00,$00 ==
!byte $01
!byte $38 ; SEC
!byte $B0,$03 ; BCS +3
!byte $4C ; JMP
; passport-test-suite/Investigating Plant Growth.woz [C=0] matches
}