mirror of
https://github.com/cc65/cc65.git
synced 2024-09-30 08:57:49 +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:
parent
05f7296369
commit
1bbbed5e96
@ -143,6 +143,12 @@ unsigned char get_ostype (void);
|
|||||||
void rebootafterexit (void);
|
void rebootafterexit (void);
|
||||||
/* Reboot machine after program termination has completed. */
|
/* 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))
|
#define ser_apple2_slot(num) ser_ioctl (0, (void *) (num))
|
||||||
/* Select a slot number from 1 to 7 prior to ser_open.
|
/* Select a slot number from 1 to 7 prior to ser_open.
|
||||||
* The default slot number is 2.
|
* The default slot number is 2.
|
||||||
|
@ -70,6 +70,7 @@ S_OBJS= _scrsize.o \
|
|||||||
diosectsize.o \
|
diosectsize.o \
|
||||||
diowrite.o \
|
diowrite.o \
|
||||||
dosdetect.o \
|
dosdetect.o \
|
||||||
|
drives.o \
|
||||||
filedes.o \
|
filedes.o \
|
||||||
fileerr.o \
|
fileerr.o \
|
||||||
filename.o \
|
filename.o \
|
||||||
|
38
libsrc/apple2/drives.s
Normal file
38
libsrc/apple2/drives.s
Normal 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
|
@ -115,6 +115,8 @@ EOF_COUNT = 2
|
|||||||
.global callmli
|
.global callmli
|
||||||
|
|
||||||
DEVNUM := $BF30 ; Most recent accessed device
|
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
|
DATELO := $BF90 ; Bits 15-9 = Year, 8-5 = Month, 4-0 = Day
|
||||||
TIMELO := $BF92 ; Bits 12-8 = Hour, 5-0 = Minute
|
TIMELO := $BF92 ; Bits 12-8 = Hour, 5-0 = Minute
|
||||||
PFIXPTR := $BF9A ; If = 0, no prefix active
|
PFIXPTR := $BF9A ; If = 0, no prefix active
|
||||||
|
@ -73,6 +73,7 @@ S_OBJS= _scrsize.o \
|
|||||||
diosectsize.o \
|
diosectsize.o \
|
||||||
diowrite.o \
|
diowrite.o \
|
||||||
dosdetect.o \
|
dosdetect.o \
|
||||||
|
drives.o \
|
||||||
filedes.o \
|
filedes.o \
|
||||||
fileerr.o \
|
fileerr.o \
|
||||||
filename.o \
|
filename.o \
|
||||||
|
Loading…
Reference in New Issue
Block a user