This message is from the T13 list server.

No written requirement, aye.  Back in the real world ...

On the device-side there is a community of people who use more or less of the ability 
of some AtapiPio engines to move x0001..FFFF bytes per INTRQ DRQ, rather living by the 
Ansi rules forbidding transfers of odd bytes before the end and xFFFF bytes always.  
Some of these people fell into this by way of coming from 8-bit Scsi, where such 
abilities can be taken for granted.

On the host-side, I know Win95B couldn't transfer odd bytes in response to any INTRQ 
DRQ: to work there the device has to move even counts always.

Also on the host-side I can easily imagine hosts that think they know how many bytes 
to move in response to an Atapi INTRQ DRQ ... can't you?  I take as confirming 
evidence that now here I've heard someone actually speak up and say that the state 
diagram doesn't tell them any different, as indeed it doesn't.

Pat LaVarre

>>> [EMAIL PROTECTED] 12/13/01 01:11PM >>>
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. 


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

Reply via email to