Prior to issuing this command, the BA register must be loaded with the address of the first location of
the
data
block in the main memory. The word counter register must be loaded with the
data
blo(;k
length. The
DA
register
is
then loaded with the starting disk address location.
At
this point,
th,e
write
check command can be loaded into the
CS
register.
Once the header
is
found, and the header
CRC
validates the match, 128 words of
data
are read
fro:m
the disk. The disk
data
is
then compared serially with the serial data coming out
of
the silo
(SER
DATA OUT). Either a compare error or a
data
CRC
error will set bit
11
in the
CS
register.
4.3.3 Get Status - Function Code 2
The
Get
Status command causes the status word from a drive to be transferred to the controller where
the software can access it through the
MPR.
The software should first verify
that
the controller
is
ready
to perform an operation (the drive does not have to be ready). Then, the software should load
DAR
with ones in bits
01
and 00, and zeros in the other locations. Next, the software should load the
CSR
with drive-select bits, a negative
GO
bit,
IE
bit (if desired) and a code of 2 in the function bits. The
controller will then command the selected drive to transfer its status word to the
MPR
in the controller.
If
the
"reset"
bit (03) in the
DAR
is
also set, the drive resets its status before transferring it
1to
the controller. This
is
the manner in which Volume Check
is
cleared or to check for hard errors.
4.3.4 Seek - Function Code 3
The Seek operation causes the positioner to move (either forward or reverse) some number
of
cylinders.
The software should first verify
that
the drive
is
ready to accept a command, then load the
DAR
wi1th
the difference word (difference between the present position and desired position). This word contains
the number of cylinders to move (bits
15
through 07), the head-select bit (04) and the direction
:bit
(bit
02, 1 = forward, 0 = reverse). Bits 06, 05 and
01
must be reset and bit 00 must be set. After the
DAR
is
loaded, the software should load the
CSR
with the command word. This word should contain
the:
drive-
select bits, the negative
GO
bit, the
IE
bit (if desired), and a code
of
3 in the function bits. The con-
troller sends the Seek command to the selected drive, causing the drive to start its Seek operation.
At
this time, the controller becomes ready and interrupts if
IE
is
set. The controller
is
now
ready to accept
another command to perform another operation on another drive while the Seek
is
occurring.
If
the difference word
is
large enough
that
the heads attempt to move past the innermost or outermost
limits, the head will stop
at
the guard band and retreat to the first even-numbered
data
track.
4.3.5 Read Header - Function Code 4
When a Read Header function
is
decoded, the controller will read the first header encountered on the
selected drive and place the three header words in the buffer. They pass through the buffer and stop
with the first word in the
MP
register. The software can then access the first word to determine the
current sector, head, and cylinder address. When the software extracts the first word from the
M:P
register, the second word automatically moves into the
MP
register.
If
the software extracts the second
word, the third word automatically moves into the MP. This
is
the
CRC
word. The software can now
access it for checking purposes.
4.3.6 Write
Data
- Function Code 5
When this function
is
decoded with
CRDY
cleared, the controller reads successive header words and
compares them to the
DA
register. When a match
is
found, the header
CRC
is
checked and, if
c:orrec:t,
that
sector
is
written with the words from memory designated by the BA
and/or
BAE register(s). The
BA and
MP
registers are incremented for each word
that
is
transferred. For partial sector writes, the
remaining sector area
is
filled with zeros.
At
the end of the sector, the sector portion of the
DA
is
incremented. The next sector
is
written if all the words have not been written.
At
the end
of
the
transfer,
CRDY
is
set and an interrupt made if
IE
is
set.
4-16