Specifications

INTERFACE COMMANDS
7 – 41
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.