beq :+ ; Found drive_id in device list
dex
bpl :-
- lda #$28 ; "No device detected/connected"
+ lda #$28 ; "No device connected"
; Return oserror
oserr: sta __oserror
bcc copy
; Load oserror code
- lda #$40 ; "Invalid pathname syntax"
+ lda #$40 ; "Invalid pathname"
; Free pathname buffer
addsp65:ldy #64+1
__sys_oserrlist:
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 $25, "Interrupt table full"
sys_oserr_entry $27, "I/O error"
- sys_oserr_entry $28, "No device detected/connected"
+ sys_oserr_entry $28, "No device connected"
sys_oserr_entry $2B, "Disk write protected"
sys_oserr_entry $2E, "Disk switched"
sys_oserr_entry $2F, "Device off-line"
- sys_oserr_entry $40, "Invalid pathname syntax"
- sys_oserr_entry $42, "File Control Block table full"
+ sys_oserr_entry $40, "Invalid pathname"
+ sys_oserr_entry $42, "Maximum number of files open"
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 $44, "Directory not found"
+ sys_oserr_entry $45, "Volume not found"
sys_oserr_entry $46, "File not found"
sys_oserr_entry $47, "Duplicate filename"
- sys_oserr_entry $48, "Overrun error"
+ sys_oserr_entry $48, "Volume full"
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 $4C, "End of file encountered"
sys_oserr_entry $4D, "Position out of range"
- sys_oserr_entry $4E, "Access error"
+ sys_oserr_entry $4E, "File access error"
sys_oserr_entry $50, "File is open"
- sys_oserr_entry $51, "Directory count error"
+ sys_oserr_entry $51, "Directory structure damaged"
sys_oserr_entry $52, "Not a ProDOS disk"
- sys_oserr_entry $53, "Invalid parameter"
+ sys_oserr_entry $53, "Invalid system call parameter"
sys_oserr_entry $55, "Volume Control Block table full"
sys_oserr_entry $56, "Bad buffer address"
sys_oserr_entry $57, "Duplicate volume"
- sys_oserr_entry $5A, "Bit map disk address is impossible"
+ sys_oserr_entry $5A, "File structure damaged"
sys_oserr_sentinel "Unknown error"
ErrTab: .byte $01, ENOSYS ; Bad system call number
.byte $04, EINVAL ; Bad system call parameter count
- .byte $25, ENOMEM ; Interrupt vector table full
+ .byte $25, ENOMEM ; Interrupt table full
.byte $27, EIO ; I/O error
- .byte $28, ENODEV ; No device detected/connected
+ .byte $28, ENODEV ; No device connected
.byte $2B, EACCES ; Disk write protected
; .byte $2E, EUNKNOWN ; Disk switched
.byte $2F, ENODEV ; Device off-line
- .byte $40, EINVAL ; Invalid pathname syntax
- .byte $42, EMFILE ; File Control Block table full
+ .byte $40, EINVAL ; Invalid pathname
+ .byte $42, EMFILE ; Maximum number of files open
.byte $43, EINVAL ; Invalid reference number
- .byte $44, ENOENT ; Path not found
- .byte $45, ENOENT ; Volume directory not found
+ .byte $44, ENOENT ; Directory not found
+ .byte $45, ENOENT ; Volume not found
.byte $46, ENOENT ; File not found
.byte $47, EEXIST ; Duplicate filename
- .byte $48, ENOSPC ; Overrun error
+ .byte $48, ENOSPC ; Volume full
.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 $4C, EUNKNOWN ; End of file encountered
.byte $4D, ESPIPE ; Position out of range
- .byte $4E, EACCES ; Access error
+ .byte $4E, EACCES ; File access error
.byte $50, EINVAL ; File is open
-; .byte $51, EUNKNOWN ; Directory count error
- .byte $52, ENODEV ; Not a ProDOS disk
- .byte $53, ERANGE ; Invalid parameter
+; .byte $51, EUNKNOWN ; Directory structure damaged
+ .byte $52, ENODEV ; Not a ProDOS volume
+ .byte $53, ERANGE ; Invalid system call parameter
.byte $55, EMFILE ; Volume Control Block table full
.byte $56, EINVAL ; Bad buffer address
; .byte $57, EUNKNOWN ; Duplicate volume
-; .byte $5A, EUNKNOWN ; Bit map disk address is impossible
+; .byte $5A, EUNKNOWN ; File structure damaged
ErrTabSize = (* - ErrTab)
ldx #RW_COUNT
jsr callmli
bcc rwepilog
- cmp #$4C ; "End of file"
+ cmp #$4C ; "End of file encountered"
bne oserr
rwepilog: