mirror of
https://github.com/Tolik-Trek/Shared_Includes.git
synced 2026-06-16 01:21:07 +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