1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-28 19:29:53 +00:00

Added functions to learn about the unit numbers of the ProDOS 8 devices found.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4663 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
ol.sc 2010-05-24 20:10:19 +00:00
parent 05f7296369
commit 1bbbed5e96
5 changed files with 48 additions and 0 deletions

View File

@ -143,6 +143,12 @@ unsigned char get_ostype (void);
void rebootafterexit (void);
/* Reboot machine after program termination has completed. */
unsigned char drivecount (void);
/* Returns the number of ProDOS 8 drives. */
unsigned char* drivelist (void);
/* Returns a pointer to the list of ProDOS 8 drives. */
#define ser_apple2_slot(num) ser_ioctl (0, (void *) (num))
/* Select a slot number from 1 to 7 prior to ser_open.
* The default slot number is 2.

View File

@ -70,6 +70,7 @@ S_OBJS= _scrsize.o \
diosectsize.o \
diowrite.o \
dosdetect.o \
drives.o \
filedes.o \
fileerr.o \
filename.o \

38
libsrc/apple2/drives.s Normal file
View File

@ -0,0 +1,38 @@
;
; Oliver Schmidt, 2010-05-24
;
; unsigned char drivecount (void);
; unsigned char* drivelist (void);
;
.export _drivecount, _drivelist
.import __dos_type
.include "mli.inc"
_drivecount:
ldx #$00
; Check for ProDOS 8
lda __dos_type
bne :+
rts
; Number of on-line devices (minus 1)
: ldy DEVCNT
iny
tya
rts
_drivelist:
ldx #$00
; Check for ProDOS 8
lda __dos_type
bne :+
rts
; Up to 14 units may be active
: lda #<DEVLST
ldx #>DEVLST
rts

View File

@ -115,6 +115,8 @@ EOF_COUNT = 2
.global callmli
DEVNUM := $BF30 ; Most recent accessed device
DEVCNT := $BF31 ; Number of on-line devices (minus 1)
DEVLST := $BF32 ; Up to 14 units may be active
DATELO := $BF90 ; Bits 15-9 = Year, 8-5 = Month, 4-0 = Day
TIMELO := $BF92 ; Bits 12-8 = Hour, 5-0 = Minute
PFIXPTR := $BF9A ; If = 0, no prefix active

View File

@ -73,6 +73,7 @@ S_OBJS= _scrsize.o \
diosectsize.o \
diowrite.o \
dosdetect.o \
drives.o \
filedes.o \
fileerr.o \
filename.o \