mirror of
https://github.com/Tolik-Trek/Shared_Includes.git
synced 2026-06-15 17:11:33 +03:00
...
This commit is contained in:
parent
6174606ba7
commit
3bc0bf4868
116
constants/ATA.inc
Normal file
116
constants/ATA.inc
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
; ATA-2 commands ************************
|
||||||
|
|
||||||
|
ATA_EXECUTE_DEVICE_DIAGNOSTIC equ 0x90
|
||||||
|
ATA_IDENTIFY_DEVICE equ 0xec
|
||||||
|
ATA_INITIALIZE_DEVICE_PARAMETERS equ 0x91
|
||||||
|
ATA_READ_SECTORS equ 0x20
|
||||||
|
ATA_READ_VERIFY_SECTORS equ 0x40
|
||||||
|
; equ 0x70-0x7f
|
||||||
|
ATA_SEEK equ 0x70
|
||||||
|
ATA_WRITE_SECTORS equ 0x30
|
||||||
|
|
||||||
|
|
||||||
|
; ****** additional commands ************
|
||||||
|
|
||||||
|
ATA_ACKNOWLEDGE_MEDIA_CHANGE equ 0xdb
|
||||||
|
ATA_POST_BOOT equ 0xdc
|
||||||
|
ATA_PRE_BOOR equ 0xdd
|
||||||
|
ATA_CHECK_POWER_MODE equ 0x98
|
||||||
|
ATA_CHECK_POWER_MODE2 equ 0xe5
|
||||||
|
ATA_DOOR_LOCK equ 0xde
|
||||||
|
ATA_DOOR_UNLOCK equ 0xdf
|
||||||
|
ATA_DOWNLOAD_MICROCODE equ 0x92
|
||||||
|
ATA_IDLE equ 0x97
|
||||||
|
ATA_IDLE2 equ 0xe3
|
||||||
|
ATA_IDLE_IMMENDIATE equ 0x95
|
||||||
|
ATA_IDLE_IMMENDIATE2 equ 0xe1
|
||||||
|
ATA_MEDIA_EJECT equ 0xed
|
||||||
|
ATA_NOP equ 0x00
|
||||||
|
ATA_READ_BUFFER equ 0xe4
|
||||||
|
ATA_READ_DMA equ 0xc8
|
||||||
|
ATA_READ_LONG equ 0x22
|
||||||
|
ATA_READ_MULTIPLE equ 0xc4
|
||||||
|
; equ 0x10-0x1f
|
||||||
|
ATA_RECALIBRATE equ 0x10
|
||||||
|
ATA_SET_FEATURES equ 0xef
|
||||||
|
ATA_SET_MULTIPLE_MODE equ 0xc6
|
||||||
|
ATA_SLEEP equ 0x99
|
||||||
|
ATA_SLEEP2 equ 0xe6
|
||||||
|
ATA_STANDBY equ 0x96
|
||||||
|
ATA_STANDBY2 equ 0xe2
|
||||||
|
ATA_STANDBY_IMMENDIATE equ 0x94
|
||||||
|
ATA_STANDBY2_IMMENDIATE equ 0xe0
|
||||||
|
ATA_WRITE_BUFFER equ 0xe8
|
||||||
|
ATA_WRITE_DMA equ 0xca
|
||||||
|
ATA_WRITE_LONG equ 0x32
|
||||||
|
ATA_WRITE_MULTIPLE equ 0xc5
|
||||||
|
ATA_WRITE_SAME equ 0xe9
|
||||||
|
ATA_WRITE_VERIFY equ 0x3c
|
||||||
|
|
||||||
|
|
||||||
|
; **** device specific commands *************
|
||||||
|
|
||||||
|
; TODO remap command
|
||||||
|
ATA_FORMAT_TRACK equ 0x50
|
||||||
|
|
||||||
|
|
||||||
|
; command modificators
|
||||||
|
; for ATA_READ_SECTORS, ATA_WRITE_SECTORS, ATA_VERIFY_SECTORS,
|
||||||
|
; ATA_READ_DMA, ATA_WRITE_DMA, ATA_READ_LONG, ATA_WRITE_LONG
|
||||||
|
ATA_WITHOUT_RETRY equ 0x01
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ATA registers *****************************
|
||||||
|
|
||||||
|
; command registers
|
||||||
|
|
||||||
|
ATA_DATA_REG equ 0
|
||||||
|
ATA_ERROR_REG equ 1
|
||||||
|
ATA_FEATURES_REG equ 1
|
||||||
|
ATA_SECTOR_COUNT equ 2
|
||||||
|
ATA_SECTOR_NUMBER equ 3
|
||||||
|
ATA_CYLINDER_LOW equ 4
|
||||||
|
ATA_CYLINDER_HIGH equ 5
|
||||||
|
ATA_DEVICE_HEAD equ 6
|
||||||
|
ATA_STATUS equ 7
|
||||||
|
ATA_COMMAND equ 7
|
||||||
|
|
||||||
|
|
||||||
|
; control registers
|
||||||
|
ATA_ALTERNATE_STATUS equ 0x16
|
||||||
|
ATA_DEVICE_CONTROL equ 0x16
|
||||||
|
ATA_DRIVE_ADDRESS equ 0x17
|
||||||
|
|
||||||
|
|
||||||
|
; status register bits
|
||||||
|
ATA_BUSY equ 0x80
|
||||||
|
ATA_READY equ 0x40
|
||||||
|
ATA_FAULT equ 0x20
|
||||||
|
ATA_SEEK_COMPLETE equ 0x10
|
||||||
|
ATA_DATA_REQUEST equ 0x08
|
||||||
|
ATA_CORRECTED_DATA equ 0x04
|
||||||
|
ATA_INDEX equ 0x02
|
||||||
|
ATA_ERROR equ 0x01
|
||||||
|
|
||||||
|
|
||||||
|
; device/head register bits
|
||||||
|
ATA_LBA equ 0x40
|
||||||
|
ATA_DEVICE equ 0x10
|
||||||
|
|
||||||
|
|
||||||
|
; device control register bits
|
||||||
|
ATA_SOFT_RESET equ 0x04
|
||||||
|
ATA_INTERRUPT_DISABLE equ 0x02
|
||||||
|
|
||||||
|
|
||||||
|
; error register bits
|
||||||
|
ATA_UNCORRECTABLE equ 0x40
|
||||||
|
ATA_MEDIA_CHANGED equ 0x20
|
||||||
|
ATA_ID_NOT_FOUND equ 0x10
|
||||||
|
ATA_ABORTED equ 0x08
|
||||||
|
ATA_MEDIA_CHANGE_REQUESTED equ 0x04
|
||||||
|
ATA_TRACK_0_NOT_FOUND equ 0x02
|
||||||
|
ATA_ADDERSS_MARK_NOT_FOUND equ 0x01
|
||||||
|
;
|
||||||
Loading…
Reference in New Issue
Block a user