This message is from the T13 list server.

Ok Pat, you have forced me to look into Atapi transfers, i.e. read the spec and 
talk to Hale.  There are no real ambiguities in the Atapi world either.  The packet 
data from the Host tells the drive exactly how much data is to be transferred for 
all cases but one which turns out not to be amibiguous either.

When there are read and write data transfers, the Host tells the drive and the 
DMA controller exactly how much data will be transferred.  No more and no less 
data will be transferred than was specified in the packet count information 
unless there is an error.

When either a Request Sense or Inquiry Command is issued, the device can 
send in an unknown (but only at the start and during the transfer) amount of 
data.  But when the device is done sending in the data, it will send an interrupt 
to the Host to signal that the transfer is complete.  The Host can then 
determine exactly how much data was transferred by parsing the actually 
returned data.

In this case, the host DMA controller must be programmed to receive the 
maximum amount of data possible.  There is no negotiation in this case.  The 
drive knows precisely how much data it will transfer and tells the Host.

When a mode select command is issued, the Host must tell the drive exactly 
how much data is to be transferred by the Host to the Device in the Packet.  If 
the DMA controller, for whatever reason sends out more data, it will be ignored 
except that it will be run through the devices CRC checker as it waits for the 
CRC "state" to be entered.

If this doesn't answer the doubts in your mind (I mean no offense by this), it 
would seem advisable to talk to someone either face to face or via phone so 
that the specific issues could be discussed back and forth to quickly bring the 
issue to a close.  I would advise contacting Hale.   


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

Reply via email to