| ata.inc | |
| Constants | |
| ATA_DATA | Read/Write data |
| ATA_ERROR | |
| ATA_FEATURES | |
| ATA_SECCOUNT | |
| ATA_SECNUM | |
| ATA_CYLLO | |
| ATA_CYLHI | |
| ATA_DRVHEAD | Drive/Head register |
| ATA_COMMAND | |
| ATA_CMD_RESTORE | Recalibrate |
| ATA_CMD_DIAGNOSTIC | Execute device diagnostic |
| ATA_CMD_IDENTIFY | |
| ATA_STATUS | |
| ATA_CTRL | Device control register (Control base + 0) |
| ATA_DRVADDR | |
| Functions | |
| ata_wait | |
| ata_select | |
| ata_probe | |
| ata_init |
ATA_ERROR = 0x1
┌────┬─────┬────┬───┬────┬──┬───┬───┐
│AMNF│TKZNF│ABRT│MCR│IDNF│MC│UNC│BBK│
└────┴─────┴────┴───┴────┴──┴───┴───┘
7 6 5 4 3 2 1 0| AMNF | Address mark not found. |
| TKZNF | Track zero not found. |
| ABRT | Aborted command. |
| MCR | Media change request. |
| IDNF | ID not found. |
| MC | Media changed |
| UNC | Uncorrectable data error. |
| BBK | Bad Block detected. |
Read/Write data
ATA_DATA = 0x0
ATA_ERROR = 0x1
ATA_FEATURES = 0x1
ATA_SECCOUNT = 0x2
ATA_SECNUM = 0x3
ATA_CYLLO = 0x4
ATA_CYLHI = 0x5
Drive/Head register
ATA_DRVHEAD = 0x6
ATA_COMMAND = 0x7
Recalibrate
ATA_CMD_RESTORE = 0x10
Execute device diagnostic
ATA_CMD_DIAGNOSTIC = 0x90
ATA_CMD_IDENTIFY = 0xA0
ATA_STATUS = 0x7
Device control register (Control base + 0)
ATA_CTRL = 0x0
ATA_DRVADDR = 0x1
ata_wait
ata_select
ata_probe
ata_init