2-30 Functional Description
bits of the DBC register from the 10-bit value of the DMA FIFO
Byte Offset Counter, which consists of bits [1:0] in the CTEST5
register and bits [7:0] of the DMA FIFO register. AND the result
with 0x3FF for a byte count between zero and 944.
Step 2. Read bit 5 inthe SCSI Stat us Zero (SSTAT0)and SCSI Status
Two (S STAT2 ) registersto determine i fa nybytes are l eft in the
SCSI Output Data Latch (SODL) register.Ifbit5issetinthe
SSTAT0or SSTAT2 register, then the least significant byte or
the most significant byte in the SODL register is full,
respectively. Checking this bit also reveals bytes left in the
SODL register from a Chained Move operation with an odd byte
count.
Synchronous SCSI Send –
Step 1. If the DMA FIFO size is set to 112 bytes (bit 5 of the Chip Test
Five (CTEST5) register cleared), look at the DFIFO and DBC
registers and calculate if there are bytes left in the DMA FIFO.
Tomake this calculation, subtract the seven least signific ant bits
of the DMA Byte Counter (DBC) register from the 7-bit value of
the DMA FIFO (DFIFO) register. AND the result with 0x7F for
a byte count between zero and 112.
If the DMA FIFO size is set to 944 bytes (bit 5 of the CTEST5
register is set), subtract the 10 least significant bits of the DBC
register from the 10-bit value of the DMA FIFO Byte Offset
Counter,whic h consists of bits [1:0] in the CTEST5 register and
bits [7:0] of the DMA FIFO register. AND the result with 0x3FF
for a byte count between zero and 944.
Step 2. Read bit 5 inthe SCSI Stat us Zero (SSTAT0)and SCSI Status
Two (S STAT2 ) registersto determine i fa nybytes are l eft in the
SCSI Output Data Latch (SODL) register.Ifbit5issetinthe
SSTAT0or SSTAT2 register, then the least significant byte or
the most significant byte in the SODL register is full,
respectively. Checking this bit also reveals bytes left in the
SODL register from a Chained Move operation with an odd byte
count.
Step 3. Read bit 6 inthe SCSI Stat us Zero (SSTAT0)and SCSI Status
Two (S STAT2 ) registersto determine i fa nybytes are l eft in the
SODR register (a hidden buffer register which is not
accessible). If bit 6 is set in the SSTAT0 or SSTAT 2 register,