|
|
|
| CY7C68300C/CY7C68301C |
|
|
|
|
| CY7C68320C/CY7C68321C |
|
|
|
|
|
|
|
|
|
|
|
|
|
| Table 6. ATACB Field Descriptions (continued) |
|
| ||
|
|
|
|
| |
| Byte | Field Name | Field Description |
| |
|
|
|
|
| |
| 3 | bmATACBRegisterSelect | This field controls which of the taskfile register read or write accesses occur. |
| |
|
|
|
| Taskfile read data is always 8 bytes in length, and unselected register data are |
|
|
|
|
| returned as 0x00. Register accesses occur in sequential order as outlined |
|
|
|
|
| below (0 to 7): |
|
|
|
|
| Bit 0 (0x3F6) Device Control/Alternate Status |
|
|
|
|
| Bit 1 (0x1F1) Features/Error |
|
|
|
|
| Bit 2 (0x1F2) Sector Count |
|
|
|
|
| Bit 3 (0x1F3) Sector Number |
|
|
|
|
| Bit 4 (0x1F4) Cylinder Low |
|
|
|
|
| Bit 5 (0x1F5) Cylinder High |
|
|
|
|
| Bit 6 (0x1F6) Device/Head |
|
|
|
|
| Bit 7 (0x1F7) Command/Status |
|
|
|
|
|
| |
| 4 | bATACBTransferBlockCount | This value indicates the maximum requested block size be in |
| |
|
|
|
| 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 is returned if an illegal value is used in the ATACB. |
|
|
| 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 0x05 (0x3F6) – Device Control |
|
|
|
|
| ATACB Address Offset 0x06 (0x1F1) – Features |
|
|
|
|
| ATACB Address Offset 0x07 (0x1F2) – Sector Count |
|
|
|
|
| ATACB Address Offset 0x08 (0x1F3) – Sector Number |
|
|
|
|
| ATACB Address Offset 0x09 (0x1F4) – Cylinder Low |
|
|
|
|
| ATACB Address Offset 0x0A (0x1F5) – Cylinder High |
|
|
|
|
| ATACB Address Offset 0x0B (0x1F6) – Device |
|
|
|
|
| ATACB Address Offset 0x0C (0x1F7) – Command |
|
|
|
|
|
| |
| Reserved | These bytes must be set to 0x00 for ATACB commands. |
| ||
|
|
|
|
|
|
Document | Page 17 of 42 |
[+] Feedback