Specifications

INTERFACE COMMANDS
7 – 48
Read Commands
Read Sector(s)
Reads from 1 to 256 sectors, as specified in the Command Block, beginning at the specified sector. (A sector
count of 0 requests 256 sectors.) Immediately after the Command register is written, the drive sets the BSY bit and
begins execution of the command. If the drive is not already on the desired track, an implied seek is performed.
Once at the desired track, the drive searches for the data address mark of the requested sector. The data address
mark must be recognized within a specified number of bytes, or the Data Address Mark Not Found error will be
reported. Assuming the data address mark is found:
1. The data field is read into the sector buffer.
2. Error bits are set (if an error was encountered).
3. The DRQ bit is set.
4. An interrupt is generated.
The DRQ bit is always set, regardless of the presence or absence of an error condition after the sector. Upon
command completion, the Command Block registers contain the numbers of the cylinder, head and sector of the
last sector read. Back-to-back sector read commands set DRQ and generate an interrupt when the sector buffer is
filled at the completion of each sector. The drive is then ready for the data to be read by the host. DRQ is reset
and BSY is set immediately when the host empties the sector buffer.
If an error occurs during Read Sector commands, the read terminates at the sector where the error occurred. The
host may then read the Command Block to determine the nature of that error, and the sector where it happened.
If the error type is a correctable or an non-correctable data error, the flawed data is loaded into the sector buffer.
A Read Long command sets the Long bit in the command code and returns the data and the ECC bytes in the
data field of the specified sector. During a Read Long, the drive does not check the ECC bytes to determine if
there has been a data error. The Read Long command is limited to single sector requests.
Read Verify Sector(s)
Identical to the Read Sector(s) command, except that:
1. DRQ is never set,
2. No data is transferred back to the host and
3. The long bit is not valid.
The drive sets BSY when the Command register is written; the drive resets BSY and generates an interrupt once
the requested sectors have been verified. Upon command completion, the Command Block registers contain the
numbers of cylinder, head, and last sector verified.
If an error occurs during the execution of Read Verify Sector(s) commands, the read terminates at the sector
where the error happened. The Command Block registers then contain the numbers of the cylinder, head, and
sector information where the error occurred.
Read Sector Buffer
Allows the host to read the contents of the drive’s sector buffer. When the command is received, the drive:
1. Sets BSY,
2. Sets up the sector buffer for a read operation,
3. Sets DRQ,
4. Resets BSY and
5. Generates an interrupt.
The host may then read up to 256 words of data from the buffer.