1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-05 06:28:57 +00:00

oserrlist for GEOS

git-svn-id: svn://svn.cc65.org/cc65/trunk@1844 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
izydorst 2002-12-25 15:23:22 +00:00
parent 5d49f8b637
commit 3e0b7b9917
2 changed files with 95 additions and 1 deletions

View File

@ -8,7 +8,7 @@
@$(AS) -o $@ $(AFLAGS) $<
S_OBJS = crt0.o oserror.o randomize.o
S_OBJS = crt0.o oserrlist.o oserror.o randomize.o
all: $(S_OBJS)

View File

@ -0,0 +1,94 @@
;
; Maciej 'YTM/Elysium' Witkowiak <ytm@elysium.pl>
; 25.12.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.
;
.include "../inc/const.inc"
.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 NO_BLOCKS, "No blocks"
sys_oserr_entry INV_TRACK, "Illegal track or sector"
sys_oserr_entry INSUFF_SPACE, "Disk full"
sys_oserr_entry FULL_DIRECTORY, "Directory full"
sys_oserr_entry FILE_NOT_FOUND, "File not found"
sys_oserr_entry BAD_BAM, "Inconsistent BAM"
sys_oserr_entry UNOPENED_VLIR, "File not open"
sys_oserr_entry INV_RECORD, "Invalid record"
sys_oserr_entry OUT_OF_RECORDS, "Out of records"
; sys_oserr_entry STRUCT_MISMAT, "???"
sys_oserr_entry BFR_OVERFLOW, "Buffer overflow"
; sys_oserr_entry CANCEL_ERR, "???"
sys_oserr_entry DEV_NOT_FOUND, "Device not present"
; sys_oserr_entry INCOMPATIBLE, "???"
sys_oserr_entry 20, "Read error"
sys_oserr_entry 21, "Read error"
sys_oserr_entry 22, "Read error"
sys_oserr_entry 23, "Read error"
sys_oserr_entry 24, "Read error"
sys_oserr_entry 25, "Write error"
sys_oserr_entry 26, "Write protect on"
sys_oserr_entry 27, "Read error"
sys_oserr_entry 28, "Write error"
sys_oserr_entry 29, "Disk ID mismatch"
sys_oserr_entry 30, "Syntax error"
sys_oserr_entry 31, "Syntax error"
sys_oserr_entry 32, "Syntax error"
sys_oserr_entry 33, "Syntax error (invalid file name)"
sys_oserr_entry 34, "Syntax error (no file given)"
sys_oserr_entry 39, "Syntax error"
sys_oserr_entry 50, "Record not present"
sys_oserr_entry 51, "Overflow in record"
sys_oserr_entry 52, "File too large"
sys_oserr_entry 60, "Write file open"
sys_oserr_entry 61, "File not open"
sys_oserr_entry 62, "File not found"
sys_oserr_entry 63, "File exists"
sys_oserr_entry 64, "File type mismatch"
sys_oserr_entry 65, "No block"
sys_oserr_entry 66, "Illegal track or sector"
sys_oserr_entry 67, "Illegal system track or sector"
sys_oserr_entry 70, "No channel"
sys_oserr_entry 71, "Directory error"
sys_oserr_entry 72, "Disk full"
sys_oserr_entry 73, "DOS version mismatch"
sys_oserr_entry 74, "Drive not ready"
sys_oserr_sentinel "Unknown error"