
74
FDC CONTROL COMMANDS
Control commands differ from the other commands in that no data transfer takes place.
Three
commands generate an interrupt when complete: Read ID, Recalibrate, and Seek. The other control
commands do not generate an interrupt.
Read ID
The Read ID command is used to find the present position of the recording heads. The FDC stores
the values from the first ID field it is able to read into its registers. If the FDC does not find an ID
address mark on the diskette after the second occurrence of a pulse on the nINDEX pin, it then sets
the IC code in Status Register 0 to "01" (abnormal termination), sets the MA bit in Status Register 1
to "1", and terminates the command.
The following commands will generate an interrupt upon completion. They do not return any result
bytes. It is highly recommended that control commands be followed by the Sense Interrupt Status
command. Otherwise, valuable interrupt status information will be lost.
Recalibrate
This command causes the read/write head within the FDC to retract to the track 0 position. The FDC
clears the contents of the PCN counter and checks the status of the nTR0 pin from the FDD. As long
as the nTR0 pin is low, the DIR pin remains 0 and step pulses are issued. When the nTR0 pin goes
high, the SE bit in Status Register 0 is set to "1" and the command is terminated. If the nTR0 pin is
still low after 79 step pulses have been issued, the FDC sets the SE and the EC bits of Status
Register 0 to "1" and terminates the command. Disks capable of handling more than 80 tracks per
side may require more than one Recalibrate command to return the head back to physical Track 0.
The Recalibrate command does not have a result phase. The Sense Interrupt Status command must
be issued after the Recalibrate command to effectively terminate it and to provide verification of the
head position (PCN). During the command phase of the recalibrate operation, the FDC is in the
BUSY state, but during the execution phase it is in a NON-BUSY state.
At this time, another
Recalibrate command may be issued, and in this manner parallel Recalibrate operations may be
done on up to four drives at once.
Upon power up, the software must issue a Recalibrate command to properly initialize all drives and
the controller.