rts
; Load oserror code and return
-oserr: lda #$01 ; "Invalid MLI function code number"
+oserr: lda #$01 ; "Bad system call number"
sec
rts
.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 $01, "Bad system call number"
+ sys_oserr_entry $04, "Bad system call parameter count"
+ sys_oserr_entry $25, "Interrupt vector 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 $28, "No device detected/connected"
+ sys_oserr_entry $2B, "Disk write protected"
sys_oserr_entry $2E, "Disk switched"
- sys_oserr_entry $2F, "No disk in drive"
+ sys_oserr_entry $2F, "Device off-line"
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 $42, "File Control Block table full"
+ sys_oserr_entry $43, "Invalid reference number"
+ sys_oserr_entry $44, "Path not found"
+ sys_oserr_entry $45, "Volume directory not found"
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 $47, "Duplicate filename"
+ sys_oserr_entry $48, "Overrun error"
+ sys_oserr_entry $49, "Volume directory full"
+ sys_oserr_entry $4A, "Incompatible file format"
+ sys_oserr_entry $4B, "Unsupported storage_type"
+ sys_oserr_entry $4C, "End of file has been encountered"
+ sys_oserr_entry $4D, "Position out of range"
+ sys_oserr_entry $4E, "Access error"
+ sys_oserr_entry $50, "File is open"
+ sys_oserr_entry $51, "Directory count error"
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 $53, "Invalid parameter"
+ sys_oserr_entry $55, "Volume Control Block table full"
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_entry $57, "Duplicate volume"
+ sys_oserr_entry $5A, "Bit map disk address is impossible"
sys_oserr_sentinel "Unknown error"
.rodata
-ErrTab: .byte $01, ENOSYS ; Invalid MLI function code number
- .byte $04, EINVAL ; Incorrect parameter count
- .byte $25, ENOMEM ; Interrupt table full
+ErrTab: .byte $01, ENOSYS ; Bad system call number
+ .byte $04, EINVAL ; Bad system call parameter count
+ .byte $25, ENOMEM ; Interrupt vector table full
.byte $27, EIO ; I/O error
- .byte $28, ENODEV ; No device connected
- .byte $2B, EACCES ; Write protected
+ .byte $28, ENODEV ; No device detected/connected
+ .byte $2B, EACCES ; Disk write protected
; .byte $2E, EUNKNOWN ; Disk switched
- .byte $2F, ENODEV ; No disk in drive
+ .byte $2F, ENODEV ; Device off-line
.byte $40, EINVAL ; Invalid pathname syntax
- .byte $42, EMFILE ; Too many files open
- .byte $43, EINVAL ; Bad reference number
- .byte $44, ENOENT ; Bad pathname
- .byte $45, ENOENT ; Volume not mounted
+ .byte $42, EMFILE ; File Control Block table full
+ .byte $43, EINVAL ; Invalid reference number
+ .byte $44, ENOENT ; Path not found
+ .byte $45, ENOENT ; Volume directory not found
.byte $46, ENOENT ; File not found
- .byte $47, EEXIST ; File already exists
- .byte $48, ENOSPC ; Disk full
- .byte $49, ENOSPC ; Directory full
-; .byte $4A, EUNKNOWN ; Incompatible ProDOS version
- .byte $4B, EINVAL ; Unsupported storage type
-; .byte $4C, EUNKNOWN ; End of file
- .byte $4D, ESPIPE ; Position past EOF
- .byte $4E, EACCES ; Access denied
- .byte $50, EINVAL ; File already open
-; .byte $51, EUNKNOWN ; File count bad
+ .byte $47, EEXIST ; Duplicate filename
+ .byte $48, ENOSPC ; Overrun error
+ .byte $49, ENOSPC ; Volume directory full
+; .byte $4A, EUNKNOWN ; Incompatible file format
+ .byte $4B, EINVAL ; Unsupported storage_type
+; .byte $4C, EUNKNOWN ; End of file has been encountered
+ .byte $4D, ESPIPE ; Position out of range
+ .byte $4E, EACCES ; Access error
+ .byte $50, EINVAL ; File is open
+; .byte $51, EUNKNOWN ; Directory count error
.byte $52, ENODEV ; Not a ProDOS disk
- .byte $53, ERANGE ; Parameter out of range
- .byte $55, EMFILE ; Too many devices mounted
+ .byte $53, ERANGE ; Invalid parameter
+ .byte $55, EMFILE ; Volume Control Block table full
.byte $56, EINVAL ; Bad buffer address
-; .byte $57, EUNKNOWN ; Duplicate volume name
-; .byte $5A, EUNKNOWN ; Damaged disk free space bit map
+; .byte $57, EUNKNOWN ; Duplicate volume
+; .byte $5A, EUNKNOWN ; Bit map disk address is impossible
ErrTabSize = (* - ErrTab)