mirror of
https://github.com/Tolik-Trek/Shared_Includes.git
synced 2026-06-15 09:01:33 +03:00
...
This commit is contained in:
parent
1d82cd52ea
commit
ccb95c96a5
@ -719,7 +719,8 @@ SYS_PAGE EQU #FE
|
|||||||
.CURRENT_DIR_DRIVE EQU #C19A
|
.CURRENT_DIR_DRIVE EQU #C19A
|
||||||
.CURRENT_DIR_DRIVE_COPY EQU #C19B
|
.CURRENT_DIR_DRIVE_COPY EQU #C19B
|
||||||
;
|
;
|
||||||
;!TODO EQU #C19C..#C19F
|
.ATAPI_DRQ_INTERCEPTOR EQU #C19C ; [ ] ¤«ï äãªæ¨© 5x ¨ ATAPI ;!FIXIT
|
||||||
|
;!TODO EQU #C19D..#C19F
|
||||||
;.LIB_TABLE EQU #C1A0..#C1BF ; â ¡«¨æë Library 32 ¡ ©â
|
;.LIB_TABLE EQU #C1A0..#C1BF ; â ¡«¨æë Library 32 ¡ ©â
|
||||||
|
|
||||||
; <EFBFBD>… <EFBFBD>€‡„…‹Ÿ’œ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
; <EFBFBD>… <EFBFBD>€‡„…‹Ÿ’œ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -1698,7 +1699,7 @@ Config_PG:
|
|||||||
; 4 - ª®«¨ç¥á⢮ 樫¨¤à®¢ áâ à訩.
|
; 4 - ª®«¨ç¥á⢮ 樫¨¤à®¢ áâ à訩.
|
||||||
; 5 - ᥪâ®à®¢ 樫¨¤à ¬«.
|
; 5 - ᥪâ®à®¢ 樫¨¤à ¬«.
|
||||||
; 6 - ᥪâ®à®¢ 樫¨¤à áâ àè.
|
; 6 - ᥪâ®à®¢ 樫¨¤à áâ àè.
|
||||||
; 7 - ⨯ ¤à ©¢ HDD - 1, CD-ROM - 2, NONE - #FF
|
; 7 - ⨯ ¤à ©¢ HDD - 1, CD-ROM - 2...
|
||||||
STRUCT HDD_INIT_TABLE
|
STRUCT HDD_INIT_TABLE
|
||||||
DRV_Flags BYTE ; 0 DRVHD_H
|
DRV_Flags BYTE ; 0 DRVHD_H
|
||||||
SectorsPerTrack BYTE ; 1 SC_PT_H
|
SectorsPerTrack BYTE ; 1 SC_PT_H
|
||||||
@ -1724,7 +1725,7 @@ INIT_TBL_IDE3 HDD_INIT_TABLE = SYS_PAGE.IDE_3 ; !HARDCODE table in SYS_PAGE
|
|||||||
; <EFBFBD>¨â 6 - Write Gate - ¡¨â ¢ë¯®«¥¨ï § ¯¨á¨, ªâ¨¢¥ ¢® ¢à¥¬ï ®¯¥à 樨 § ¯¨á¨
|
; <EFBFBD>¨â 6 - Write Gate - ¡¨â ¢ë¯®«¥¨ï § ¯¨á¨, ªâ¨¢¥ ¢® ¢à¥¬ï ®¯¥à 樨 § ¯¨á¨
|
||||||
|
|
||||||
Write:
|
Write:
|
||||||
.Data EQU #0150 ; cnf 20 ; HDW_DAT W170 ; #1F0 Data register
|
.Data EQU #0150 ; cnf 20 ; HDW_DAT W170 ; #1F0 Data register
|
||||||
.Features EQU #0151 ; cnf 21 ; HDW_ERR W171 ; #1F1 Features register
|
.Features EQU #0151 ; cnf 21 ; HDW_ERR W171 ; #1F1 Features register
|
||||||
.Counter EQU #0152 ; cnf 22 ; HDW_CNT P_S_CNT W172; #1F2 Counter register
|
.Counter EQU #0152 ; cnf 22 ; HDW_CNT P_S_CNT W172; #1F2 Counter register
|
||||||
.Sector EQU #0153 ; cnf 23 ; HDW_SEC P_S_NUM W173; #1F3 Sector register
|
.Sector EQU #0153 ; cnf 23 ; HDW_SEC P_S_NUM W173; #1F3 Sector register
|
||||||
@ -1752,7 +1753,7 @@ ErrorBit:
|
|||||||
ErrorByte:
|
ErrorByte:
|
||||||
.Abort EQU #04
|
.Abort EQU #04
|
||||||
|
|
||||||
ControlBit: ; 0000 0000 ; Bits for IDE.Read.Status
|
CtrlBit: ; 0000 0000 ; Bits for IDE.Read.Status
|
||||||
.Busy EQU 7;ÄÄÄÄÄÄÄÄÙ³³³ ³³³³ ; BSY
|
.Busy EQU 7;ÄÄÄÄÄÄÄÄÙ³³³ ³³³³ ; BSY
|
||||||
.Ready EQU 6;ÄÄÄÄÄÄÄÄÄÙ³³ ³³³³ ; RDY
|
.Ready EQU 6;ÄÄÄÄÄÄÄÄÄÙ³³ ³³³³ ; RDY
|
||||||
.Fault EQU 5;ÄÄÄÄÄÄÄÄÄÄÙ³ ³³³³ ; DMA ready for ATAPI
|
.Fault EQU 5;ÄÄÄÄÄÄÄÄÄÄÙ³ ³³³³ ; DMA ready for ATAPI
|
||||||
@ -1766,7 +1767,7 @@ ControlBit: ; 0000 0000 ; Bits for IDE.Read.Status
|
|||||||
.ATAPI_DMAReady EQU .Fault
|
.ATAPI_DMAReady EQU .Fault
|
||||||
.ATAPI_Service EQU .SeekComplete
|
.ATAPI_Service EQU .SeekComplete
|
||||||
|
|
||||||
ControlByte: ; Bytes for IDE.Read.Status
|
CtrlByte: ; Bytes for IDE.Read.Status
|
||||||
.Busy EQU #80 ; BSY
|
.Busy EQU #80 ; BSY
|
||||||
.Ready EQU #40 ; RDY
|
.Ready EQU #40 ; RDY
|
||||||
.Fault EQU #20
|
.Fault EQU #20
|
||||||
@ -1797,9 +1798,13 @@ Chanel:
|
|||||||
.Primary EQU #21 ; ¤«ï ¨á¯®«ì§®¢ ¨ï á ¥¯®«®© ¤à¥á 樥© out (#bc),a. ‚ë¡®à ª « 0
|
.Primary EQU #21 ; ¤«ï ¨á¯®«ì§®¢ ¨ï á ¥¯®«®© ¤à¥á 樥© out (#bc),a. ‚ë¡®à ª « 0
|
||||||
.Secondary EQU #01 ; ¤«ï ¨á¯®«ì§®¢ ¨ï á ¥¯®«®© ¤à¥á 樥© out (#bc),a. ‚ë¡®à ª « 1
|
.Secondary EQU #01 ; ¤«ï ¨á¯®«ì§®¢ ¨ï á ¥¯®«®© ¤à¥á 樥© out (#bc),a. ‚ë¡®à ª « 1
|
||||||
|
|
||||||
|
; <EFBFBD>ã¬¥à æ¨ï BIOS
|
||||||
Device:
|
Device:
|
||||||
.HDD EQU 1
|
.HDD EQU 1
|
||||||
.CDROM EQU 2
|
.ATAPI EQU 2
|
||||||
|
;.CDROM EQU 2
|
||||||
|
; .ZIP_DRIVE EQU 4
|
||||||
|
; .MO_DRIVE EQU 8
|
||||||
.NONE EQU #FF
|
.NONE EQU #FF
|
||||||
|
|
||||||
Drive:
|
Drive:
|
||||||
|
|||||||
651
structures/ATA_ATAPI.INC
Normal file
651
structures/ATA_ATAPI.INC
Normal file
@ -0,0 +1,651 @@
|
|||||||
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||||
|
STRUCT _ATA_IDENTIFY_DEVICE_DATA ;word | byte
|
||||||
|
;Reserved1 bit 0
|
||||||
|
;Retired3 bit 1
|
||||||
|
;ResponseIncomplete bit 2
|
||||||
|
;Retired2 bit 3..5
|
||||||
|
;FixedDevice bit 6
|
||||||
|
;RemovableMedia bit 7
|
||||||
|
;Retired1 bit 8..14
|
||||||
|
;DeviceType bit 15
|
||||||
|
.GeneralConfiguration WORD ; 0 0
|
||||||
|
|
||||||
|
.NumCylinders WORD ; 1 2
|
||||||
|
.SpecificConfiguration WORD ; 2 4
|
||||||
|
.NumHeads WORD ; 3 6
|
||||||
|
.NumUnformattedBytesPerTrack WORD ; 4 8
|
||||||
|
.NumUnformattedBytesPerSector WORD ; 5 10
|
||||||
|
.NumSectorsPerTrack WORD ; 6 12
|
||||||
|
.VendorUnique7 BLOCK 6 ; 7 14
|
||||||
|
.SerialNumber BLOCK 20 ; 10 20
|
||||||
|
.BufferType WORD ; 20 40
|
||||||
|
.BufferSizeMul_512 WORD ; 21 42
|
||||||
|
.Obsolete22 WORD ; 22 44
|
||||||
|
.FirmwareRevision BLOCK 8 ; 23 46
|
||||||
|
.ModelNumber BLOCK 40 ; 27 54
|
||||||
|
.MaximumBlockTransfer BYTE ; 47 94
|
||||||
|
.VendorUnique2 BYTE ; 95
|
||||||
|
|
||||||
|
;FeatureSupported bit 0
|
||||||
|
;Reserved bit 1..15
|
||||||
|
.TrustedComputing WORD ; 48 96
|
||||||
|
|
||||||
|
;CurrentLongPhysicalSectorAlignment bit 0..1
|
||||||
|
;Reserved bit 2..7
|
||||||
|
.Capabilities_low BYTE ; 49 98
|
||||||
|
|
||||||
|
;DMAsupported bit 8
|
||||||
|
;LBAsupported bit 9
|
||||||
|
;IORDYdisable bit 10
|
||||||
|
;IORDYsupported bit 11
|
||||||
|
;Obsolete1 bit 12
|
||||||
|
;OverlapOperationSupported bit 13
|
||||||
|
;CommandQueuingSupported bit 14
|
||||||
|
;InterleavedDMAsupported bit 15
|
||||||
|
.Capabilities_high BYTE ; 99
|
||||||
|
|
||||||
|
.Reserved50 WORD ; 50 100
|
||||||
|
.ObsoleteWords51 WORD ; 51 102
|
||||||
|
.ObsoleteWords52 WORD ; 52 104
|
||||||
|
|
||||||
|
;FieldsInWords54_58Valid bit 0
|
||||||
|
;FieldsInWords64_70Valid bit 1
|
||||||
|
;FieldsInWord88_Valid bit 2
|
||||||
|
;Reserved bit 3..15
|
||||||
|
.TranslationFieldsValid WORD ; 53 106
|
||||||
|
|
||||||
|
.NumberOfCurrentCylinders_low BYTE ; 54 108
|
||||||
|
.NumberOfCurrentCylinders_high BYTE ; 109
|
||||||
|
.NumberOfCurrentHeads_low BYTE ; 55 110
|
||||||
|
.NumberOfCurrentHeads_high BYTE ; 111
|
||||||
|
.CurrentSectorsPerTrack_low BYTE ; 56 112
|
||||||
|
.CurrentSectorsPerTrack_high BYTE ; 113
|
||||||
|
.CurrentSectorCapacity DWORD ; 57 114
|
||||||
|
|
||||||
|
;SectorsPerInt bit 0..7
|
||||||
|
;MultiSectorSettingValid bit 8
|
||||||
|
;Reserved bit 9..11
|
||||||
|
;SanitizeFeatureSupported bit 12
|
||||||
|
;CryptoScrambleExtCommandSupported bit 13
|
||||||
|
;OverwriteExtCommandSupported bit 14
|
||||||
|
;BlockEraseExtCommandSupported bit 15
|
||||||
|
.CurrentMultiSectorSetting WORD ; 59 118
|
||||||
|
|
||||||
|
.UserAddressableSectors DWORD ; 60 120
|
||||||
|
|
||||||
|
;TransferModesSupported bit 0..7
|
||||||
|
;TransferModeActive bit 8..15
|
||||||
|
.SingleWordDMA WORD ; 62 124
|
||||||
|
|
||||||
|
;TransferModesSupported bit 0..7
|
||||||
|
;TransferModeActive bit 8..15
|
||||||
|
.MultiWordDMA WORD ; 63 126
|
||||||
|
|
||||||
|
.AdvancedPIOModes BYTE ; 64 128
|
||||||
|
.ReservedByte129 BYTE ; 129
|
||||||
|
.MinimumMWXferCycleTime WORD ; 65 130
|
||||||
|
.RecommendedMWXferCycleTime WORD ; 66 132
|
||||||
|
.MinimumPIOCycleTime WORD ; 67 134
|
||||||
|
.MinimumPIOCycleTimeIORDY WORD ; 68 136
|
||||||
|
|
||||||
|
;ZonedCapabilities bit 0..1
|
||||||
|
;NonVolatileWriteCache bit 2
|
||||||
|
;ExtendedUserAddressableSectors bit 3
|
||||||
|
;DeviceEncryptsAllUserData bit 4
|
||||||
|
;ReadZeroAfterTrim bit 5
|
||||||
|
;Optional28BitCommands bit 6
|
||||||
|
;IEEE1667 bit 7
|
||||||
|
.AdditionalSupported_low BYTE ; 69 138
|
||||||
|
|
||||||
|
;DownloadMicrocodeDma bit 8
|
||||||
|
;SetMaxSetPasswordUnlockDMA bit 9
|
||||||
|
;WriteBufferDMA bit 10
|
||||||
|
;ReadBufferDMA bit 11
|
||||||
|
;DeviceConfigIdentifySetDMA bit 12
|
||||||
|
;LPSAERC bit 13
|
||||||
|
;DeterministicReadAfterTrim bit 14
|
||||||
|
;CFastSpec bit 15
|
||||||
|
.AdditionalSupported_high BYTE ; 139
|
||||||
|
|
||||||
|
.ReservedWords70 BLOCK 10 ; 70 140
|
||||||
|
.QueueDepth WORD ; 75 150
|
||||||
|
.SerialAtaCapabilities DWORD ; 76 152
|
||||||
|
.SerialAtaFeaturesSupported WORD ; 78 156
|
||||||
|
.SerialAtaFeaturesEnabled WORD ; 79 158
|
||||||
|
.MajorRevision WORD ; 80 160
|
||||||
|
.MinorRevision WORD ; 81 162
|
||||||
|
|
||||||
|
;SmartCommands bit 0
|
||||||
|
;SecurityMode bit 1
|
||||||
|
;RemovableMediaFeature bit 2
|
||||||
|
;PowerManagement bit 3
|
||||||
|
;Reserved1 bit 4
|
||||||
|
;WriteCache bit 5
|
||||||
|
;LookAhead bit 6
|
||||||
|
;ReleaseInterrupt bit 7
|
||||||
|
;ServiceInterrupt bit 8
|
||||||
|
;DeviceReset bit 9
|
||||||
|
;HostProtectedArea bit 10
|
||||||
|
;Obsolete1 bit 11
|
||||||
|
;WriteBuffer bit 12
|
||||||
|
;ReadBuffer bit 13
|
||||||
|
;Nop bit 14
|
||||||
|
;Obsolete2 bit 15
|
||||||
|
;DownloadMicrocode bit 16
|
||||||
|
;DmaQueued bit 17
|
||||||
|
;Cfa bit 18
|
||||||
|
;AdvancedPm bit 19
|
||||||
|
;Msn bit 20
|
||||||
|
;PowerUpInStandby bit 21
|
||||||
|
;ManualPowerUp bit 22
|
||||||
|
;Reserved2 bit 23
|
||||||
|
;SetMax bit 24
|
||||||
|
;Acoustics bit 25
|
||||||
|
;BigLba bit 26
|
||||||
|
;DeviceConfigOverlay bit 27
|
||||||
|
;FlushCache bit 28
|
||||||
|
;FlushCacheExt bit 29
|
||||||
|
;WordValid83 bit 30..31
|
||||||
|
;SmartErrorLog bit 32
|
||||||
|
;SmartSelfTest bit 33
|
||||||
|
;MediaSerialNumber bit 34
|
||||||
|
;MediaCardPassThrough bit 35
|
||||||
|
;StreamingFeature bit 36
|
||||||
|
;GpLogging bit 37
|
||||||
|
;WriteFua bit 38
|
||||||
|
;WriteQueuedFua bit 39
|
||||||
|
;WWN64Bit bit 40
|
||||||
|
;URGReadStream bit 41
|
||||||
|
;URGWriteStream bit 42
|
||||||
|
;ReservedForTechReport bit 43.44
|
||||||
|
;IdleWithUnloadFeature bit 45
|
||||||
|
;WordValid bit 46..47
|
||||||
|
.CommandSetSupport BLOCK 6 ; 82 164
|
||||||
|
|
||||||
|
;SmartCommands bit 0
|
||||||
|
;SecurityMode bit 1
|
||||||
|
;RemovableMediaFeature bit 2
|
||||||
|
;PowerManagement bit 3
|
||||||
|
;Reserved1 bit 4
|
||||||
|
;WriteCache bit 5
|
||||||
|
;LookAhead bit 6
|
||||||
|
;ReleaseInterrupt bit 7
|
||||||
|
;ServiceInterrupt bit 8
|
||||||
|
;DeviceReset bit 9
|
||||||
|
;HostProtectedArea bit 10
|
||||||
|
;Obsolete1 bit 11
|
||||||
|
;WriteBuffer bit 12
|
||||||
|
;ReadBuffer bit 13
|
||||||
|
;Nop bit 14
|
||||||
|
;Obsolete2 bit 15
|
||||||
|
;DownloadMicrocode bit 16
|
||||||
|
;DmaQueued bit 17
|
||||||
|
;Cfa bit 18
|
||||||
|
;AdvancedPm bit 19
|
||||||
|
;Msn bit 20
|
||||||
|
;PowerUpInStandby bit 21
|
||||||
|
;ManualPowerUp bit 22
|
||||||
|
;Reserved2 bit 23
|
||||||
|
;SetMax bit 24
|
||||||
|
;Acoustics bit 25
|
||||||
|
;BigLba bit 26
|
||||||
|
;DeviceConfigOverlay bit 27
|
||||||
|
;FlushCache bit 28
|
||||||
|
;FlushCacheExt bit 29
|
||||||
|
;Resrved3 bit 30
|
||||||
|
;Words119_120Valid bit 31
|
||||||
|
;SmartErrorLog bit 32
|
||||||
|
;SmartSelfTest bit 33
|
||||||
|
;MediaSerialNumber bit 34
|
||||||
|
;MediaCardPassThrough bit 35
|
||||||
|
;StreamingFeature bit 36
|
||||||
|
;GpLogging bit 37
|
||||||
|
;WriteFua bit 38
|
||||||
|
;WriteQueuedFua bit 39
|
||||||
|
;WWN64Bit bit 40
|
||||||
|
;URGReadStream bit 41
|
||||||
|
;URGWriteStream bit 42
|
||||||
|
;ReservedForTechReport bit 43..44
|
||||||
|
;IdleWithUnloadFeature bit 45
|
||||||
|
;Reserved4 bit 46..47
|
||||||
|
.CommandSetActive BLOCK 6 ; 85 170
|
||||||
|
|
||||||
|
.UltraDMASupport BYTE ; 88 176
|
||||||
|
.UltraDMAActive BYTE ; 177
|
||||||
|
|
||||||
|
;USHORT TimeRequired : 15
|
||||||
|
;USHORT ExtendedTimeReported : 1
|
||||||
|
.NormalSecurityEraseUnit WORD ; 89 178
|
||||||
|
|
||||||
|
;USHORT TimeRequired : 15
|
||||||
|
;USHORT ExtendedTimeReported : 1
|
||||||
|
.EnhancedSecurityEraseUnit WORD ; 90 180
|
||||||
|
|
||||||
|
.CurrentAPMLevel BYTE ; 91 182
|
||||||
|
.ReservedByte183 BYTE ; 183
|
||||||
|
.MasterPasswordID WORD ; 92 184
|
||||||
|
.HardwareResetResult WORD ; 93 186
|
||||||
|
.CurrentAcousticValue BYTE ; 94 188
|
||||||
|
.RecommendedAcousticValue BYTE ; 189
|
||||||
|
.StreamMinRequestSize WORD ; 95 190
|
||||||
|
.StreamingTransferTimeDMA WORD ; 96 192
|
||||||
|
.StreamingAccessLatencyDMAPIO WORD ; 97 194
|
||||||
|
.StreamingPerfGranularity DWORD ; 98 196
|
||||||
|
.Max48BitLBA BLOCK 8 ; 100 200
|
||||||
|
.StreamingTransferTime WORD ; 104 208
|
||||||
|
.DsmCap WORD ; 105 210
|
||||||
|
|
||||||
|
;LogicalSectorsPerPhysicalSector : 4
|
||||||
|
;Reserved0 : 8
|
||||||
|
;LogicalSectorLongerThan256Words : 1
|
||||||
|
;MultipleLogicalSectorsPerPhysicalSector : 1
|
||||||
|
;Reserved1 : 2
|
||||||
|
.PhysicalLogicalSectorSize WORD ; 106 212
|
||||||
|
|
||||||
|
.InterSeekDelay WORD ; 107 214
|
||||||
|
.WorldWideName BLOCK 8 ; 108 216
|
||||||
|
.ReservedForWorldWideName128 BLOCK 8 ; 112 224
|
||||||
|
.ReservedForTlcTechnicalReport WORD ; 116 232
|
||||||
|
.WordsPerLogicalSector DWORD ; 117 234
|
||||||
|
|
||||||
|
;ReservedForDrqTechnicalReport : 1
|
||||||
|
;WriteReadVerify : 1
|
||||||
|
;WriteUncorrectableExt : 1
|
||||||
|
;ReadWriteLogDmaExt : 1
|
||||||
|
;DownloadMicrocodeMode3 : 1
|
||||||
|
;FreefallControl : 1
|
||||||
|
;SenseDataReporting : 1
|
||||||
|
;ExtendedPowerConditions : 1
|
||||||
|
;Reserved0 : 6
|
||||||
|
;WordValid : 2
|
||||||
|
.CommandSetSupportExt WORD ; 119 238
|
||||||
|
|
||||||
|
;ReservedForDrqTechnicalReport : 1
|
||||||
|
;WriteReadVerify : 1
|
||||||
|
;WriteUncorrectableExt : 1
|
||||||
|
;ReadWriteLogDmaExt : 1
|
||||||
|
;DownloadMicrocodeMode3 : 1
|
||||||
|
;FreefallControl : 1
|
||||||
|
;SenseDataReporting : 1
|
||||||
|
;ExtendedPowerConditions : 1
|
||||||
|
;Reserved0 : 6
|
||||||
|
;Reserved1 : 2
|
||||||
|
.CommandSetActiveExt WORD ; 120 240
|
||||||
|
|
||||||
|
.Reserved121 BLOCK 12 ; 121 242
|
||||||
|
.MsnSupport BYTE ; 127 254
|
||||||
|
.ReservedByte255 BYTE ; 255
|
||||||
|
|
||||||
|
;SecuritySupported : 1
|
||||||
|
;SecurityEnabled : 1
|
||||||
|
;SecurityLocked : 1
|
||||||
|
;SecurityFrozen : 1
|
||||||
|
;SecurityCountExpired : 1
|
||||||
|
;EnhancedSecurityEraseSupported : 1
|
||||||
|
;Reserved0 : 2
|
||||||
|
;SecurityLevel : 1
|
||||||
|
;Reserved1 : 7
|
||||||
|
.SecurityStatus WORD ; 128 256
|
||||||
|
|
||||||
|
.ReservedBlock129 BLOCK 62 ; 129 258
|
||||||
|
|
||||||
|
;MaximumCurrentInMA : 12
|
||||||
|
;CfaPowerMode1Disabled : 1
|
||||||
|
;CfaPowerMode1Required : 1
|
||||||
|
;Reserved0 : 1
|
||||||
|
;Word160Supported : 1
|
||||||
|
.CfaPowerMode1 WORD ; 160 320
|
||||||
|
|
||||||
|
.ReservedBlock161 BLOCK 14 ; 161 322
|
||||||
|
.NominalFormFactor WORD ; 168 336
|
||||||
|
|
||||||
|
;SupportsTrim : 1
|
||||||
|
;Reserved0 : 15
|
||||||
|
.DataSetManagementFeature WORD ; 169 338
|
||||||
|
|
||||||
|
.AdditionalProductID BLOCK 8 ; 170 340
|
||||||
|
.ReservedForCfaWord174 DWORD ; 174 348
|
||||||
|
.CurrentMediaSerialNumber BLOCK 60," " ; 176 352
|
||||||
|
|
||||||
|
;Supported : 1
|
||||||
|
;Reserved0 : 1
|
||||||
|
;WriteSameSuported : 1
|
||||||
|
;ErrorRecoveryControlSupported : 1
|
||||||
|
;FeatureControlSuported : 1
|
||||||
|
;DataTablesSuported : 1
|
||||||
|
;Reserved1 : 6
|
||||||
|
;VendorSpecific : 4
|
||||||
|
.SCTCommandTransport WORD ; 206 412
|
||||||
|
|
||||||
|
.ReservedWord207 DWORD ; 207 414
|
||||||
|
|
||||||
|
;AlignmentOfLogicalWithinPhysical : 14
|
||||||
|
;Word209Supported : 1
|
||||||
|
;Reserved0 : 1
|
||||||
|
.BlockAlignment WORD ; 209 418
|
||||||
|
|
||||||
|
.WriteReadVerifySectorCountMode3Only DWORD ; 210 420
|
||||||
|
.WriteReadVerifySectorCountMode2Only DWORD ; 212 424
|
||||||
|
|
||||||
|
;.NVCachePowerModeEnabled : 1
|
||||||
|
;.Reserved0 : 3
|
||||||
|
;.NVCacheFeatureSetEnabled : 1
|
||||||
|
;.Reserved1 : 3
|
||||||
|
;.NVCachePowerModeVersion : 4
|
||||||
|
;.NVCacheFeatureSetVersion : 4
|
||||||
|
.NVCacheCapabilities WORD ; 214 428
|
||||||
|
|
||||||
|
.NVCacheSizeLSW WORD ; 215 430
|
||||||
|
.NVCacheSizeMSW WORD ; 216 432
|
||||||
|
.NominalMediaRotationRate WORD ; 217 434
|
||||||
|
.ReservedWord218 WORD ; 218 436
|
||||||
|
.NVCacheEstimatedTimeToSpinUpInSeconds BYTE ; 219 438
|
||||||
|
.NVCacheOptionsReserved BYTE ; 439
|
||||||
|
.WriteReadVerifySectorCountMode BYTE ; 220 440
|
||||||
|
.Reserved441 BLOCK 3,0 ; 441
|
||||||
|
|
||||||
|
;MajorVersion : 12
|
||||||
|
;TransportType : 4
|
||||||
|
.TransportMajorVersion WORD ; 222 444
|
||||||
|
|
||||||
|
.TransportMinorVersion WORD ; 223 446
|
||||||
|
.ReservedWord224 BLOCK 12,0 ; 224 448
|
||||||
|
.ExtendedNumberOfUserAddressableSectors BLOCK 8,0 ; 230 460
|
||||||
|
.MinBlocksPerDownloadMicrocodeMode03 WORD ; 234 468
|
||||||
|
.MaxBlocksPerDownloadMicrocodeMode03 WORD ; 235 470
|
||||||
|
.ReservedWord236 BLOCK 38,0 ; 236 472
|
||||||
|
.Signature BYTE ; 255 510
|
||||||
|
.CheckSum BYTE ; 511
|
||||||
|
ENDS
|
||||||
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||||
|
|
||||||
|
|
||||||
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||||
|
/*
|
||||||
|
General configuration bit-significant information:
|
||||||
|
|
||||||
|
15:14 10 = ATAPI device
|
||||||
|
11 = Reserved
|
||||||
|
13 Reserved
|
||||||
|
12:8 Field indicates command packet set used by device
|
||||||
|
7 Obsolete
|
||||||
|
6:5 00 = Device shall set DRQ to one within 3 ms of receiving PACKET command.
|
||||||
|
01 = Obsolete.
|
||||||
|
10 = Device shall set DRQ to one within 50 ?s of receiving PACKET command.
|
||||||
|
11 = Reserved
|
||||||
|
4:3 Reserved
|
||||||
|
2 Incomplete response
|
||||||
|
1:0 00 = 12 byte command packet
|
||||||
|
01 = 16 byte command packet
|
||||||
|
1x = Reserved
|
||||||
|
*/
|
||||||
|
STRUCT _ATAPI_IDENTIFY_DEVICE_DATA ;word | byte
|
||||||
|
;PacketCommandSize bit 0..1
|
||||||
|
;ResponseIncomplete bit 2
|
||||||
|
;Reserved bit 3..4
|
||||||
|
;DRQlag bit 5..6
|
||||||
|
;Obsolete bit 7
|
||||||
|
;DeviceType bit 8..12
|
||||||
|
;Reserved bit 13
|
||||||
|
;DeviceInterface bit 14..15
|
||||||
|
.GeneralConfiguration WORD ; 0 0
|
||||||
|
|
||||||
|
.ReservedWord1 WORD ; 1 2
|
||||||
|
.SpecificConfiguration WORD ; 2 4
|
||||||
|
.ReservedWord3 BLOCK 14,0 ; 3 6
|
||||||
|
.SerialNumber BLOCK 20 ; 10 20
|
||||||
|
.ReservedWord20 BLOCK 6,0 ; 20 40
|
||||||
|
.FirmwareRevision BLOCK 8 ; 23 46
|
||||||
|
.ModelNumber BLOCK 40 ; 27 54
|
||||||
|
.ReservedWord47 DWORD ; 47 94
|
||||||
|
|
||||||
|
;
|
||||||
|
;
|
||||||
|
.Capabilities_low BYTE ; 49 98
|
||||||
|
|
||||||
|
;DMAsupported bit 8
|
||||||
|
;Obsolete bit 9
|
||||||
|
;IORDYdisable bit 10
|
||||||
|
;IORDYsupported bit 11
|
||||||
|
.Capabilities_high BYTE ; 99
|
||||||
|
|
||||||
|
.Capabilities_2_low BYTE ; 50 100
|
||||||
|
.Capabilities_2_high BYTE ; 101
|
||||||
|
|
||||||
|
.ObsoleteWords51 WORD ; 51 102
|
||||||
|
.ObsoleteWords52 WORD ; 52 104
|
||||||
|
|
||||||
|
;Obsolete bit 0
|
||||||
|
;FieldsInWords64_70Valid bit 1
|
||||||
|
;FieldsInWord88_Valid bit 2
|
||||||
|
;Reserved bit 3..15
|
||||||
|
.TranslationFieldsValid WORD ; 53 106
|
||||||
|
.ReservedWord54 BLOCK 16,0 ; 54 108
|
||||||
|
|
||||||
|
;TransferModesSupported bit 0..10
|
||||||
|
;Reserved bit 11..14
|
||||||
|
;DMA_Dir_Bit_Required_in_Packed bit 15
|
||||||
|
.DirModeDMA WORD ; 62 124
|
||||||
|
|
||||||
|
;TransferModesSupported bit 0..7
|
||||||
|
;TransferModeActive bit 8..15
|
||||||
|
.MultiWordDMA WORD ; 63 126
|
||||||
|
|
||||||
|
.AdvancedPIOModes WORD ; 64 128
|
||||||
|
.MinimumMWXferCycleTime WORD ; 65 130
|
||||||
|
.RecommendedMWXferCycleTime WORD ; 66 132
|
||||||
|
.MinimumPIOCycleTime WORD ; 67 134
|
||||||
|
.MinimumPIOCycleTimeIORDY WORD ; 68 136
|
||||||
|
.ReservedWords69 BLOCK 14 ; 69 138
|
||||||
|
.SerialAtaCapabilities DWORD ; 76 152
|
||||||
|
.SerialAtaFeaturesSupported WORD ; 78 156
|
||||||
|
.SerialAtaFeaturesEnabled WORD ; 79 158
|
||||||
|
.MajorRevision WORD ; 80 160
|
||||||
|
.MinorRevision WORD ; 81 162
|
||||||
|
|
||||||
|
;SmartCommands bit 0
|
||||||
|
;SecurityMode bit 1
|
||||||
|
;RemovableMediaFeature bit 2 = 1
|
||||||
|
;PowerManagement bit 3
|
||||||
|
;PackedFeatures bit 4 = 1
|
||||||
|
;WriteCache bit 5
|
||||||
|
;LookAhead bit 6
|
||||||
|
;ReleaseInterrupt bit 7
|
||||||
|
;ServiceInterrupt bit 8
|
||||||
|
;DeviceReset bit 9
|
||||||
|
;HostProtectedArea bit 10
|
||||||
|
;Obsolete1 bit 11
|
||||||
|
;WriteBuffer bit 12
|
||||||
|
;ReadBuffer bit 13
|
||||||
|
;NopCmd bit 14
|
||||||
|
;Obsolete bit 15
|
||||||
|
;DownloadMicrocode bit 16
|
||||||
|
;Reserved bit 17..19
|
||||||
|
;Msn bit 20
|
||||||
|
;PowerUpInStandby bit 21
|
||||||
|
;ManualPowerUp bit 22
|
||||||
|
;Reserved bit 23
|
||||||
|
;SetMax bit 24
|
||||||
|
;Acoustics bit 25
|
||||||
|
;Reserved bit 26
|
||||||
|
;DeviceConfigOverlay bit 27
|
||||||
|
;FlushCache bit 28
|
||||||
|
;Reserved bit 29
|
||||||
|
;Obsolete bit 30..31
|
||||||
|
;Reserved bit 32..36
|
||||||
|
;GpLogging bit 37
|
||||||
|
;Reserved bit 38..45
|
||||||
|
;Obsolete bit 46..47
|
||||||
|
.CommandSetSupport BLOCK 6 ; 82 164
|
||||||
|
|
||||||
|
;SmartCommands bit 0
|
||||||
|
;SecurityMode bit 1
|
||||||
|
;RemovableMediaFeature bit 2
|
||||||
|
;PowerManagement bit 3
|
||||||
|
;Reserved1 bit 4
|
||||||
|
;WriteCache bit 5
|
||||||
|
;LookAhead bit 6
|
||||||
|
;ReleaseInterrupt bit 7
|
||||||
|
;ServiceInterrupt bit 8
|
||||||
|
;DeviceReset bit 9
|
||||||
|
;HostProtectedArea bit 10
|
||||||
|
;Obsolete1 bit 11
|
||||||
|
;WriteBuffer bit 12
|
||||||
|
;ReadBuffer bit 13
|
||||||
|
;Nop bit 14
|
||||||
|
;Obsolete2 bit 15
|
||||||
|
;DownloadMicrocode bit 16
|
||||||
|
;DmaQueued bit 17
|
||||||
|
;Cfa bit 18
|
||||||
|
;AdvancedPm bit 19
|
||||||
|
;Msn bit 20
|
||||||
|
;PowerUpInStandby bit 21
|
||||||
|
;ManualPowerUp bit 22
|
||||||
|
;Reserved2 bit 23
|
||||||
|
;SetMax bit 24
|
||||||
|
;Acoustics bit 25
|
||||||
|
;BigLba bit 26
|
||||||
|
;DeviceConfigOverlay bit 27
|
||||||
|
;FlushCache bit 28
|
||||||
|
;FlushCacheExt bit 29
|
||||||
|
;Resrved3 bit 30
|
||||||
|
;Words119_120Valid bit 31
|
||||||
|
;SmartErrorLog bit 32
|
||||||
|
;SmartSelfTest bit 33
|
||||||
|
;MediaSerialNumber bit 34
|
||||||
|
;MediaCardPassThrough bit 35
|
||||||
|
;StreamingFeature bit 36
|
||||||
|
;GpLogging bit 37
|
||||||
|
;WriteFua bit 38
|
||||||
|
;WriteQueuedFua bit 39
|
||||||
|
;WWN64Bit bit 40
|
||||||
|
;URGReadStream bit 41
|
||||||
|
;URGWriteStream bit 42
|
||||||
|
;ReservedForTechReport bit 43..44
|
||||||
|
;IdleWithUnloadFeature bit 45
|
||||||
|
;Reserved4 bit 46..47
|
||||||
|
.CommandSetActive BLOCK 6 ; 85 170
|
||||||
|
|
||||||
|
.UltraDMASupport BYTE ; 88 176
|
||||||
|
.UltraDMAActive BYTE ; 177
|
||||||
|
.NormalSecurityEraseUnit WORD ; 89 178
|
||||||
|
.EnhancedSecurityEraseUnit WORD ; 90 180
|
||||||
|
.CurrentAPMLevel BYTE ; 91 182
|
||||||
|
.ReservedByte183 BYTE ; 183
|
||||||
|
.MasterPasswordID WORD ; 92 184
|
||||||
|
.HardwareResetResult WORD ; 93 186
|
||||||
|
.ReservedWord94 BLOCK 28,0 ; 94 188
|
||||||
|
.WorldWideName BLOCK 8 ; 108 216
|
||||||
|
.ReservedForWorldWideName128 BLOCK 8 ; 112 224
|
||||||
|
.ReservedBlock116 BLOCK 18 ; 116 232
|
||||||
|
.AtapiByteCountZeroBehavior WORD ; 125 250
|
||||||
|
.Reserved126 DWORD ; 126 252
|
||||||
|
|
||||||
|
;SecuritySupported : 1
|
||||||
|
;SecurityEnabled : 1
|
||||||
|
;SecurityLocked : 1
|
||||||
|
;SecurityFrozen : 1
|
||||||
|
;SecurityCountExpired : 1
|
||||||
|
;EnhancedSecurityEraseSupported : 1
|
||||||
|
;Reserved0 : 2
|
||||||
|
;SecurityLevel : 1
|
||||||
|
;Reserved1 : 7
|
||||||
|
.SecurityStatus WORD ; 128 256
|
||||||
|
|
||||||
|
.ReservedBlock129 BLOCK 62 ; 129 258
|
||||||
|
|
||||||
|
;MaximumCurrentInMA : 12
|
||||||
|
;CfaPowerMode1Disabled : 1
|
||||||
|
;CfaPowerMode1Required : 1
|
||||||
|
;Reserved0 : 1
|
||||||
|
;Word160Supported : 1
|
||||||
|
.CfaReserved BLOCK 32,0 ; 160 320
|
||||||
|
.reserved176 BLOCK 92,0 ; 176 352
|
||||||
|
|
||||||
|
;MajorVersion : 12
|
||||||
|
;TransportType : 4
|
||||||
|
.TransportMajorVersion WORD ; 222 444
|
||||||
|
|
||||||
|
.TransportMinorVersion WORD ; 223 446
|
||||||
|
.Reserved224 BLOCK 62,0 ; 224 448
|
||||||
|
.Signature BYTE ; 255 510
|
||||||
|
.CheckSum BYTE ; 511
|
||||||
|
ENDS
|
||||||
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||||
|
|
||||||
|
|
||||||
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||||
|
STRUCT _ATAPI_INQUIRY_DATA ; size 254 bytes
|
||||||
|
.peripheral_type BYTE 0 ; #00 0
|
||||||
|
.removable_media BYTE #80 ; #01 1 ; bit7=1 - removable
|
||||||
|
.version BYTE 0 ; #02 2
|
||||||
|
.response_data_format BYTE 0 ; #03 3
|
||||||
|
.addnl_length BYTE ; #04 4 ;Numbers of bytes following this one.
|
||||||
|
.reserved BLOCK 3,0 ; #05 5
|
||||||
|
.vendor_info BLOCK 8," " ; #08 8
|
||||||
|
.product_id BLOCK 16," " ; #10 16
|
||||||
|
.product_revision_level DWORD 0 ; #20 32
|
||||||
|
.vendor_specific_1 BLOCK 20,0 ; #24 36
|
||||||
|
.reserved_block BLOCK 40,0 ; #38 56
|
||||||
|
.vendor_specific_2 BLOCK 158,0; ; #60 96
|
||||||
|
ENDS ; #FE 254
|
||||||
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||||
|
|
||||||
|
|
||||||
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||||
|
/*
|
||||||
|
// Identify device type via INQUIRY data.
|
||||||
|
//
|
||||||
|
switch (Idata.peripheral_type & 0x1f) {
|
||||||
|
case 0x00:
|
||||||
|
//
|
||||||
|
// Magnetic Disk
|
||||||
|
//
|
||||||
|
MediaInfo->DeviceType = IdeLS120;
|
||||||
|
MediaInfo->MediaPresent = FALSE;
|
||||||
|
MediaInfo->LastBlock = 0;
|
||||||
|
MediaInfo->BlockSize = 0x200;
|
||||||
|
MediaInfo2->InterfaceType = MSG_ATAPI_DP;
|
||||||
|
MediaInfo2->RemovableMedia = TRUE;
|
||||||
|
MediaInfo2->MediaPresent = FALSE;
|
||||||
|
MediaInfo2->ReadOnly = FALSE;
|
||||||
|
MediaInfo2->BlockSize = 0x200;
|
||||||
|
MediaInfo2->LastBlock = 0;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0x05:
|
||||||
|
//
|
||||||
|
// CD-ROM
|
||||||
|
//
|
||||||
|
MediaInfo->DeviceType = IdeCDROM;
|
||||||
|
MediaInfo->MediaPresent = FALSE;
|
||||||
|
MediaInfo->LastBlock = 0;
|
||||||
|
MediaInfo->BlockSize = 0x800;
|
||||||
|
MediaInfo2->InterfaceType = MSG_ATAPI_DP;
|
||||||
|
MediaInfo2->RemovableMedia = TRUE;
|
||||||
|
MediaInfo2->MediaPresent = FALSE;
|
||||||
|
MediaInfo2->ReadOnly = TRUE;
|
||||||
|
MediaInfo2->BlockSize = 0x200;
|
||||||
|
MediaInfo2->LastBlock = 0;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return EFI_UNSUPPORTED;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||||
|
/*
|
||||||
|
ATAPI_PeripheralDevice:
|
||||||
|
|
||||||
|
Table 30 - Peripheral Device Types
|
||||||
|
Code
|
||||||
|
Description
|
||||||
|
00h Direct-access device (e.g. magnetic disk)
|
||||||
|
01h - 04h Reserved
|
||||||
|
05h CD-ROM device
|
||||||
|
06h Reserved
|
||||||
|
07h Optical memory device (eg. some optical disks)
|
||||||
|
08h - 1Eh Reserved
|
||||||
|
1Fh Unknown or no device type
|
||||||
|
The Peripheral Device Type shall be set to 05h to indicate a CD-ROM Device.
|
||||||
|
*/
|
||||||
@ -1,364 +0,0 @@
|
|||||||
STRUCT _ATA_IDENTIFY_DEVICE_DATA
|
|
||||||
;Reserved1 bit 0
|
|
||||||
;Retired3 bit 1
|
|
||||||
;ResponseIncomplete bit 2
|
|
||||||
;Retired2 bit 3..5
|
|
||||||
;FixedDevice bit 6
|
|
||||||
;RemovableMedia bit 7
|
|
||||||
;Retired1 bit 8..14
|
|
||||||
;DeviceType bit 15
|
|
||||||
GeneralConfiguration WORD ; 0 0
|
|
||||||
NumCylinders WORD ; 1 2
|
|
||||||
SpecificConfiguration WORD ; 2 4
|
|
||||||
NumHeads WORD ; 3 6
|
|
||||||
NumUnformattedBytesPerTrack WORD ; 4 8
|
|
||||||
NumUnformattedBytesPerSector WORD ; 5 10
|
|
||||||
NumSectorsPerTrack WORD ; 6 12
|
|
||||||
VendorUnique7 BLOCK 6 ; 7 14
|
|
||||||
SerialNumber BLOCK 20 ; 10 20
|
|
||||||
BufferType WORD ; 20 40
|
|
||||||
BufferSizeMul_512 WORD ; 21 42
|
|
||||||
Obsolete22 WORD ; 22 44
|
|
||||||
FirmwareRevision BLOCK 8 ; 23 46
|
|
||||||
ModelNumber BLOCK 40 ; 27 54
|
|
||||||
MaximumBlockTransfer BYTE ; 47 94
|
|
||||||
VendorUnique2 BYTE ; 95
|
|
||||||
|
|
||||||
;FeatureSupported bit 0
|
|
||||||
;Reserved bit 1..15
|
|
||||||
TrustedComputing WORD ; 48 96
|
|
||||||
|
|
||||||
;CurrentLongPhysicalSectorAlignment bit 0..1
|
|
||||||
;Reserved bit 2..7
|
|
||||||
Capabilities_low BYTE ; 49 98
|
|
||||||
|
|
||||||
;DMAsupported bit 8
|
|
||||||
;LBAsupported bit 9
|
|
||||||
;IORDYdisable bit 10
|
|
||||||
;IORDYsupported bit 11
|
|
||||||
;Obsolete1 bit 12
|
|
||||||
;OverlapOperationSupported bit 13
|
|
||||||
;CommandQueuingSupported bit 14
|
|
||||||
;InterleavedDMAsupported bit 15
|
|
||||||
Capabilities_high WORD ; 99
|
|
||||||
Reserved50 WORD ; 50 100
|
|
||||||
|
|
||||||
ObsoleteWords51 WORD ; 51 102
|
|
||||||
ObsoleteWords52 WORD ; 52 104
|
|
||||||
|
|
||||||
;FieldsInWords54_58Valid bit 0
|
|
||||||
;FieldsInWords64_70Valid bit 1
|
|
||||||
;FieldsInWord88_Valid bit 2
|
|
||||||
;Reserved bit 3..15
|
|
||||||
TranslationFieldsValid WORD ; 53 106
|
|
||||||
NumberOfCurrentCylinders_low BYTE ; 54 108
|
|
||||||
NumberOfCurrentCylinders_high BYTE ; 109
|
|
||||||
NumberOfCurrentHeads_low BYTE ; 55 110
|
|
||||||
NumberOfCurrentHeads_high BYTE ; 111
|
|
||||||
CurrentSectorsPerTrack_low WORD ; 56 112
|
|
||||||
CurrentSectorsPerTrack_high WORD ; 113
|
|
||||||
CurrentSectorCapacity DWORD ; 57 114
|
|
||||||
|
|
||||||
;SectorsPerInt bit 0..7
|
|
||||||
;MultiSectorSettingValid bit 8
|
|
||||||
;Reserved bit 9..11
|
|
||||||
;SanitizeFeatureSupported bit 12
|
|
||||||
;CryptoScrambleExtCommandSupported bit 13
|
|
||||||
;OverwriteExtCommandSupported bit 14
|
|
||||||
;BlockEraseExtCommandSupported bit 15
|
|
||||||
CurrentMultiSectorSetting WORD ; 59 118
|
|
||||||
UserAddressableSectors DWORD ; 60 120
|
|
||||||
|
|
||||||
;TransferModesSupported bit 0..7
|
|
||||||
;TransferModeActive bit 8..15
|
|
||||||
SingleWordDMA WORD ; 62 124
|
|
||||||
|
|
||||||
;TransferModesSupported bit 0..7
|
|
||||||
;TransferModeActive bit 8..15
|
|
||||||
MultiWordDMA WORD ; 63 126
|
|
||||||
AdvancedPIOModes BYTE ; 64 128
|
|
||||||
ReservedByte129 BYTE ; 129
|
|
||||||
MinimumMWXferCycleTime WORD ; 65 130
|
|
||||||
RecommendedMWXferCycleTime WORD ; 66 132
|
|
||||||
MinimumPIOCycleTime WORD ; 67 134
|
|
||||||
MinimumPIOCycleTimeIORDY WORD ; 68 136
|
|
||||||
|
|
||||||
;ZonedCapabilities bit 0..1
|
|
||||||
;NonVolatileWriteCache bit 2
|
|
||||||
;ExtendedUserAddressableSectors bit 3
|
|
||||||
;DeviceEncryptsAllUserData bit 4
|
|
||||||
;ReadZeroAfterTrim bit 5
|
|
||||||
;Optional28BitCommands bit 6
|
|
||||||
;IEEE1667 bit 7
|
|
||||||
AdditionalSupported_low BYTE ; 69 138
|
|
||||||
|
|
||||||
;DownloadMicrocodeDma bit 8
|
|
||||||
;SetMaxSetPasswordUnlockDMA bit 9
|
|
||||||
;WriteBufferDMA bit 10
|
|
||||||
;ReadBufferDMA bit 11
|
|
||||||
;DeviceConfigIdentifySetDMA bit 12
|
|
||||||
;LPSAERC bit 13
|
|
||||||
;DeterministicReadAfterTrim bit 14
|
|
||||||
;CFastSpec bit 15
|
|
||||||
AdditionalSupported_high BYTE ; 139
|
|
||||||
ReservedWords70 BLOCK 10 ; 70 140
|
|
||||||
QueueDepth WORD ; 75 150
|
|
||||||
SerialAtaCapabilities DWORD ; 76 152
|
|
||||||
SerialAtaFeaturesSupported WORD ; 78 156
|
|
||||||
SerialAtaFeaturesEnabled WORD ; 79 158
|
|
||||||
MajorRevision WORD ; 80 160
|
|
||||||
MinorRevision WORD ; 81 162
|
|
||||||
|
|
||||||
;SmartCommands bit 0
|
|
||||||
;SecurityMode bit 1
|
|
||||||
;RemovableMediaFeature bit 2
|
|
||||||
;PowerManagement bit 3
|
|
||||||
;Reserved1 bit 4
|
|
||||||
;WriteCache bit 5
|
|
||||||
;LookAhead bit 6
|
|
||||||
;ReleaseInterrupt bit 7
|
|
||||||
;ServiceInterrupt bit 8
|
|
||||||
;DeviceReset bit 9
|
|
||||||
;HostProtectedArea bit 10
|
|
||||||
;Obsolete1 bit 11
|
|
||||||
;WriteBuffer bit 12
|
|
||||||
;ReadBuffer bit 13
|
|
||||||
;Nop bit 14
|
|
||||||
;Obsolete2 bit 15
|
|
||||||
;DownloadMicrocode bit 16
|
|
||||||
;DmaQueued bit 17
|
|
||||||
;Cfa bit 18
|
|
||||||
;AdvancedPm bit 19
|
|
||||||
;Msn bit 20
|
|
||||||
;PowerUpInStandby bit 21
|
|
||||||
;ManualPowerUp bit 22
|
|
||||||
;Reserved2 bit 23
|
|
||||||
;SetMax bit 24
|
|
||||||
;Acoustics bit 25
|
|
||||||
;BigLba bit 26
|
|
||||||
;DeviceConfigOverlay bit 27
|
|
||||||
;FlushCache bit 28
|
|
||||||
;FlushCacheExt bit 29
|
|
||||||
;WordValid83 bit 30..31
|
|
||||||
;SmartErrorLog bit 32
|
|
||||||
;SmartSelfTest bit 33
|
|
||||||
;MediaSerialNumber bit 34
|
|
||||||
;MediaCardPassThrough bit 35
|
|
||||||
;StreamingFeature bit 36
|
|
||||||
;GpLogging bit 37
|
|
||||||
;WriteFua bit 38
|
|
||||||
;WriteQueuedFua bit 39
|
|
||||||
;WWN64Bit bit 40
|
|
||||||
;URGReadStream bit 41
|
|
||||||
;URGWriteStream bit 42
|
|
||||||
;ReservedForTechReport bit 43.44
|
|
||||||
;IdleWithUnloadFeature bit 45
|
|
||||||
;WordValid bit 46..47
|
|
||||||
CommandSetSupport BLOCK 6 ; 82 164
|
|
||||||
|
|
||||||
;SmartCommands bit 0
|
|
||||||
;SecurityMode bit 1
|
|
||||||
;RemovableMediaFeature bit 2
|
|
||||||
;PowerManagement bit 3
|
|
||||||
;Reserved1 bit 4
|
|
||||||
;WriteCache bit 5
|
|
||||||
;LookAhead bit 6
|
|
||||||
;ReleaseInterrupt bit 7
|
|
||||||
;ServiceInterrupt bit 8
|
|
||||||
;DeviceReset bit 9
|
|
||||||
;HostProtectedArea bit 10
|
|
||||||
;Obsolete1 bit 11
|
|
||||||
;WriteBuffer bit 12
|
|
||||||
;ReadBuffer bit 13
|
|
||||||
;Nop bit 14
|
|
||||||
;Obsolete2 bit 15
|
|
||||||
;DownloadMicrocode bit 16
|
|
||||||
;DmaQueued bit 17
|
|
||||||
;Cfa bit 18
|
|
||||||
;AdvancedPm bit 19
|
|
||||||
;Msn bit 20
|
|
||||||
;PowerUpInStandby bit 21
|
|
||||||
;ManualPowerUp bit 22
|
|
||||||
;Reserved2 bit 23
|
|
||||||
;SetMax bit 24
|
|
||||||
;Acoustics bit 25
|
|
||||||
;BigLba bit 26
|
|
||||||
;DeviceConfigOverlay bit 27
|
|
||||||
;FlushCache bit 28
|
|
||||||
;FlushCacheExt bit 29
|
|
||||||
;Resrved3 bit 30
|
|
||||||
;Words119_120Valid bit 31
|
|
||||||
;SmartErrorLog bit 32
|
|
||||||
;SmartSelfTest bit 33
|
|
||||||
;MediaSerialNumber bit 34
|
|
||||||
;MediaCardPassThrough bit 35
|
|
||||||
;StreamingFeature bit 36
|
|
||||||
;GpLogging bit 37
|
|
||||||
;WriteFua bit 38
|
|
||||||
;WriteQueuedFua bit 39
|
|
||||||
;WWN64Bit bit 40
|
|
||||||
;URGReadStream bit 41
|
|
||||||
;URGWriteStream bit 42
|
|
||||||
;ReservedForTechReport bit 43..44
|
|
||||||
;IdleWithUnloadFeature bit 45
|
|
||||||
;Reserved4 bit 46..47
|
|
||||||
CommandSetActive BLOCK 6 ; 85 170
|
|
||||||
UltraDMASupport BYTE ; 88 176
|
|
||||||
UltraDMAActive BYTE ; 177
|
|
||||||
|
|
||||||
;USHORT TimeRequired : 15
|
|
||||||
;USHORT ExtendedTimeReported : 1
|
|
||||||
NormalSecurityEraseUnit WORD ; 89 178
|
|
||||||
|
|
||||||
;USHORT TimeRequired : 15
|
|
||||||
;USHORT ExtendedTimeReported : 1
|
|
||||||
EnhancedSecurityEraseUnit WORD ; 90 180
|
|
||||||
|
|
||||||
CurrentAPMLevel BYTE ; 91 182
|
|
||||||
ReservedByte183 BYTE ; 183
|
|
||||||
MasterPasswordID WORD ; 92 184
|
|
||||||
HardwareResetResult WORD ; 93 186
|
|
||||||
CurrentAcousticValue BYTE ; 94 188
|
|
||||||
RecommendedAcousticValue BYTE ; 189
|
|
||||||
StreamMinRequestSize WORD ; 95 190
|
|
||||||
StreamingTransferTimeDMA WORD ; 96 192
|
|
||||||
StreamingAccessLatencyDMAPIO WORD ; 97 194
|
|
||||||
StreamingPerfGranularity DWORD ; 98 196
|
|
||||||
Max48BitLBA BLOCK 8 ; 100 200
|
|
||||||
StreamingTransferTime WORD ; 104 208
|
|
||||||
DsmCap WORD ; 105 210
|
|
||||||
|
|
||||||
;LogicalSectorsPerPhysicalSector : 4
|
|
||||||
;Reserved0 : 8
|
|
||||||
;LogicalSectorLongerThan256Words : 1
|
|
||||||
;MultipleLogicalSectorsPerPhysicalSector : 1
|
|
||||||
;Reserved1 : 2
|
|
||||||
PhysicalLogicalSectorSize WORD ; 106 212
|
|
||||||
InterSeekDelay WORD ; 107 214
|
|
||||||
WorldWideName BLOCK 8 ; 108 216
|
|
||||||
ReservedForWorldWideName128 BLOCK 8 ; 112 224
|
|
||||||
ReservedForTlcTechnicalReport WORD ; 116 232
|
|
||||||
WordsPerLogicalSector DWORD ; 117 234
|
|
||||||
|
|
||||||
;ReservedForDrqTechnicalReport : 1
|
|
||||||
;WriteReadVerify : 1
|
|
||||||
;WriteUncorrectableExt : 1
|
|
||||||
;ReadWriteLogDmaExt : 1
|
|
||||||
;DownloadMicrocodeMode3 : 1
|
|
||||||
;FreefallControl : 1
|
|
||||||
;SenseDataReporting : 1
|
|
||||||
;ExtendedPowerConditions : 1
|
|
||||||
;Reserved0 : 6
|
|
||||||
;WordValid : 2
|
|
||||||
CommandSetSupportExt WORD ; 119 238
|
|
||||||
|
|
||||||
;ReservedForDrqTechnicalReport : 1
|
|
||||||
;WriteReadVerify : 1
|
|
||||||
;WriteUncorrectableExt : 1
|
|
||||||
;ReadWriteLogDmaExt : 1
|
|
||||||
;DownloadMicrocodeMode3 : 1
|
|
||||||
;FreefallControl : 1
|
|
||||||
;SenseDataReporting : 1
|
|
||||||
;ExtendedPowerConditions : 1
|
|
||||||
;Reserved0 : 6
|
|
||||||
;Reserved1 : 2
|
|
||||||
CommandSetActiveExt WORD ; 120 240
|
|
||||||
|
|
||||||
Reserved121 BLOCK 12 ; 121 242
|
|
||||||
MsnSupport BYTE ; 127 254
|
|
||||||
ReservedByte255 BYTE ; 255
|
|
||||||
|
|
||||||
;SecuritySupported : 1
|
|
||||||
;SecurityEnabled : 1
|
|
||||||
;SecurityLocked : 1
|
|
||||||
;SecurityFrozen : 1
|
|
||||||
;SecurityCountExpired : 1
|
|
||||||
;EnhancedSecurityEraseSupported : 1
|
|
||||||
;Reserved0 : 2
|
|
||||||
;SecurityLevel : 1
|
|
||||||
;Reserved1 : 7
|
|
||||||
SecurityStatus WORD ; 128 256
|
|
||||||
|
|
||||||
ReservedBlock129 BLOCK 62 ; 129 258
|
|
||||||
|
|
||||||
;MaximumCurrentInMA : 12
|
|
||||||
;CfaPowerMode1Disabled : 1
|
|
||||||
;CfaPowerMode1Required : 1
|
|
||||||
;Reserved0 : 1
|
|
||||||
;Word160Supported : 1
|
|
||||||
CfaPowerMode1 WORD ; 160 320
|
|
||||||
|
|
||||||
ReservedBlock161 BLOCK 14 ; 161 322
|
|
||||||
NominalFormFactor WORD ; 168 336
|
|
||||||
|
|
||||||
/* ;!TODO ????????
|
|
||||||
|
|
||||||
struct {
|
|
||||||
USHORT SupportsTrim : 1
|
|
||||||
USHORT Reserved0 : 15
|
|
||||||
} DataSetManagementFeature
|
|
||||||
|
|
||||||
USHORT AdditionalProductID[4]
|
|
||||||
USHORT ReservedForCfaWord174[2]
|
|
||||||
USHORT CurrentMediaSerialNumber[30]
|
|
||||||
|
|
||||||
struct {
|
|
||||||
USHORT Supported : 1
|
|
||||||
USHORT Reserved0 : 1
|
|
||||||
USHORT WriteSameSuported : 1
|
|
||||||
USHORT ErrorRecoveryControlSupported : 1
|
|
||||||
USHORT FeatureControlSuported : 1
|
|
||||||
USHORT DataTablesSuported : 1
|
|
||||||
USHORT Reserved1 : 6
|
|
||||||
USHORT VendorSpecific : 4
|
|
||||||
} SCTCommandTransport
|
|
||||||
|
|
||||||
USHORT ReservedWord207[2]
|
|
||||||
|
|
||||||
struct {
|
|
||||||
USHORT AlignmentOfLogicalWithinPhysical : 14
|
|
||||||
USHORT Word209Supported : 1
|
|
||||||
USHORT Reserved0 : 1
|
|
||||||
} BlockAlignment
|
|
||||||
|
|
||||||
USHORT WriteReadVerifySectorCountMode3Only[2]
|
|
||||||
USHORT WriteReadVerifySectorCountMode2Only[2]
|
|
||||||
|
|
||||||
struct {
|
|
||||||
USHORT NVCachePowerModeEnabled : 1
|
|
||||||
USHORT Reserved0 : 3
|
|
||||||
USHORT NVCacheFeatureSetEnabled : 1
|
|
||||||
USHORT Reserved1 : 3
|
|
||||||
USHORT NVCachePowerModeVersion : 4
|
|
||||||
USHORT NVCacheFeatureSetVersion : 4
|
|
||||||
} NVCacheCapabilities
|
|
||||||
|
|
||||||
USHORT NVCacheSizeLSW
|
|
||||||
USHORT NVCacheSizeMSW
|
|
||||||
USHORT NominalMediaRotationRate
|
|
||||||
USHORT ReservedWord218
|
|
||||||
|
|
||||||
struct {
|
|
||||||
UCHAR NVCacheEstimatedTimeToSpinUpInSeconds
|
|
||||||
UCHAR Reserved
|
|
||||||
} NVCacheOptions
|
|
||||||
|
|
||||||
USHORT WriteReadVerifySectorCountMode : 8
|
|
||||||
USHORT ReservedWord220 : 8
|
|
||||||
USHORT ReservedWord221
|
|
||||||
|
|
||||||
struct {
|
|
||||||
USHORT MajorVersion : 12
|
|
||||||
USHORT TransportType : 4
|
|
||||||
} TransportMajorVersion
|
|
||||||
|
|
||||||
USHORT TransportMinorVersion
|
|
||||||
USHORT ReservedWord224[6]
|
|
||||||
ULONG ExtendedNumberOfUserAddressableSectors[2]
|
|
||||||
USHORT MinBlocksPerDownloadMicrocodeMode03
|
|
||||||
USHORT MaxBlocksPerDownloadMicrocodeMode03
|
|
||||||
USHORT ReservedWord236[19]
|
|
||||||
USHORT Signature : 8
|
|
||||||
USHORT CheckSum : 8
|
|
||||||
*/
|
|
||||||
ENDS
|
|
||||||
Loading…
Reference in New Issue
Block a user