#define ATA_NOP 0x00 #define ATA_DEV_RESET 0x08 #define ATA_PACKETCMD 0xA0 #define ATA_READ_NATIVE_MAX 0xF8 #define ATA_READ_NATIVE_MAX_EXT 0x27 #define ATA_SET_MAX 0xF9 #define ATA_SET_MAX_EXT 0x37 #define ATA_MULTREAD 0xC4 #define ATA_MULTREAD_EXT 0x29 #define ATA_MULTWRITE 0xC5 #define ATA_MULTWRITE_EXT 0x39 #define ATA_IDENTIFY_DEVICE 0xEC #define S_ERROR 0x01 #define S_DRQ 0x08 #define S_SEEK 0x10 #define S_DF 0x20 #define S_READY 0x40 #define S_BUSY 0x80 #define ATAR0_DATA 0 #define ATAR0_FEATURE 1 #define ATAR0_NSECTOR 2 #define ATAR0_SECTOR 3 #define ATAR0_LCYL 4 #define ATAR0_HCYL 5 #define ATAR0_SELECT 6 #define ATAR0_STATUS 7 #define ATAR0_CMD 7 #define ATAR1_CONTROL 2