This message is from the T13 list server.
On Mon, 15 Apr 2002 14:16:00 -0600, Pat LaVarre wrote: >This message is from the T13 list server. >> Hale: Why do you need all 16-bits of the Byte Count registers to report a >residue value that can only be 0 or 1? >Pat: In UDma 2 this value is sometimes as high as 5. I know at length here before >I've failed to explain clearly why, but it's a fact. That is because it isn't a fact. Here again we are back to what I can only describe as a failure to understand how ATA/ATAPI data transfers are performed and especially how UltraDMA transfers are performed. I have posted several examples in an attempt to clear up this misconception. Apparently you keep ignoring them because you think they are not "real world" enough, yet they demostrate many of the very basic issues that we keeping commenting on here without resolution. >In practice my fix for getting direction straight was (d) to write x1F3 with >x80 In or x00 Out before o x1F7 xA0 Packet, to let the device see the >direction the host wanted. This has never been necessary to my knowledge in 10+ years of ATA or 8+ years of ATAPI. Why now? The direction of data movement and the amount of data moved by a command is not open for negotiation. The command, be it an ATA hard disk command or an ATAPI/SCSI CDB, absolutely and without question determines the data direction and the amount of data. A host must have every expection that the device will properly execute the command or indicate error status. Why are we talking about this here? This is one of the most basic concepts of computer I/O? *** Hale Landis *** www.ata-atapi.com ***
