This message is from the T13 list server.
With UDma, vs. Pio, maybe the main thing that is really new & different - and therefore most painful - is that bytes can cross the bus that the device did not request. Suppose a write for 514 bytes goes to a device that in Pio mode would have requested 512 bytes. Suppose the last 2 bytes cross the bus after the device initiates the final terminating pause. We can now look forward to variety in how the device responds. Does the device receive these bytes into a fifo, include them in the Crc, and then quietly discard them? Wrong answer - but maybe popular? Does the device report a Crc error - either artificially or indirectly and not quite perfectly by excluding the bytes from the Crc? But there was no Crc error - all that actually happened was that the sender moved too many bytes. I wonder how often this occurs because I hear Windows has a tradition of ignoring this case, by accident because of a conscious (and wrong-headed) decision to tolerate a sender of data sending too few bytes of data in. Does an Atapi device go "unexpectedly bus free" i.e. clear BSY:DRQ = 0:0 without raising INTRQ or setting C/D I/O = x03 StatusIn? Any interrupt-driven host will see this as a hang. All evil choices, no good choices, yes? What do actual Atapi devices do? Pat LaVarre >>> "Pat LaVarre" <[EMAIL PROTECTED]> 12/04/01 10:36AM >>> ... // The Bottom Line: Standard Atapi UDma DOES count bytes as well as standard Atapi Sw/MwDma. And that's as good as merely standard Atapi Pio for any even total of bytes. Subscribe/Unsubscribe instructions can be found at www.t13.org.