This message is from the T13 list server.
On 4/15/02, Pat LaVarre <> wrote (in response to Harlan's questions): >.... >> Where do 1F4 and 1F5 get involved ? >> Is it defined anywhere that they should have a particular value >> at the end of the transfer ? > >Not yet. > > >> > Microsoft Win95B >> I think the device did the correct thing to try to send 6 bytes (3 >> words). Did Microsoft actually round down and only request 4 bytes (2 >> words) ??? Seems 'odd' to me. > >Win95B did actually round down. This forced me to make only even amounts of >data available in the device e.g. for the Cdb -x 12 0 0 0 FF 0 my device only >asked to copy an even x7A count of bytes In, rather than the legacy odd count >of x79. > >Win98 & WinMe are ok here. > >.... Pat, We can't help it if Microsoft chose to handle the situation differently in there various implementations. The fact that they are now rounding UP suggests that they decided that was the correct way to go. Devices should round UP, not down. However, all is not lost. It is possible to make an Application which handles Inquiry on all the various Windows variations. Simply break the Inquiry command into two chunks. Request 6 bytes (or maybe 8 bytes) in the first chunk then analyze the length byte and request Inquiry again with the correct length. The command Cdb -x 12 0 0 0 FF 0 in Wide SCSI could result in Pad byte(s) being transferred across the bus. In order to handle 8-bit devices, 16-bit devices and 32-bit devices on the same SCSI bus, it is safest to request the length in one command and get the full data in the next command. However, this would also be true in PIO mode. ...Harlan
