; ; Oliver Schmidt, 24.03.2005 ; ; dhandle_t __fastcall__ dio_open (driveid_t drive_id); ; .export _dio_open .import return0, __dos_type .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 ; Walk device list : ldx DEVCNT : cmp DEVLST,x beq :+ ; Found drive_id in device list dex bpl :- lda #$28 ; "No device connected" ; Return oserror oserr: sta __oserror jmp return0 ; Return success : ldx #$00 stx __oserror rts