passport/src/id/prodos.a

29 lines
934 B
Plaintext
Raw Normal View History

2017-05-04 14:54:59 +00:00
;-------------------------------
; IDProDOS
; identify ProDOS bootloader
;
2021-06-20 04:18:55 +00:00
; 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
2017-05-04 14:54:59 +00:00
;-------------------------------
2021-06-19 14:54:56 +00:00
!macro IDProDOS {
2017-05-04 14:54:59 +00:00
; 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
2021-06-19 14:54:56 +00:00
; passport-test-suite/Investigating Plant Growth.woz [C=0] matches
2017-05-04 14:54:59 +00:00
}