3 * - By John Hodge (thePowersGang)
13 ATA_CMD_IDENTIFY_DEVICE = 0xEC,
14 ATA_CMD_READDMA48 = 0x25,
15 ATA_CMD_READDMA28 = 0xC8,
18 #define ATA_STATUS_ERR 0x01 // Error encountered
19 #define ATA_STATUS_DRQ 0x08 // Data Request
20 #define ATA_STATUS_CDEP 0x10 // Command-dependent
21 #define ATA_STATUS_DF 0x20 // Device Fault
22 #define ATA_STATUS_DRDY 0x40 // Device ready
23 #define ATA_STATUS_BSY 0x80 // Device busy
25 typedef struct sATA_Identify tATA_Identify;
28 * \brief Structure returned by the ATA IDENTIFY command
33 Uint16 Usused1[9]; // 10
34 char SerialNum[20]; // 20
35 Uint16 Usused2[3]; // 23
36 char FirmwareVer[8]; // 27
37 char ModelNumber[40]; // 47
38 Uint16 SectPerInt; // 48 - Low byte only
40 Uint16 Capabilities[2]; // 51
41 Uint16 Unused4[2]; // 53
42 Uint16 ValidExtData; // 54
43 Uint16 Unused5[5]; // 59
44 Uint16 SizeOfRWMultiple; // 60
45 Uint32 Sectors28; // LBA 28 Sector Count
46 Uint16 Unused6[100-62];
47 Uint64 Sectors48; // LBA 48 Sector Count
48 Uint16 Unused7[256-104];