From ab068d43e30de20c854ad454fce80ad163620a73 Mon Sep 17 00:00:00 2001
From: "ol.sc"
Date: Wed, 16 Jun 2010 21:16:14 +0000
Subject: [PATCH] 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
---
libsrc/apple2/mli.s | 2 +-
libsrc/apple2/oserrlist.s | 48 +++++++++++++++++++--------------------
libsrc/apple2/oserror.s | 48 +++++++++++++++++++--------------------
3 files changed, 49 insertions(+), 49 deletions(-)
diff --git a/libsrc/apple2/mli.s b/libsrc/apple2/mli.s
index a1d05be8c..fa826cc61 100644
--- a/libsrc/apple2/mli.s
+++ b/libsrc/apple2/mli.s
@@ -30,6 +30,6 @@ call: .byte $00
rts
; Load oserror code and return
-oserr: lda #$01 ; "Invalid MLI function code number"
+oserr: lda #$01 ; "Bad system call number"
sec
rts
diff --git a/libsrc/apple2/oserrlist.s b/libsrc/apple2/oserrlist.s
index 2375d9b3b..56cbdf595 100644
--- a/libsrc/apple2/oserrlist.s
+++ b/libsrc/apple2/oserrlist.s
@@ -41,36 +41,36 @@ End:
.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"
diff --git a/libsrc/apple2/oserror.s b/libsrc/apple2/oserror.s
index 88420a5a4..ee0ec6e61 100644
--- a/libsrc/apple2/oserror.s
+++ b/libsrc/apple2/oserror.s
@@ -28,35 +28,35 @@ __osmaperrno:
.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)
--
2.39.5