![](http://datasheet.mmic.net.cn/390000/SYM53C825A_datasheet_16836334/SYM53C825A_30.png)
2-10
SYM53C825A/825AE Data Manual
Functional Description
DMA FIFO
Synchronous SCSI Send
1. If the DMA FIFO size is set to 88 bytes, look
at the DFIFO and DBC registers and calculate
if there are bytes left in the DMA FIFO. To
make this calculation, subtract the seven least
significant bits of the DBC register from the 7-
bit value of the DFIFO register. AND the
result with 7Fh for a byte count between zero
and 88.
If the DMA FIFO size is set to 536 bytes
(using bit 5 of the CT EST 5 register), subtract
the 10 least significant 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 CT EST 5 register and bits 7-0 of the DMA
FIFO register. AND the result with 3FFh for a
byte count between 0 and 536.
2. Read bit 5 in the SSTAT 0 and SSTAT 2
registers to determine if any bytes are left in the
SODL register. If bit 5 is set in the SSTAT 0 or
SSTAT 2, 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.
3. Read bit 6 in the SSTAT 0 and SSTAT 2
registers to determine if any bytes are left in the
SODR register. If bit 6 is set in the SSTAT 0 or
SSTAT 2, then the least significant byte or the
most significant byte in the SODR register is
full, respectively.
Asynchronous SCSI Receive
1. If the DMA FIFO size is set to 88 bytes, look
at the DFIFO and DBC registers and calculate
if there are bytes left in the DMA FIFO. To
make this calculation, subtract the seven least
significant bits of the DBC register from the 7-
bit value of the DFIFO register. AND the
result with 7Fh for a byte count between 0 and
88.
If the DMA FIFO size is set to 536 bytes
(using bit 5 of the CT EST 5 register), subtract
the 10 least significant 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 CT EST 5 register and bits 7-0 of the DMA
FIFO register. AND the result with 3FFh for a
byte count between 0 and 536.
2. Read bit 7 in the SSTAT 0 and SSTAT 2
register to determine if any bytes are left in the
SIDL register. If bit 7 is set in the SSTAT 0 or
SSTAT 2, then the least significant byte or the
most significant byte is full, respectively.
3. If any wide transfers have been performed
using the Chained Move instruction, read the
Wide SCSI Receive bit (SCNT L2, bit 0) to
determine whether a byte is left in the SWIDE
register.