Use MLI error names from ProDOS 8 Technical Reference Manual (and ProDOS 8 Technical Note #21).

git-svn-id: svn://svn.cc65.org/cc65/trunk@4722 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
ol.sc
2010-06-16 21:16:14 +00:00
parent 148a6569e5
commit ab068d43e3
3 changed files with 49 additions and 49 deletions

View File

@@ -30,6 +30,6 @@ call: .byte $00
rts rts
; Load oserror code and return ; Load oserror code and return
oserr: lda #$01 ; "Invalid MLI function code number" oserr: lda #$01 ; "Bad system call number"
sec sec
rts rts

View File

@@ -41,36 +41,36 @@ End:
.rodata .rodata
__sys_oserrlist: __sys_oserrlist:
sys_oserr_entry $01, "Invalid MLI function code number" sys_oserr_entry $01, "Bad system call number"
sys_oserr_entry $04, "Incorrect parameter count" sys_oserr_entry $04, "Bad system call parameter count"
sys_oserr_entry $25, "Interrupt table full" sys_oserr_entry $25, "Interrupt vector table full"
sys_oserr_entry $27, "I/O error" sys_oserr_entry $27, "I/O error"
sys_oserr_entry $28, "No device connected" sys_oserr_entry $28, "No device detected/connected"
sys_oserr_entry $2B, "Write protected" sys_oserr_entry $2B, "Disk write protected"
sys_oserr_entry $2E, "Disk switched" 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 $40, "Invalid pathname syntax"
sys_oserr_entry $42, "Too many files open" sys_oserr_entry $42, "File Control Block table full"
sys_oserr_entry $43, "Bad reference number" sys_oserr_entry $43, "Invalid reference number"
sys_oserr_entry $44, "Bad pathname" sys_oserr_entry $44, "Path not found"
sys_oserr_entry $45, "Volume not mounted" sys_oserr_entry $45, "Volume directory not found"
sys_oserr_entry $46, "File not found" sys_oserr_entry $46, "File not found"
sys_oserr_entry $47, "File already exists" sys_oserr_entry $47, "Duplicate filename"
sys_oserr_entry $48, "Disk full" sys_oserr_entry $48, "Overrun error"
sys_oserr_entry $49, "Directory full" sys_oserr_entry $49, "Volume directory full"
sys_oserr_entry $4A, "Incompatible ProDOS version" sys_oserr_entry $4A, "Incompatible file format"
sys_oserr_entry $4B, "Unsupported storage type" sys_oserr_entry $4B, "Unsupported storage_type"
sys_oserr_entry $4C, "End of file" sys_oserr_entry $4C, "End of file has been encountered"
sys_oserr_entry $4D, "Position past EOF" sys_oserr_entry $4D, "Position out of range"
sys_oserr_entry $4E, "Access denied" sys_oserr_entry $4E, "Access error"
sys_oserr_entry $50, "File already open" sys_oserr_entry $50, "File is open"
sys_oserr_entry $51, "File count bad" sys_oserr_entry $51, "Directory count error"
sys_oserr_entry $52, "Not a ProDOS disk" sys_oserr_entry $52, "Not a ProDOS disk"
sys_oserr_entry $53, "Parameter out of range" sys_oserr_entry $53, "Invalid parameter"
sys_oserr_entry $55, "Too many devices mounted" sys_oserr_entry $55, "Volume Control Block table full"
sys_oserr_entry $56, "Bad buffer address" sys_oserr_entry $56, "Bad buffer address"
sys_oserr_entry $57, "Duplicate volume name" sys_oserr_entry $57, "Duplicate volume"
sys_oserr_entry $5A, "Damaged disk free space bit map" sys_oserr_entry $5A, "Bit map disk address is impossible"
sys_oserr_sentinel "Unknown error" sys_oserr_sentinel "Unknown error"

View File

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