
ISD-300A1
31
October 19, 2001
DEVOverride
– Use the DEV value specified in the
ATACB
.
0 = The DEV bit value will be determined from ISD-300A1 Configuration data
(0x5 bit 5).
1= The DEV bit value will be determined from the
ATACB
(0xB bit 4).
DPErrorOverride(1:0)
- Device and Phase Error Override. These bits shall not
be set in conjunction with
bmATACBActionSelect TaskFileRead
. The order of
precedence for error override shall be dependant on the amount of data left to
transfer when the error is detected, as depicted in the
ATACB
Command Flow
diagram.
00 = Data accesses are halted if a device or phase error is detected.
01 = Phase error conditions are not used to qualify the occurrence of data
accesses.
10 = Device error conditions are not used to qualify the occurrence of data
accesses.
11 = Neither device error or phase error conditions are used to qualify the
occurrence of data accesses.
PollAltStatOverride
- Poll ALTSTAT Override.
0 = The Alternate Status registered shall be polled until BSY=0 before
proceeding with the
ATACB
operation.
1 = Execution of the
ATACB
shall proceed with the data transfer without polling
the Alternate Status register until BSY=0.
DeviceSelectionOverride
- Device Selection Override. This bit shall not be set
in conjunction with
bmATACBActionSelect TaskFileRead
.
0 = Device selection shall be performed prior to command register write
accesses.
1 = Device selection shall not be performed prior to command register write
accesses.
TaskFileRead
- Read and return the task file register data selected in
bmATACBRegisterSelect
. If
TaskFileRead
is set, the
dCBWDataTransferLength
field must be set to 8.
0 = Execute
ATACB
command and data transfer (if any).
1 = Only task file registers selected in
bmATACBRegisterSelect
shall be read
.
Task file registers not selected in
bmATACBRegisterSelect
shall not be accessed
and 00h shall be returned for the unselected register data.
bmATACBRegisterSelect –
Setting the appropriate bit fields shall cause the taskfile read or write register access to occur.
Taskfile read data shall always be 8 bytes in length. Unselected taskfile register data shall be
returned as 00h. Taskfile register accesses shall occur in sequential order as shown (Bit 0 first, Bit
7 last). The
bmATACBRegisterSelect
bitmap shall be as defined below.
Bit 0
(3F6h) Device Control / Alternate Status
Bit 1
(1F1h) Features / Error
Bit 2
(1F2h) Sector Count
Bit 3
(1F3h) Sector Number
Bit 4
(1F4h) Cylinder Low
Bit 5
(1F5h) Cylinder High
Bit 6
(1F6h) Device / Head
Bit 7
(1F7h) Command / Status
bATACBTransferBlockCount –
This value shall denote the maximum requested block size in 512 byte blocks. This variable shall
be set to the value last used for “Sectors per block” in the SET_MULTIPLE_MODE command.
Valid values are 0, 1, 2, 4, 8, 16, 32, 64, and 128 (0 indicates 256 sectors per block). Command
failed status shall be returned if an invalid value is detected in the
ATACB
. Non-multiple
commands shall set this value to 1 (block size of 512 bytes).
Bit 5
Bits 4-3
Bit 2
Bit 1
Bit 0