This message is from the T13 list server.

On Thu, 13 Dec 2001 10:33:26 -0800, Ooi, Thien Ern wrote:
>Could you elaborate on your statement:
>"Today in ATAPI/PIO the receiver in DATA IN gets the byte count explicitly
>from the device in the form of register values.  The receiver then uses that
>to generate the correct number of PIO clocks. "

The ATAPI PIO data transfer protocol allows a device to break a data
transfer into multiple DRQ data blocks. There is *NO* requirment that
the DRQ data blocks be the same size as a media data block. There are
basically no restrictions on what a device is allowed to do other
than:

* All DRQ blocks, except the last, shall be a mulitple of 2 bytes.
* A DRQ block can not be more than FFFEH bytes.
* A DRQ block shall not be larger than the size set by the host
  in the Byte Count Limit (BCL) at the time the PACKET command was
started
  (a host is allowed to set a BCL of 2, 4, 6, 8, ... FFFCH, FFFEH).

Except when transferring the command packet, each time an ATAPI
device has status of BSY=0 DRQ=1 the device shall have placed into
the Byte Count (BC) registers (aka, Cyl Hi/Lo regs) the number of
bytes the host shall transfer for the current DRQ block. Again this
need not be the number of bytes in the device's media data block.


***  Hale Landis  *** [EMAIL PROTECTED] ***
*** Niwot, CO USA ***   www.ata-atapi.com   ***


Subscribe/Unsubscribe instructions can be found at www.t13.org.

Reply via email to