** This is the quasi-official and semi-temporary T13 email list server. ** Hale L: > However, the Microsoft driver method would appear to be flawed and > not conform to the standard ... I didn't follow this criticism?. So long as the host includes all appropriate delays - in particular the 400ns delay for any write expected to flip DEV - the host remains free to poll whatever it wants to poll whenever it wants to poll it? > > Writing x1F6 Device/Head raises BSY as a side effect. > Please note that there is a BIG difference between writing the > Drive/Head register and changing the DEV bit value and writing the > Drive/Head register and not changing the DEV bit. I'll go ask my source whether we know if this makes a difference to the rude devices in question. ** This is the quasi-official and semi-temporary T13 email list server. ** On Fri, 4 May 2001 09:29:39 -0700, Eschmann, Michael K wrote: >Based on observation, most Microsoft drivers wait for busy to clear after >selecting the device and before writing the command (and rest of task file). >I know my drivers do this too. Please note that there is a BIG difference between writing the Drive/Head register and changing the DEV bit value and writing the Drive/Head register and not changing the DEV bit. This difference can be seen in the 'device selection' state diagrams vs. the 'command execution' state diagrams. The 'device selection' state diagram assume the DEV bit may be changing value and it requires the host to delay 400ns before accessing any of the device registers. The 'command execution' state diagrams say the host writes the command parameters into the registers, and that could include writing the Drive/Head register again. But in this case the host should not (shall not?) be changing the value of the DEV bit and no delay on the host side is required. Is this what is confusing some people? However, the Microsoft driver method would appear to be flawed and not conform to the standard. During device selection when the DEV is probably changing, polling for BSY=0 is of little or no value unless that polling is preceeded by that 400ns (or longer) delay. And no polling for BSY=0 is required if the Drive/Head register is being written to update the command parameters (when DEV is not changing value). *** Hale Landis *** [EMAIL PROTECTED] *** *** Niwot, CO USA *** www.ata-atapi.com *** -- If you have any questions or wish to unsubscribe send a message to Hale Landis, [EMAIL PROTECTED] To post to this list server send your message to [EMAIL PROTECTED] For questions concerning Thistle Grove Industries or TGI's list services please send email to [EMAIL PROTECTED] -----Original Message----- From: Pat LaVarre [mailto:[EMAIL PROTECTED]] Sent: Thursday, May 03, 2001 7:33 AM To: [EMAIL PROTECTED] Subject: [temp t13] BSY spontaneously hi ** This is the quasi-official and semi-temporary T13 email list server. ** > (((... Thought number two...))) The discussion of trying to eliminate the check for either of x88 BSY|DRQ hi in x3F6 AlternateStatus before writing parameters and in particular before writing x1F7 Command did not reproduce all of my personal history of pain. I saw no discussion of the case where ... Writing x1F6 Device/Head raises BSY as a side effect. I hear this is popular among a significant population CompactFlash cards we can expect to stay in circulation for at least the next five years. I hear the device-side people were tempted into this evil by observing that both the Ansi texts and Microsoft either blindly wait for BSY|DRQ clear or else immediately write x1F7 Command after writing x1F6 Device/Head. When they wait blindly, everything eventually works. When they immediately write x1F7 Command, well, that's a write of x1F7 Command while BSY|DRQ set, which by and large quietly without notice cancels any command in progress and begins anew ... which in this case works. Pat LaVarre -- If you have any questions or wish to unsubscribe send a message to Hale Landis, [EMAIL PROTECTED] To post to this list server send your message to [EMAIL PROTECTED] For questions concerning Thistle Grove Industries or TGI's list services please send email to [EMAIL PROTECTED]