cc65/libsrc/apple2/dioopen.s

39 lines
816 B
ArmAsm

;
; Oliver Schmidt, 24.03.2005
;
; dhandle_t __fastcall__ dio_open (unsigned char device);
;
.export _dio_open
.import return0, __dos_type, isdevice
.include "errno.inc"
.include "mli.inc"
_dio_open:
; Check for ProDOS 8
ldx __dos_type
bne :+
lda #$01 ; "Bad system call number"
bne oserr ; Branch always
; Check for valid device
: tax
jsr isdevice
beq :+
lda #$28 ; "No device connected"
; Return oserror
oserr: sta ___oserror
jmp return0
; Return success
: txa
asl
asl
asl
asl
ldx #$00
stx ___oserror
rts