
CY7C68310
Document 38-08030 Rev. *H
Page 9 of 34
Bit 0 TaskFileRead - This bit determines whether or not the taskfile register
data selected in bmATACBRegisterSelect is returned. If this bit is set, the
dCBWDataTransferLength field must be set to 8.
0 = Execute ATACB command and data transfer (if any)
1 = Only read taskfile registers selected in bmATACBRegisterSelect and return
0x00h for all others. The format of the 8 bytes of returned data is as follows:
•
Address offset 0x00 (3F6h) - Alternate Status
•
Address offset 0x01 (1F1h) - Features / Error
•
Address offset 0x02 (1F2h) - Sector Count
•
Address offset 0x03 (1F3h) - Sector Number
•
Address offset 0x04 (1F4h) - Cylinder Low
•
Address offset 0x05 (1F5h) - Cylinder High
•
Address offset 0x06 (1F6h) - Device / Head
•
Address offset 0x07 (1F7h) - Command / Status
3
bmATACBRegisterSelect
This field controls which of the taskfile register read or write accesses occur.
Taskfile read data will always be 8 bytes in length, and unselected register data
will be returned as 0x00h. Register accesses occur in sequential order as
outlined below (0 to 7):
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
4
bATACBTransferBlockCount
This value indicates the maximum requested block size in 512-byte incre-
ments. This value must be set to the last value used for the “Sectors per block”
in the SET_MULTIPLE_MODE command. Legal values are 0, 1, 2, 4, 8, 16,
32, 64, and 128 where 0 indicates 256 sectors per block. A command failed
status will be returned if an illegal value is used in the ATACB.
5-12
bATACBTaskFileWriteData
These bytes contain ATA register data used with ATA command or PIO write
operations. Only registers selected in bmATACBRegisterSelect are required to
hold valid data when accessed. The registers are as follows:
•
ATACB Address Offset 0x05h (3F6h) - Device Control
•
ATACB Address Offset 0x06h (1F1h) - Features
•
ATACB Address Offset 0x07h (1F2h) - Sector Count
•
ATACB Address Offset 0x08h (1F3h) - Sector Number
•
ATACB Address Offset 0x09h (1F4h) - Cylinder Low
•
ATACB Address Offset 0x0Ah (1F5h) - Cylinder High
•
ATACB Address Offset 0x0Bh (1F6h) - Device
•
ATACB Address Offset 0x0Ch (1F7h) - Command
13-15
Reserved
These bytes must be set to 0x00h for ATACB commands.
Table 5-1. ATACB Field Descriptions
Byte
Field Name
Field Description