2 ; Maciej 'YTM/Elysium' Witkowiak <ytm@elysium.pl>
5 ; Defines the platform specific error list.
7 ; The table is built as a list of entries
13 ; and terminated by an entry with length zero that is returned if the
14 ; error code could not be found.
17 .include "../inc/const.inc"
19 .export __sys_oserrlist
21 ;----------------------------------------------------------------------------
22 ; Macros used to generate the list (may get moved to an include file?)
25 .macro sys_oserr_entry code, msg
27 Start: .byte End - Start
34 .macro sys_oserr_sentinel msg
35 .byte 0 ; Length is always zero
36 .byte 0 ; Code is unused
40 ;----------------------------------------------------------------------------
41 ; The error message table
46 sys_oserr_entry NO_BLOCKS, "No free blocks"
47 sys_oserr_entry INV_TRACK, "Illegal track or sector"
48 sys_oserr_entry INSUFF_SPACE, "Disk full"
49 sys_oserr_entry FULL_DIRECTORY, "Directory full"
50 sys_oserr_entry FILE_NOT_FOUND, "File not found"
51 sys_oserr_entry BAD_BAM, "Inconsistent BAM"
52 sys_oserr_entry UNOPENED_VLIR, "VLIR file not opened"
53 sys_oserr_entry INV_RECORD, "Invalid VLIR record"
54 sys_oserr_entry OUT_OF_RECORDS, "Out of VLIR records"
55 sys_oserr_entry STRUCT_MISMAT, "Structure mismatch"
56 sys_oserr_entry BFR_OVERFLOW, "Buffer overflow"
57 sys_oserr_entry CANCEL_ERR, "Operation cancelled"
58 sys_oserr_entry DEV_NOT_FOUND, "Device not found"
59 sys_oserr_entry INCOMPATIBLE, "Incompatible device"
60 sys_oserr_entry 20, "Read error"
61 sys_oserr_entry 21, "Read error"
62 sys_oserr_entry 22, "Read error"
63 sys_oserr_entry 23, "Read error"
64 sys_oserr_entry 24, "Read error"
65 sys_oserr_entry 25, "Write error"
66 sys_oserr_entry 26, "Write protect on"
67 sys_oserr_entry 27, "Read error"
68 sys_oserr_entry 28, "Write error"
69 sys_oserr_entry 29, "Disk ID mismatch"
70 sys_oserr_entry 30, "Syntax error"
71 sys_oserr_entry 31, "Syntax error"
72 sys_oserr_entry 32, "Syntax error"
73 sys_oserr_entry 33, "Syntax error (invalid file name)"
74 sys_oserr_entry 34, "Syntax error (no file given)"
75 sys_oserr_entry 39, "Syntax error"
76 sys_oserr_entry 50, "Record not present"
77 sys_oserr_entry 51, "Overflow in record"
78 sys_oserr_entry 52, "File too large"
79 sys_oserr_entry 60, "Write file open"
80 sys_oserr_entry 61, "File not open"
81 sys_oserr_entry 62, "File not found"
82 sys_oserr_entry 63, "File exists"
83 sys_oserr_entry 64, "File type mismatch"
84 sys_oserr_entry 65, "No block"
85 sys_oserr_entry 66, "Illegal track or sector"
86 sys_oserr_entry 67, "Illegal system track or sector"
87 sys_oserr_entry 70, "No channel"
88 sys_oserr_entry 71, "Directory error"
89 sys_oserr_entry 72, "Disk full"
90 sys_oserr_entry 73, "DOS version mismatch"
91 sys_oserr_entry 74, "Drive not ready"
92 sys_oserr_sentinel "Unknown error"