mirror of
https://github.com/a2-4am/passport.git
synced 2024-05-28 21:41:27 +00:00
45 lines
1.2 KiB
Plaintext
45 lines
1.2 KiB
Plaintext
;-------------------------------
|
|
; IDDOS32
|
|
;
|
|
; in: $0800..$08FF contains T00,S00
|
|
; first page of track buffer also contains T00,S00
|
|
; A = 0
|
|
; X = 0
|
|
; out: C clear if hybrid DOS 3.2/3.3 bootloader found
|
|
; C set otherwise
|
|
; A = 0
|
|
; X = 0
|
|
; all other registers & flags clobbered
|
|
;-------------------------------
|
|
!macro IDDOS32 {
|
|
ldy #$0F
|
|
jsr compare ; if T00,S00,$00 =
|
|
!byte $01
|
|
!byte $A0,$0F ; LDY #$0F
|
|
!byte $B9,$00,$08; LDA $0800,Y
|
|
!byte $99,$00,$02; STA $0200,Y
|
|
!byte $C8 ; INY
|
|
!byte $D0,$F7 ; BNE -
|
|
!byte $4C,$0F,$02; JMP $020F
|
|
bcs +
|
|
ldx #$33
|
|
ldy #$08
|
|
jsr compare ; and T00,S00,$33 =
|
|
!byte $A6,$2B ; LDX $2B
|
|
!byte $20,$5D,$02; JSR $025D
|
|
!byte $4C,$D1,$02; JMP $02D1
|
|
bcs +
|
|
ldx #$F4
|
|
ldy #$08
|
|
jsr compare ; and T00,S00,$F4 =
|
|
!byte $CC,$00,$03; CPY $0300
|
|
!byte $D0,$03 ; BNE +
|
|
!byte $4C,$3B,$02; JMP $023B
|
|
bcs +
|
|
ldx #$45
|
|
jsr compare3 ; and T00,S00,$45 =
|
|
!byte $4C,$01,$03; JMP $0301
|
|
tax
|
|
+
|
|
}
|