
2-58
Functional Description
2.2.18.2 Wide SCSI Receive Bit
The WSR bit is set following a wide SCSI receive operation (Data-In for
initiator mode or Data-Out for target mode) when the SCSI core is
holding a byte of chain data. The SCSI core holds the byte when the
controller detects a partial transfer at the end of a chained Block Move
instruction. Under this condition the high-order byte is not transferred out
of the DMA channel to memory. Instead, it is stored in the
SCSI Wide
Residue (SWIDE)
register and the WSR flag is set.
The hardware uses the WSR bit to determine what behavior must occur
at the start of the next data receive transfer. If set the stored high-order
byte may be residual data, valid data for a subsequent data transfer, or
overrun data. The byte may be read as normal by starting a data receive
transfer. The WSR bit is automatically cleared at the start of the next data
receive transfer. Performing either a SCSI send operation or any narrow
transfer also clears the bit. In addition, SCRIPTS and the microprocessor
can clear the WSR bit as well as use it for error detection and recovery
purposes.
2.2.18.3 SWIDE Register
For wide asynchronous receive data transfers, the
SCSI Wide Residue
(SWIDE)
register holds the high-order byte of a partial SCSI transfer
which has not yet been transferred to memory. This stored data may be
a residue byte (and therefore ignored) or it may be valid data that is
transferred to memory at the beginning of the next Block Move
instruction.
2.2.18.4 SODL Register
For wide asynchronous send data transfers, the low-order byte of the
SCSI Output Data Latch (SODL)
register holds the low-order byte of a
partial memory transfer which has not yet been transferred across the
SCSI bus. This stored data is usually “married” with the first byte of the
next data send transfer, and both bytes are sent across the SCSI bus at
the start of the next data send Block Move instruction.
2.2.18.5 Chained Block Move SCRIPTS Instruction
A chained Block Move SCRIPTS instruction is primarily used to transfer
consecutive data send or data receive blocks. Using the chained Block