;------------------------------- ; 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 + }