1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-04 13:29:35 +00:00
cc65/libsrc/apple2/getdevice.s
ol.sc e0efad70bf Removed TABs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5849 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-14 12:51:02 +00:00

49 lines
974 B
ArmAsm

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