
SMSC DS – FDC37N958FR
Page 74
Rev. 09/01/99
Configure
The Configure command is issued to select the
special features of the FDC. A Configure
command need not be issued if the default values
of the FDC meet the system requirements.
Configure Default Values:
EIS - No Implied Seeks
EFIFO - FIFO Disabled
POLL - Polling Enabled
FIFOTHR - FIFO Threshold Set to 1 Byte
PRETRK - Pre-Compensation Set to Track 0
EIS - Enable Implied Seek. When set to "1", the
FDC will perform a Seek operation before
executing a read or write command. Defaults to
no implied seek.
EFIFO - A "1" disables the FIFO (default). This
means data transfers are asked for on a byte-by-
byte basis. Defaults to "1", FIFO disabled. The
threshold defaults to "1".
POLL - Disable polling of the drives. Defaults to
"0", polling enabled. When enabled, a single
interrupt is generated after a reset. No polling is
performed while the drive head is loaded and the
head unload delay has not expired.
FIFOTHR - The FIFO threshold in the execution
phase of read or write commands. This is
programmable from 1 to 16 bytes. Defaults to one
byte. A "00" selects one byte; "0F" selects 16
bytes.
PRETRK
Number. Programmable from track 0 to 255.
Defaults to track 0. A "00" selects track 0; "FF"
selects track 255.
-
Pre-Compensation
Start
Track
Version
The Version command checks to see if the
controller is an enhanced type or the older type
(765A). A value of 90 H is returned as the result
byte.
Relative Seek
The command is coded the same as for Seek,
except for the MSB of the first byte and the DIR
bit.
DIR
0
1
Step Head In
ACTION
Step Head Out
DIR
Head Step Direction Control
RCN Relative Cylinder Number that determines
how many tracks to step the head in or out
from the current track number.
The Relative Seek command differs from the
Seek command in that it steps the head the
absolute number of tracks specified in the
command instead of making a comparison
against an internal register. The Seek command
is good for drives that support a maximum of 256
tracks. Relative Seeks cannot be overlapped with
other Relative Seeks. Only one Relative Seek
can be active at a time. Relative Seeks may be
overlapped with Seeks and Recalibrates. Bit 4 of
Status Register 0 (EC) will be set if Relative Seek
attempts to step outward beyond Track 0.
As an example, assume that a floppy drive has
300 useable tracks. The host needs to read track
300 and the head is on any track (0-255). If a
Seek command is issued, the head will stop at
track 255. If a Relative Seek command is issued,
the FDC will move the head the specified number
of tracks, regardless of the internal cylinder
position register (but will increment the register). If
the head was on track 40 (d), the maximum track
that the FDC could position the head on using
Relative Seek will be 295 (D), the initial track +
255 (D). The maximum count that the head can
be moved with a single Relative Seek command is
255 (D).