45 lines
932 B
ArmAsm
45 lines
932 B
ArmAsm
;
|
|
; Robert Justice, 2026
|
|
;
|
|
|
|
.export isdevice, devname
|
|
|
|
.include "zeropage.inc"
|
|
.include "sos.inc"
|
|
|
|
isdevice:
|
|
; Set device
|
|
sta sosparam + SOS::DINFO::DEV_NUM
|
|
|
|
; devname buffer
|
|
lda #<devname
|
|
ldx #>devname
|
|
sta sosparam + SOS::DINFO::DEV_NAME
|
|
stx sosparam + SOS::DINFO::DEV_NAME+1
|
|
|
|
; option list needed to get dev type
|
|
ldx #3
|
|
stx sosparam + SOS::DINFO::LENGTH
|
|
|
|
; Get device details
|
|
lda #D_INFO_CALL
|
|
ldx #D_INFO_COUNT
|
|
jsr callsos
|
|
bne :+ ; error, not valid
|
|
|
|
; check if its a block dev
|
|
lda sosoption + OPTION::DINFO::DEV_TYPE
|
|
bpl :+ ; char dev, not valid
|
|
|
|
lda #0 ; dev ok
|
|
rts
|
|
|
|
: lda #$FF
|
|
rts
|
|
|
|
|
|
.bss
|
|
|
|
devname:
|
|
.res 16
|