Tandy 1000 HX Technical Reference Manual page 216

Table of Contents

Advertisement

NEC
M
PD765A/
M
PD7265
termination, may perform a multi-sector read operation.
When N is non-zero, then DTL has no meaning and
should be set to FFH.
Table 5. Transfer Capacity
Multi-
Track
MT
0
0
1
1
0
0
1
1
0
0
1
1
MFM/
FM
MF
0
1
0
1
0
1
0
1
0
1
0
1
Bytes/
N
00
01
00
01
01
02
01
02
02
03
02
03
Maximum Transfer Capacity
(Bytes/Sector)
(128) (26) =
(256)(26) =
(128) (52) =
(256) (52) =
(256) (15) =
(512)(15) =
(256)(30) =
(512)(30)=
(512)(8)
=
(1024) (8)
=
(512) (16) =
(1024) (16) =
3,328
6,656
6,656
13,312
3,840
7,680
7,680
15,360
4,096
8,192
8,192
16,384
Final Sector
Read from
Diskettes
26 at side 0
or 26 at side 1
26 at side 1
15 at side 0
or 15 at side 1
15 at side 1
8 at side 0
or 8 at side 1
8 at side 1
At the completion of the Read Data command, the head
is not unloaded until after head unload time interval
(specified in the Specify command) has elapsed. If the
processor issues another command before the head un-
loads then the head settling time may be saved between
subsequent reads. This time out is particularly valuable
when a diskette is copied from one drive to another.
If the FDC detects the index hole twice without finding
the right sector, (indicated in "R"), then the FDC sets the
ND (No data) flag in status register 1 to a 1 (high), and
terminates the Read Data command. (Status register 0
also has bits 7 and 6 set to 0 and 1, respectively.)
After reading the ID and data fields in each sector, the
FDC checks the CRC bytes. If a read error is detected
(incorrect CRC in ID field), the FDC sets the DE (data er-
ror) flag in status register 1 to a 1 (high), and if a CRC error
occurs in the data field, the FDC also sets the DD (data
error in data field) flag in status register 2 to a 1 (high),
and terminates the Read Data command. (Status regis-
ter 0 also has bits 7 and 6 set to 0 and 1, respectively.)
If the FDC reads a deleted data address mark off the
diskette, and the SK bit (bit D5 in the first command
word) is not set (SK = 0), then the FDC sets the CM (con-
trol mark) flag in status register 2 to a 1 (high), and termi-
nates the Read Data command, after reading all the
data in the sector. If SK = 1, the FDC skips the sector
with the deleted data address mark and reads the next
sector. The CRC bits in the deleted data field are not
checked when SK = 1.
During disk data transfers between the FDC and the
processor, via the data bus, the FDC must be serviced
by the processor every 27 ^s in the FM mode, and every
13fiS in the MFM mode, or the FDC sets the OR (Overrun)
flag in status register 1 to a 1 (high), and terminates the
Read Data command.
If the processor terminates a read (or write) operation in
the FDC, then the ID information in the result phase is
dependent upon the state of the MT bit and EOT byte.
Table 2 shows the values for C, H, R, and N, when the
processor terminates the command.
Functional Description of Commands
Write Data
A set of nine (9) bytes is required to set the FDC into the
write data mode. After the Write Data command has
been issued the FDC loads the head (if it is in the un-
loaded state), waits the specified head settling time (de-
fined in the Specify command), and begins reading ID
fields. When all four bytes loaded during the command
(C, H, R, N) match the four bytes of the ID field from the
diskette, the FDC takes data from the processor byte-by-
byte via the data bus and outputs it to the FDD. See
table 6.
Table 6.
MT
0
0
0
0
1
1
1
1
HD
0
0
1
1
0
0
1
1
Command Description
to Processor
Less than EOT
Equal to EOT
Less than EOT
Equal to EOT
Less than EOT
Equal to EOT
Less than EOT
Equal to EOT
,d
i D l n f
C
NC
C+1
NC
C+1
NC
NC
NC
C+1
ormatio
H
NC
NC
NC
NC
NC
LSB
NC
LSB
n at Result Phase
R
R+1
R = 01
R+1
R = 01
R+1
R = 01
R+1
R = 01
N
N C
N C
N C
N C
N C
N C
N C
N C
Note:
(1) NC (No Change): The same value as the one at the beginning of com-
mand execution.
(2) LSB (Least Significant Bit): The least significant bit of H is comple-
mented.
After writing data into the current sector, the sector
number stored in R is incremented by one, and the next
data field is written into. The FDC continues this multi-
sector write operation until the issuance of a terminal
count signal. If a terminal count signal is sent to the
FDC it continues writing into the current sector to
complete the data field. If the terminal count signal is
received while a data field is being written then the re-
mainder of the data field is filled with zeros.
The FDC reads the ID field of each sector and checks
the CRC bytes. If the FDC detects a read error (CRC er-
ror) in one of the ID fields, it sets the DE (Data Error) flag
of status register 1 to a 1 (high) and terminates the Write

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents