There are some errors which are either not associated with
a particular request, or can occur on almost every request,
that are described in detail here.
An INVALID OPERATION
error (code Cl) will occur anytime the request code is not
one of the valid operations for the device addressed.
ZDOS
will respond with this code to operation READ LINE (Oe),
WRITE LINE (10), and WRITE DIRECT (14), as well as
anything 32 or over.
Disk I/O errors can occur on almost any operation.
There
are 5 different errors that can occur, though some of them
have other meanings as well.
A NOT READY error (code C2)
indicates that an attempt was made to access a drive which
was not asserting its READY signal.
This may also signify
designation of an operation to a drive which was recorded
as being not ready at initialization.
A WRITE PROTECT
error (code C3) indicates that an attempt was made to write
on a disk which is physically write protected.
This could
also indicate a request which would cause a change in a
file which is (software) write protected, or a request
which would remove records from a file which is erase
protected.
A SECTOR error (code C4) is always a media or
hardware problem, indicating that the sector header
information read did not agree with the location recorded
on the disk.
A TRACK ERROR (code C5)
indicates that
there was a hard seek error, or that the sector address
header was destroyed, or else that an invalid track was
requested from the floppy driver (a ZDOS software error!).
A CRC ERROR (code C6) indicates that there was a data
error in transmitting from the disk to memory, or that the
data was written incorrectly on the disk in the first place.
Another error which could conceivably occur almost anytime
is LOGICAL UNIT TABLE FULL (code CF).
ZDOS maintains an
internal mapping between the 255 possible logical unit
designations and the 16 for which it has space.
The first
reference to a new unit causes it to be entered in this
map.
If the unit given is not found in the map, and there
are no empty entries in it, then this error is returned.
An entry is removed from this map when a file is closed, or
when one is found to be not open when it should be.
The
table is also cleared when an INITIALIZE request is done.
- 121 -
Need help?
Do you have a question about the Z80-RIO and is the answer not in the manual?
Questions and answers