IDE 1F6 Question

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Banal Miring
Posts: 2
Joined: Sat Nov 17, 2007 2:23 pm

IDE 1F6 Question

Post by Banal Miring »

In the implementations of reading from an IDE drive that I've read, whatever is outputted to 1F6 always gets or'd with E0(1110 0000), however, the specs that I've seen read like this-

Code: Select all

     +-----+----------+---------------------------------------------------------+
     | BIT | Mnemonic | Description                                             |
     +-----+----------+---------------------------------------------------------+
     |  7  | Reserved | Always one.                                             |
     |  6  | Reserved | Always zero.                                            |
     |  5  | Reserved | Always one.                                             |
     |  4  | DRV      | 0 to select primary drive, 1 to select secondary drive. |
     |  3  | HS3      | MSB of head number.                                     |
     |  2  | HS2      |                                                         |
     |  1  | HS1      |                                                         |
     |  0  | HS0      | LSB of head number.                                     |
     +-----+----------+---------------------------------------------------------+
Going by this spec, it seems that it should be or'd with A0(1010 0000), not E0.

Doing some searching, I think that the significance of turning on the 6 bit has to do with enabling LBA, but I'm not too clear.

Does anyone know why this bit gets turned on, or have a pointer to better documentation?

Thanks
User avatar
bewing
Member
Member
Posts: 1401
Joined: Wed Feb 07, 2007 1:45 pm
Location: Eugene, OR, US

Post by bewing »

You are correct. Once you know that the drive supports LBA (from the results of an IDENTIFY command), you turn on bit 6 to select LBA mode. The spec you are looking at is quite old, and is only for CHS mode.
A much more current spec is available at t13.org
http://www.t13.org/Documents/UploadedDo ... A8-ACS.pdf
Post Reply