1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-27 00:29:31 +00:00

New module from Stefan Haubenthal

git-svn-id: svn://svn.cc65.org/cc65/trunk@2870 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz 2004-01-04 21:24:37 +00:00
parent 473d620742
commit 1b73d9d254
2 changed files with 92 additions and 15 deletions

View File

@ -27,30 +27,31 @@
# Object files # Object files
OBJS= _scrsize.o \ OBJS= _scrsize.o \
break.o \ break.o \
cclear.o \ cclear.o \
cgetc.o \ cgetc.o \
chline.o \ chline.o \
clrscr.o \ clrscr.o \
color.o \ color.o \
cputc.o \ cputc.o \
crt0.o \ crt0.o \
ctype.o \ ctype.o \
cvline.o \ cvline.o \
get_ostype.o \ get_ostype.o \
getenv.o \ getenv.o \
joy_stddrv.o \ joy_stddrv.o \
kbhit.o \ kbhit.o \
mainargs.o \ mainargs.o \
oserrlist.o \
randomize.o \ randomize.o \
read.o \ read.o \
revers.o \ revers.o \
systime.o \ systime.o \
sysuname.o \ sysuname.o \
tgi_mode_table.o\ tgi_mode_table.o\
wherex.o \ wherex.o \
wherey.o \ wherey.o \
write.o write.o
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
# Drivers # Drivers

76
libsrc/apple2/oserrlist.s Normal file
View File

@ -0,0 +1,76 @@
;
; Stefan Haubenthal, 2003-12-24
; Ullrich von Bassewitz, 18.07.2002
;
; Defines the platform specific error list.
;
; The table is built as a list of entries
;
; .byte entrylen
; .byte errorcode
; .asciiz errormsg
;
; and terminated by an entry with length zero that is returned if the
; error code could not be found.
;
.export __sys_oserrlist
;----------------------------------------------------------------------------
; Macros used to generate the list (may get moved to an include file?)
; Regular entry
.macro sys_oserr_entry code, msg
.local Start, End
Start: .byte End - Start
.byte code
.asciiz msg
End:
.endmacro
; Sentinel entry
.macro sys_oserr_sentinel msg
.byte 0 ; Length is always zero
.byte 0 ; Code is unused
.asciiz msg
.endmacro
;----------------------------------------------------------------------------
; The error message table
.rodata
__sys_oserrlist:
sys_oserr_entry $01, "Invalid MLI function code number"
sys_oserr_entry $04, "Incorrect parameter count"
sys_oserr_entry $25, "Interrupt table full"
sys_oserr_entry $27, "I/O error"
sys_oserr_entry $28, "No device connected"
sys_oserr_entry $2B, "Write protected"
sys_oserr_entry $2E, "Disk switched"
sys_oserr_entry $2F, "No disk in drive"
sys_oserr_entry $40, "Invalid pathname syntax"
sys_oserr_entry $42, "Too many files open"
sys_oserr_entry $43, "Bad reference number"
sys_oserr_entry $44, "Bad pathname"
sys_oserr_entry $45, "Volume not mounted"
sys_oserr_entry $46, "File not found"
sys_oserr_entry $47, "File already exists"
sys_oserr_entry $48, "Disk full"
sys_oserr_entry $49, "Directory full"
sys_oserr_entry $4A, "Incompatible ProDOS version"
sys_oserr_entry $4B, "Unsupported storage type"
sys_oserr_entry $4C, "End of file"
sys_oserr_entry $4D, "Position past EOF"
sys_oserr_entry $4E, "Access denied"
sys_oserr_entry $50, "File already open"
sys_oserr_entry $51, "File count bad"
sys_oserr_entry $52, "Not a ProDOS disk"
sys_oserr_entry $53, "Parameter out of range"
sys_oserr_entry $55, "Too many devices mounted"
sys_oserr_entry $56, "Bad buffer address"
sys_oserr_entry $57, "Duplicate volume name"
sys_oserr_entry $5A, "Damaged disk free space bit map"
sys_oserr_sentinel "Unknown error"