1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-03 22:29:31 +00:00
cc65/libsrc/apple2/getdevice.s

49 lines
974 B
ArmAsm
Raw Normal View History

;
; Oliver Schmidt, 2012-09-04
;
; unsigned char getfirstdevice (void);
; unsigned char __fastcall__ getnextdevice (unsigned char device);
;
.export _getfirstdevice
.export _getnextdevice
.import __dos_type
.include "zeropage.inc"
.include "mli.inc"
_getfirstdevice:
lda #$FF
; Fall through
_getnextdevice:
next: tax
inx
txa
cmp #$FF
beq done
; Check for ProDOS 8
ldx __dos_type
beq next
; Up to 14 units may be active
ldx #<DEVLST
ldy #>DEVLST
stx ptr1
sty ptr1+1
; Number of on-line devices (minus 1)
ldy DEVCNT
; Does the list contain the device?
: cmp (ptr1),y
beq done
dey
bpl :-
bmi next ; Branch always
done: ldx #$00
rts