4cade/src/hw.vidhd.a

40 lines
1.0 KiB
Plaintext
Raw Normal View History

;license:MIT
;(c) 2018-9 by 4am
;
; VidHD support functions
;
2019-01-13 23:55:40 +00:00
;------------------------------------------------------------------------------
; HasVidHDCard
; detect VidHD card by searching for magic bytes across all slots
;
; in: none
; out: C set if VidHD card found in any slot
; if card was found, X = #$Cn where n is the slot number of the card
; C clear if no VidHD card found
; other flags clobbered
; A/Y clobbered
;------------------------------------------------------------------------------
HasVidHDCard
2019-10-05 20:40:29 +00:00
ldx #$C7
2019-01-13 23:55:40 +00:00
@slotLoop
stx @byteLoop+2
ldy #$02
@byteLoop
lda $FD00, y ; SMC (high byte)
cmp @kVidHDMagicBytes, y
bne @nextSlot
dey
bpl @byteLoop
2019-10-05 20:40:29 +00:00
@found
2019-01-13 23:55:40 +00:00
sec ; found
rts
@nextSlot
dex
2019-10-05 20:40:29 +00:00
cpx #$C0
2019-01-13 23:55:40 +00:00
bne @slotLoop
clc ; not found
rts
@kVidHDMagicBytes
2019-06-27 14:55:07 +00:00
!byte $24, $EA, $4C