AT INTERFACE and ATA COMMANDS
WA31273A / WA32543A / WA33203A / WA32163A / WA31083A / WA32162A 6-19
d - The device parameter is valid, the usage of the head parameter is vendor specific.
D* - Address to Device 0 but both devices execute it.
* - Maintained for compatibility
6-4-1 Check Power Mode (98h,E5h)
This command checks the power mode.
If the drive is in, going to, or recovering from the Standby Mode the drive sets BSY, sets
the Sector Count Register to 00h, clears BSY, and generates an interrupt.
If the drive is in the Idle Mode, the drive sets BSY, sets the Sector Count Register to FFh,
clears BSY, and generates an interrupt.
6-4-2 Execute Device Diagnostics (90h)
This command performs the internal diagnostic tests implemented by the drive. The
DRV bit is ignored. Both drives, if present, shall execute this command.
If Drive 1 is present:
•
Drive 1 asserts PDIAG- within 5 seconds.
•
Drive 0 waits up to 6 seconds for Drive 1 to assert PDIAG-.
•
If Drive 1 has not asserted PDIAG-, indicating a failure, Drive 0 appends 80h to its
own diagnostic status.
•
Both drives execute diagnostics.
•
If Drive 1 diagnostic failure is detected when Drive 0 status is read, Drive 1 status is
obtained by setting the DRV bit, and reading status.
If there is no Drive 1 present:
•
Drive 0 posts only its own diagnostic results.
•
Drive 0 clears BSY, and generates an interrupt.
The Diagnostic Code written to the Error Register is a unique 8-bit code (shown in Table
6-5) not as the single bit flags defined in 6.3.4.4.
If Drive 1 fails diagnostics, Drive 0 "ORs" 80h with its own status and loads that code
into the Error Register. If Drive 1 passes diagnostics or there is no Drive 1 connected,
Drive 0 "ORs" 00h with its own status and loads that code into the Error Register.