2195 lines
118 KiB
Plaintext
2195 lines
118 KiB
Plaintext
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
INTEL
|
||
|
||
8272
|
||
|
||
SINGLE/DOUBLE DENSITY FLOPPY DISK
|
||
|
||
CONTROLLER.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Û IBM Compatible in Both Single and Û Data Transfers in DMA or Non-DMA
|
||
Double Density Recording Formats Mode
|
||
|
||
Û Programmable Data Record Lengths : Û Parallel Seek Operations on Up to
|
||
128,256,512, or 1024 Bytes/Sector Four Drives
|
||
|
||
Û Drive Up to 4 Floppy Disks Û Compatible with Most
|
||
Microprocessors Including 8080A,
|
||
Û Data Scan Capability - Will Scan a 8085A,8086 and 8088
|
||
Single Sector or an Entire Cylinder's
|
||
Worth of Data Fields, Comparing on a Û Single-Phase 8 MHz Clock
|
||
Byte by Byte Basics, Data in the
|
||
Processor's Memory with Data Read Û Single +5 Volt Power Supply
|
||
from the Diskette
|
||
Û Available in 40-Pin Plastic Dual-in
|
||
-line Package
|
||
|
||
|
||
|
||
|
||
|
||
|
||
The 8272 is an LSI Floppy Disk Controller (FDC) Chip, WHICH contains the
|
||
circulty and control functions for interfacing a processor to 4 Floppy Disk
|
||
Drives. It is capable of supporting either IBM 3740 single density format
|
||
(FM),or IBM System 34 Double Density format (MFM) including double sided
|
||
recording. The 8272 provides control signals which simlify the design of an
|
||
external phase locked loop, and write precompensation circultry. The FDC
|
||
simplifies and hanles most of the burdens associated with implementing
|
||
a Floppy Disk Drive Interface.
|
||
|
||
|
||
|
||
|
||
|
||
_______________________________________________________________________________
|
||
|
||
|
||
PIN CONFIGURATION
|
||
|
||
|
||
ÚÄÄÄ¿ ÚÄÄÄÄ¿
|
||
RESETÄÄ´1 ÀÄÄÄÙ 40 ÃÄÄVcc
|
||
_RDÄÄ´2 39 ÃÄÄ_RW/SEEK
|
||
_WRÄÄ´3 38 ÃÄÄLCT/DIR
|
||
_CSÄÄ´4 37 ÃÄÄFR/STP
|
||
A0ÄÄ´5 36 ÃÄÄMDL
|
||
DB0ÄÄ´6 35 ÃÄRDY
|
||
DB1ÄÄ´7 34 ÃÄÄWP/TS
|
||
DB2ÄÄ´8 33 ÃÄÄFLT/TRK0
|
||
DB3ÄÄ´9 32 ÃÄÄPS0
|
||
DB4ÄÄ´10 31 ÃÄÄPS1
|
||
DB5ÄÄ´11 30 ÃÄÄWR DATA
|
||
DB6ÄÄ´12 29 ÃÄÄDS0
|
||
DB7ÄÄ´13 28 ÃÄÄDS1
|
||
DRQÄÄ´14 27 ÃÄÄHDSEL
|
||
_DACKÄÄ´15 26 ÃÄÄMFM
|
||
TCÄÄ´16 25 ÃÄÄWE
|
||
IDXÄÄ´17 24 ÃÄÄVc0
|
||
INTÄÄ´18 23 ÃÄÄRD DATA
|
||
CLRÄÄ´19 22 ÃÄÄDW
|
||
GNDÄÄ´20 21 ÃÄÄWR CLK
|
||
ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
8272 INTERNAL BLOCK DIAGRAM
|
||
|
||
|
||
|
||
|
||
|
||
|
||
³ ³ ÚÄÄÄÄÄÄÄÄÄÄ¿
|
||
ÚÄÄÄÄÄÄÄ¿ ³ ³ ³ ³
|
||
/__\ ³ ³ /__\ ³ ³ /__\ ³ ³
|
||
DB0-7<____>³ DATA ³<___ >³8³<____>³ ³
|
||
\ / ³ BUS ³ \ / ³2³ \ / ³REGISTERS ³
|
||
³ BUFFER³ ³7³ ³ ³
|
||
³ ³ ³2³ ³ ³
|
||
³ ³ ³ ³ ³ ³
|
||
ÀÄÄÄÄÄÄÄÙ ³I³ ³ ³
|
||
ÄÄÄÄÄ¿ ³N³ ÀÄÄÄÄÄÄÄÄÄÄÙ
|
||
TERMINAL ³ ³T³
|
||
COUNT \³ / ³E³ ÚÄÄÄÄÄÄÄÄÄÄ¿
|
||
\/ ³R³ ³ SERIAL ³<------- WR CLOCK
|
||
ÚÄÄÄÄÄÄÄÄ¿ ³N³ ³ INTERFACE³-------> WR DATA
|
||
DRQ<---³ ³ ³A³ /__\ ³CONTROLLER³-------> WR ENABLE
|
||
DACK--->. READ ³ ³L³<____>³ ³-------> PRE-SHIFT0
|
||
INT<---³ WRITE ³ ³ ³ \ / ³ ³-------> PRE-SHIFT1
|
||
ID--->. DMA ³ /__\ ³B³ ³ ³<------- READ DATA
|
||
WR--->. CONTROL³<____>³U³ ³ ³<------- DATA WINDOW
|
||
A0--->³ LOGIC ³ \ / ³S³ ÀÄÄÄÄÄÄÄÄÄÄÙ-------> Vco SYNC
|
||
RESET--->³ ³ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ ³ ³ ³ ÚÄÄÄÄÄ¿
|
||
ÀÄÄÄ.ÄÄÄÄÙ ³ ³ ³ ³ /__³ ³
|
||
/³\ ³ ³ ³ DRIVE ³<___³INPUT³
|
||
³ ³ ³ /__\ ³INTERFACE ³ \ ³ PORT³
|
||
³ ³ ³<____>³CONTROLLER³ ³ ³
|
||
³ ³ ³ \ / ³ ³ ÀÄÄÄÄÄÙ
|
||
CS ÄÄÄÄÄÙ ³ ³ ³ ³ /\ ÚÄÄÄÄÄ¿
|
||
³ ³ ³ ³<-->³ ³-->DRIVE SEL0
|
||
³ ³ ÀÄÄÄÄÄÄÄÄÄÄÙ \/ ³ OUT ³-->DRIVE SEL1
|
||
³ ³ ³ ³-->MFM MODE
|
||
CLK ---> ³ ³ ³ PORT³-->R/W SEEK
|
||
Vcc ---> ³ ³-->HEAD LOAD
|
||
GND ---> ³ ³-->HEAD SELECT
|
||
³ ³-->LOW
|
||
³ ³ CURRENT/DIRECTION
|
||
ÀÄÄÄÄÄÙ-->FAULT RESET/STEP
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
8272 SYSTEM BLOCK DIAGRAM
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄ¿
|
||
³ ³
|
||
³ CPU ³
|
||
³ ³
|
||
ÀÄÄÄÄÄÄÙ
|
||
^
|
||
/ \
|
||
/ \
|
||
| |
|
||
| |
|
||
\ /
|
||
\ /
|
||
|
||
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
SYSTEM BUS
|
||
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
|
||
^ ^
|
||
/ \ / \
|
||
/ \ / \
|
||
| | | |
|
||
| | | |
|
||
\ / \ /
|
||
\ / \ /
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄ¿ DATA ÚÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ DRQ ³ ³ WINDOW ³ ³ ³ ÄÄ´
|
||
³ ³<--------³ ³<-----------³FLL³---³ ³
|
||
³ ³ ³ ³ ³ ³ | ³
|
||
³ 8237 ³ ³ 8272 ³ ÀÄÄÄÙ | ³ DRIVE ³
|
||
³ DMA ³ _DACK ³ ³ RD DATA | ³ ³
|
||
³CONTROLLER³-------->³ FDC ³<------------------ ³INTERFACE
|
||
³ ³ ³ ³ WR DATA ³ ³
|
||
³ ³ ³ ³------------------->³ ³
|
||
³ ³ ³ ³ / ³ ³
|
||
³ ³-------->³ ³ / -----------------³ ³
|
||
ÀÄÄÄÄÄÄÄÄÄÄÙ TC ³ ³< INPUT CONTROL ³ ³
|
||
³ ³ \ -----------------³ ³
|
||
(TERMINAL COUNT)³ ³ \ ³ ³
|
||
³ ³ \ ³ ³
|
||
³ ³------------------\ ³ ³
|
||
³ ³ OUTPUT CONTROL >³ ³
|
||
ÀÄÄÄÄÄÄÄÄÄÄÙ------------------/ ÀÄÄÄÄÄÄÄÄÄÄÙ
|
||
/
|
||
|
||
|
||
DESCRIPTION
|
||
|
||
Hand-shaking signals are provided in the 8272 which make DMA operation
|
||
easy to incorporate with the aid of an external DMA Controller chip, such
|
||
as the 8237. The FDC will operate in einther DMA or Non-DMA mode. In the
|
||
Non-DMA mode,the FDC generates interrupts to the processor for every transfer
|
||
of data byte between the CPU and 8272. In the DMA mode, the processor need
|
||
only load command into the FDC and all data transfers occur under control of
|
||
the 8272 and DMA controller.
|
||
|
||
There are 15 separate commands which the 8272 will execute. Each of these
|
||
commands require multiple 8-bit bytes to fully specify the operation which
|
||
the processor wishes the FDC to perform. The following commands are available:
|
||
|
||
Read Data Write Data
|
||
Read ID Format a Track
|
||
Read Deleted Data Write Deleted Data
|
||
Read a Track Seek
|
||
Scan Equal Recalibrate (Restore to Track 0)
|
||
Scan High or Equal Sense Interrupt Status
|
||
Scan Low or Equal
|
||
Specify Sense Drive Status
|
||
|
||
|
||
|
||
|
||
FEATURES
|
||
|
||
Addres mark detection circultry is internal to the FDC which simlifies the
|
||
phase locked loop and read electronics. The track stopping rate, head load
|
||
time, and head unload time may be programmed by user. The 8272 offers many
|
||
additional features such as multiple sector transfers in both read and write
|
||
modes with a single command, and full IBM compatibillity in both single (FM)
|
||
and double density (MFM) modes.
|
||
|
||
|
||
8272 REGISTERS - CPU INTERFACE
|
||
|
||
The 8272 contain two registers which may accessed by the main system
|
||
processor: a Status Register and a Data Register. The 8-bit Main Status
|
||
Register contains the status information of the FDC ,and may be accessed at
|
||
any time. The 8-bit Data Register ( actually consists of several registers in
|
||
a stack with only one register presented to the data bus at time), stores
|
||
data ,commands,parameters, and FDD status information. Data bytes are read
|
||
out of, or written into, the Data Register in order to program or obtain the
|
||
results after execution of command. The Status Register may only be read and
|
||
is used to facilitate the transfer of data between the processor and 8272.
|
||
|
||
The relationship between the Status/Data registers and the signals _RD,_WR,
|
||
and A0 is shown below.
|
||
|
||
ÚÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³A0 ³ _RD ³ _WR ³ FUNCTION ³
|
||
ÆÍÍÍØÍÍÍÍÍØÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵
|
||
³ 0 ³ 0 ³ 1 ³ Read Main Status ³
|
||
³ ³ ³ ³ Register ³
|
||
ÆÍÍÍØÍÍÍÍÍØÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵
|
||
³ 0 ³ 1 ³ 0 ³ illegal ³
|
||
ÆÍÍÍØÍÍÍÍÍØÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵
|
||
³ 0 ³ 0 ³ 0 ³ illegal ³
|
||
ÆÍÍÍØÍÍÍÍÍØÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵
|
||
³ 1 ³ 0 ³ 0 ³ illegal ³
|
||
ÆÍÍÍØÍÍÍÍÍØÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵
|
||
³ 1 ³ 0 ³ 1 ³ Read from Data Register ³
|
||
ÆÍÍÍØÍÍÍÍÍØÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͵
|
||
³ 1 ³ 1 ³ 0 ³ Write into Data Register ³
|
||
³ ³ ³ ³ ³
|
||
ÀÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
The bits in the Main Status Register are defined as follows:
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ BIT NUMBER ³ NAME ³ SYMBOL ³ DESCRIPTION ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ DB0 ³ FDD0 Busy ³ D0B ³ FDD number 0 is in the³
|
||
³ ³ ³ ³ seek mode. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ DB1 ³ FDD1 Busy ³ D1B ³ FDD number 1 is in the³
|
||
³ ³ ³ ³ seek mode. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ DB2 ³ FDD2 Busy ³ D2B ³ FDD number 2 is in the³
|
||
³ ³ ³ ³ seek mode ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ DB3 ³ FDD3 Busy ³ D30 ³ FDD number 3 is in the³
|
||
³ ³ ³ ³ seek mode ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ DB4 ³ FDD4 Busy ³ CB ³ A read or write command³
|
||
³ ³ ³ ³ is in progress ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ DB5 ³ Non - DMA ³ NDM ³ The FDC is in the non -³
|
||
³ ³ mode ³ ³ DMA mode. This bit is ³
|
||
³ ³ ³ ³ set only during the ³
|
||
³ ³ ³ ³ execution phase in ³
|
||
³ ³ ³ ³ non-DMA mode.Transitien³
|
||
³ ³ ³ ³ ts "G" state indicates ³
|
||
³ ³ ³ ³ execution phase has ³
|
||
³ ³ ³ ³ ended ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ DB6 ³ Data Input ³ DIO ³ Indicates direction of ³
|
||
³ ³ -Output ³ ³ data transfer between ³
|
||
³ ³ ³ ³ FDC and Data Register. ³
|
||
³ ³ ³ ³ If DIO is "1",then ³
|
||
³ ³ ³ ³ transfer is from Data ³
|
||
³ ³ ³ ³ Register to the ³
|
||
³ ³ ³ ³ processor.If DIO is "0",³
|
||
³ ³ ³ ³ then transfer is from ³
|
||
³ ³ ³ ³ the Processor to Data ³
|
||
³ ³ ³ ³ Register. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ DB7 ³ Request for³ RQM ³ Indicates Data Register ³
|
||
³ ³ ³ ³ is ready to send or ³
|
||
³ ³ Master ³ ³ receive data to or from ³
|
||
³ ³ ³ ³ the Processor.Both bits ³
|
||
³ ³ ³ ³ DIO and RQM should be ³
|
||
³ ³ ³ ³ used to perfom the ³
|
||
³ ³ ³ ³ handshaking functios of ³
|
||
³ ³ ³ ³ "ready" and "direction" ³
|
||
³ ³ ³ ³ to the processor. ³
|
||
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
PIN DESCRIPTION
|
||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ ³ ³
|
||
³ PIN ³ I/O ³ CONNECTION ³ DESCRIPTION ³
|
||
ÃÄÄÄÄÄÂÄÄÄÄÄÄÄÄ´ ³ ³ ³
|
||
³ ³ ³ ³ TO ³ ³
|
||
³ NO. ³ SYMBOL ³ ³ ³ ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ 1 ³ RST ³ I ³ mP ³ Reset Places FDC in idts ³
|
||
³ ³ ³ ³ ³ state Resets output lines to ³
|
||
³ ³ ³ ³ ³ FDD is "0" (low) ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ Read:Control signal for ³
|
||
³ 2 ³ _RD ³ I* ³ mP ³ transfer of data from FDC to ³
|
||
³ ³ ³ ³ ³ Data Bus, when "0" (low) ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ Write: Control signal for ³
|
||
³ 3 ³ _WR ³ I* ³ mP ³ transfer of data to FDC via Data ³
|
||
³ ³ ³ ³ ³ Bus, when "0" (low) ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ 4 ³ _CS ³ I ³ mP ³ Chip Select: IC selected ³
|
||
³ ³ ³ ³ ³ when "0" (low), allowing ³
|
||
³ ³ ³ ³ ³ _RD and _WR to be enabled ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ 5 ³ A0 ³ I* ³ mP ³ Data/Status Reg Select: ³
|
||
³ ³ ³ ³ ³ Select Data Reg (A0=1) or ³
|
||
³ ³ ³ ³ ³ Status Reg (A0=0) ³
|
||
³ ³ ³ ³ ³ content be sent to Data Bus ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³6-13 ³DB0-DB7 ³ I/O* ³ mP ³ Data Bus: Bidirectional ³
|
||
³ ³ ³ ³ ³ 8 - Bit Data Bus ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ 14 ³ DRQ ³ O ³ DMA ³ Data DMA Request: DMA ³
|
||
³ ³ ³ ³ ³ Request is being made by ³
|
||
³ ³ ³ ³ ³ FDC when DRQ "1" ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ 15 ³_DACK ³ I ³ DMA ³ DMA Acknowledge: DMA ³
|
||
³ ³ ³ ³ ³ cycle is active when "0" ³
|
||
³ ³ ³ ³ ³ (low) and Controller is ³
|
||
³ ³ ³ ³ ³ performing DMA transfer ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ 16 ³ TC ³ I ³ DMA ³ Terminal Count: Indicates ³
|
||
³ ³ ³ ³ ³ the termination of a DMA ³
|
||
³ ³ ³ ³ ³ transfer when "1" (high) ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ ³
|
||
³ 17 ³ IDX ³ I ³ FDD ³ Index: Indicates the beginning ³
|
||
³ ³ ³ ³ ³ of a disk track ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ ³
|
||
³ 18 ³ INT ³ O ³ mP ³ Interrupt: Interrupt Request ³
|
||
³ ³ ³ ³ ³ Generated by FDC ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ ³
|
||
³ 19 ³ CLK ³ I ³ ³ Check: Single Phase 6MHz ³
|
||
³ ³ ³ ³ ³ Squarewave Check ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ ³
|
||
³ 20 ³ CND ³ ³ ³ Ground: D.C. Power Return ³
|
||
ÀÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
Note * :Disabled when _CS = 1.
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ ³ ³
|
||
³ PIN ³ I/O ³ CONNECTION ³ DESCRIPTION ³
|
||
ÃÄÄÄÄÄÂÄÄÄÄÄÄÄÄ´ ³ ³ ³
|
||
³ ³ ³ ³ TO ³ ³
|
||
³ NO. ³ SYMBOL ³ ³ ³ ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ 40 ³ Vcc ³ ³ ³ POWER ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ Read Write/SEEK. When "1" ³
|
||
³ 39 ³_RWseek ³ O ³ FDD ³ (high) seek mods selected and ³
|
||
³ ³ ³ ³ ³ when "0" (low) Read/Write ³
|
||
³ ³ ³ ³ ³ mode selected ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ FDD ³ Low Current direction.Lawers ³
|
||
³ 38 ³ LGT/DIR³ O ³ ³ Write current on inner tracks ³
|
||
³ ³ ³ ³ ³ in Read/Write mode,determines ³
|
||
³ ³ ³ ³ ³ direction head will step ³
|
||
³ ³ ³ ³ ³ in Seek mode ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ Fault Reset/Step: Resets fault ³
|
||
³ 37 ³ FR/STP ³ O ³ FDD ³ FF in FDD in Read/Write ³
|
||
³ ³ ³ ³ ³ mode, provides step pulses to ³
|
||
³ ³ ³ ³ ³ move head to another cylinder ³
|
||
³ ³ ³ ³ ³ in Seek mode ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ Head Load: Command which ³
|
||
³ 36 ³ HDL ³ O ³ FDD ³ causes read/write head in FDD ³
|
||
³ ³ ³ ³ ³ to contact diskette ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ Ready: Indicates FDD is ready ³
|
||
³ 35 ³ RDY ³ I ³ FDD ³ to send or receive data ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ 34 ³ WP/TS ³ I ³ FDD ³ Write Protect/Two-Side: ³
|
||
³ ³ ³ ³ ³ Senses Write Protect status in ³
|
||
³ ³ ³ ³ ³ Read/Write mode,and Two ³
|
||
³ ³ ³ ³ ³ Side Media in Seek mode ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ Fault/Track 0: Senses FDD ³
|
||
³ 33 ³FLT/TRK0³ I ³ FDD ³ fault condition in Read/Write ³
|
||
³ ³ ³ ³ ³ mode and Track 0 condition ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ Precompensation (pre-shift): ³
|
||
³31,32³PS1,PS2 ³ O ³ FDD ³ Write precompensation status ³
|
||
³ ³ ³ ³ ³ during MFM mode, Determines ³
|
||
³ ³ ³ ³ ³ early,late,and normal times. ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ Write Data: Serial clock and ³
|
||
³ 30 ³WR DATA ³ O ³ FDD ³ data bits to FDD ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ ³
|
||
³28,29³DS1,DS0 ³ O ³ FDD ³ Drive Select: Selects FDD until ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ 27 ³ HDSEL ³ O ³ FDD ³ Head Select: Head 1 selected ³
|
||
³ ³ ³ ³ ³ when "1" (high) Head 0 ³
|
||
³ ³ ³ ³ ³ selected when "0" (low) ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ 26 ³ MFM ³ O ³ FLL ³ MFM Mode. MFM mode when ³
|
||
³ ³ ³ ³ ³ "1", FM mode when "0" ³
|
||
ÀÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ ³ ³ Write Enable: Enables write ³
|
||
³ 25 ³ WE ³ O ³ FDD ³ data into FDD ³
|
||
³ ³ ³ ³ ³ ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ VCO Sync: Inhibits VCO in ³
|
||
³ 24 ³ VCO ³ O ³ FLL ³ FLL when "0" (low), enables ³
|
||
³ ³ ³ ³ ³ VCO when "1" ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ Read Data. Read data from ³
|
||
³ 23 ³RD DATA ³ I ³ FDD ³ FDD. containing clock and ³
|
||
³ ³ ³ ³ ³ data bits ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ Data Window: Generated by FLL, ³
|
||
³ 22 ³ DW ³ I ³ FLL ³ and used to sample dats ³
|
||
³ ³ ³ ³ ³ from FDD ³
|
||
ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ Write Clock: Write dats rate to ³
|
||
³ 21 ³ WR CLK ³ I ³ ³ FDD FM = 500 kHZ,MFM=1 ³
|
||
³ ³ ³ ³ ³ MHz,with a pulse witdh of 250 ms³
|
||
³ ³ ³ ³ ³ for both FM and MFM ³
|
||
³ ³ ³ ³ ³ Must be unabled for all ³
|
||
³ ³ ³ ³ ³ operations, both Read and Write ³
|
||
ÀÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
The DIO and RQM bits in the Status Register indicate:
|
||
when Data is eady and in which direction data will be transferred on the
|
||
Data Bus.
|
||
|
||
|
||
|
||
READY
|
||
|
||
ÍÍÍÍÍÍÍ» NOTÉÍÍÍÍÍÍ» ÉÍÍÍÍÍÍÍÍÍ» ÉÍÍÍÍÍ» ÉÍÍÍÍÍÍ͸
|
||
REQUEST º º º º º º º º ³
|
||
FOR º RDYº º º º º º º
|
||
MASTER ÈÍÍÍ͹ ÌÍͼ ÈÍÍÍ͹ ÈÍÍÍÍÍͼ ³
|
||
(RQM) ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³
|
||
³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³
|
||
ÍÍÍÍÍ» ÉÍÍÍÍÑÍÍÍÍ» ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
|
||
_WR º º ³ º º ³ ³ ³ ³
|
||
È͹ È͹ ³ ³
|
||
³ ³ ³ ³ ³ ³ ³
|
||
ÍÍÍÍÍÍÍØÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍ» ÉÍÍÍÍÍÍÍÍ» ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
|
||
³ ³ ³ ³ º º ³ º º ³ ³
|
||
_RD Èͼ Èͼ
|
||
³ ³ ³ ³ ³ ³ ³
|
||
³ ³ ³
|
||
ÚÄÄÄÄÂÄÄÄÄÂÄÄÄÄÄÄÂÄÄÂÄÄÄÄÂÄÄÄÄÂÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÂÄÅÄÄÄÄÄÄÄ¿
|
||
³ A ³ B ³ A ³B ³ A ³ C ³ D ³ C ³ D ³B³ A ³
|
||
ÀÄÄÄÄÁÄÄÄÄÁÄÄÄÄÄÄÁÄÄÁÄÄÄÄÁÄÄÄÄÁÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÁÄÁÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
NOTE : (A) - DATA REGISTER READY TO BE WRITTEN INTO BY PROCESSOR
|
||
(B) - DATA REGISTER NOT READY TO BE WRITTEN INTO AT PROCESSOR
|
||
(C) - DATA REGISTER READY FOR NEXR DATA BYTE TO BE READ BY THE
|
||
PROCESSOR.
|
||
(D) - DATA REGISTER NOT READY FOR NEXT DATA BYTE TO BE READ BY
|
||
PROCESSOR
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Pic. STATUS REGISTER TIMING
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
The 8272 is capable of executing 15 different commands. Each command is
|
||
initiated by a multi-byte transfer from the proaessor, and the result after
|
||
execution of the command may also be a multi-byte transfer back to the
|
||
processor. Because of this multi-byte interchange of information between
|
||
the 8272 and the processor, it is convenient to consider each command as
|
||
consisting of three phases:
|
||
|
||
Command Phase: The FDC receives all information required to perform
|
||
a particular operation from the processor.
|
||
|
||
Execution Phase: The FDC performs the operation it was instructed
|
||
to do.
|
||
Result Phase: After completion of the operation, status and other
|
||
housekeeping information are made available to the
|
||
processor.
|
||
|
||
During Command or Result Phases the Main Status Register (described earlier)
|
||
must be read by the processor before each byte of information is written into
|
||
or read from the Data Register. Bits D6 and D7 in the Main Status Register
|
||
must be in a 0 and 1 state, respectively,before each byte of the command word
|
||
may be written into the 8272. Many of the commands require multiple bytes,
|
||
and as a result the Main Status Register must be read prior to each byte
|
||
transfer to the 8272. On the other hand, during the Result Phase, D6 and D7
|
||
in the Main Status Register must both 1's (D6=1 and D7=1) before reading each
|
||
byte from the Data Register. Note, this reading of the Main Status Register
|
||
before each byte transfer to the 8272 is required in only the Command and
|
||
Result Phases, and NOT during the Execution Phase.
|
||
|
||
During the Execution Phase, the Main Status Register need not be read. If the
|
||
8272 is in the NON-DMA Mode, then the receipt of each data byte (if 8272 is
|
||
reading data from FDD) is indicated by an interrupt signal on pin 18 (INT=1).
|
||
The generation of Read signal (_RD=0) will reset the interrupt as well as
|
||
output the Data onto the Data Bus. For example, if the processor connot handle
|
||
interrupts fast enough (every 13 ms for MFM mode) then it may poll the Main
|
||
Status Register and then bit D7 (RQM) functions just like the interrupt signal.
|
||
If a Write Command is in process then the _WR signal performs the reset to the
|
||
interrupt signal.
|
||
If the 8272 is in the DMA Mode, no interrupts are generated during the
|
||
Execution Phase. The 8272 generated DRQ's (DMA Requests) when each byte of
|
||
data is available. The DMA Controller responds to this request with both a
|
||
_DACK =0 (DMA Acknowledge) and a _RD = 0 (Read signal).
|
||
When the DMA Acknowlege signal goes low (_DACK=0) then the DMA Request is
|
||
reset (DRQ=0). If a Write Command has been prorammed then a _WR signal will
|
||
appear instead of _RD. After the Execution Phase has been completed (Terminal
|
||
Count has occurred) then an interrupt will occur (INT=1). This signifies the
|
||
beginning of the Result Phase. When the first byte of data is read during the
|
||
Result Phase, the interrupt is automatically reset (INT=0).
|
||
|
||
|
||
It is important to note that during the Result Phase all bytes shown in the
|
||
Command Table must be read. The Read Data Command, for example, has seven
|
||
bytes of data in the Result Phase. All seven bytes must be read in order to
|
||
succesfully complete the Read Data Command. The 8272 will not accept a new
|
||
command until all seven bytes have been read. Other commands may require fewer
|
||
bytes to be read during the Result Phase.
|
||
|
||
The 8272 contains five Status Register. The Main Status Register mentioned
|
||
above may be read by the processor at any time. The other four Status
|
||
Registers (ST0,ST1,ST2, and ST3) are only available during the Result Phase,
|
||
and may be read only after successfully completing command. The particular
|
||
command which has been executed determines how many of the Status Register
|
||
will be read.
|
||
|
||
The bytes of data which are sent to the 8272 in the Result Phase, must occur
|
||
in the order shown in the Command Table. That is ,the Command Code must be
|
||
sent first and the other bytes sent in the prescribed sequence.
|
||
No foreshortening of the Command of Result Phases are allowed. After the last
|
||
byte of data in the Command Phase is sent to the 8272 the Execution Phase
|
||
automatically starts. In a similar fashion, when the last byte of data is read
|
||
out in the Result Phase, the command is automtically ended and the 8272 is
|
||
ready for a new command. Acommand may be aborted by simply sending a Terminal
|
||
Count to pin 16 (TC=1). This is convenient means of ensuring that the
|
||
processor may always get the 8272's attention even if the disk system hangs
|
||
up in an abnormal manner.
|
||
|
||
POLLING FEATURE OF THE 8272
|
||
|
||
After the Specify command has been sent to the 8272, the Drive Select Lines
|
||
DS0 and DS1 will automatically go into a polling mode. In between commands
|
||
(and between step pulses in the SEEK command) the 8272 polls all four FDD
|
||
looking for a change in the Ready line from any of the drives. If the Ready
|
||
line changes state (usually due to a door opening of closing) then the 8272
|
||
will generate an interrupt. When Status Register 0 (ST0) is read (after Sense
|
||
interrupt Status is issued), Not Ready (NR) will be indicated. The polling of
|
||
the Ready line by the 8272 occurs continuously between instructions, thus
|
||
notifying the processor which drives are on or off line.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
TABLE 1. 8272 COMMAND SET
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ READ DATA ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ MT MFM SK 0 0 1 1 0 ³Command Codes ³
|
||
³ ³ W ³ 0 0 0 0 0 HDS DS1 DS0³ ³
|
||
³ ³ W ³ ³ ³
|
||
³ ³ W ³-------------C-------------------³Sector ID information ³
|
||
³ ³ W ³-------------H-------------------³prior to Command ³
|
||
³ ³ W ³-------------R-------------------³execution ³
|
||
³ ³ W ³-------------N-------------------³ ³
|
||
³ ³ W ³------------EOT------------------³ ³
|
||
³ ³ W ³------------GPL------------------³ ³
|
||
³ ³ W ³------------DTL------------------³ ³
|
||
³ ³ ³ ³ ³
|
||
³Execution³ ³ ³Data transfer ³
|
||
³ ³ ³ ³between the FDD ³
|
||
³ ³ ³ ³and the main - system ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³------------ST0------------------³Status information ³
|
||
³ ³ R ³------------ST1------------------³after Command ³
|
||
³ ³ R ³------------ST2------------------³execution ³
|
||
³ ³ R ³-------------C-------------------³ ³
|
||
³ ³ R ³-------------H-------------------³Sector ID information ³
|
||
³ ³ R ³-------------R-------------------³after command ³
|
||
³ ³ R ³-------------N-------------------³execution ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ READ DELETED DATA ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ MT MFM SK 0 1 1 0 0 ³Command Codes ³
|
||
³ ³ W ³ 0 0 0 0 0 HDS DS1 DS0³ ³
|
||
³ ³ W ³ ³ ³
|
||
³ ³ W ³-------------C-------------------³Sector ID information ³
|
||
³ ³ W ³-------------H-------------------³prior to Command ³
|
||
³ ³ W ³-------------R-------------------³execution ³
|
||
³ ³ W ³-------------N-------------------³ ³
|
||
³ ³ W ³------------EOT------------------³ ³
|
||
³ ³ W ³------------GPL------------------³ ³
|
||
³ ³ W ³------------DTL------------------³ ³
|
||
³ ³ ³ ³ ³
|
||
³Execution³ ³ ³Data transfer ³
|
||
³ ³ ³ ³between the FDD ³
|
||
³ ³ ³ ³and the main - system ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³------------ST0------------------³Status information ³
|
||
³ ³ R ³------------ST1------------------³after Command ³
|
||
³ ³ R ³------------ST2------------------³execution ³
|
||
³ ³ R ³-------------C-------------------³ ³
|
||
³ ³ R ³-------------H-------------------³Sector ID information ³
|
||
³ ³ R ³-------------R-------------------³after command ³
|
||
³ ³ R ³-------------N-------------------³execution ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ WRITE DATA ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ MT MFM 0 0 0 1 0 1 ³Command Codes ³
|
||
³ ³ W ³ 0 0 0 0 0 HDS DS1 DS0³ ³
|
||
³ ³ W ³ ³ ³
|
||
³ ³ W ³-------------C-------------------³Sector ID information ³
|
||
³ ³ W ³-------------H-------------------³prior to Command ³
|
||
³ ³ W ³-------------R-------------------³execution ³
|
||
³ ³ W ³-------------N-------------------³ ³
|
||
³ ³ W ³------------EOT------------------³ ³
|
||
³ ³ W ³------------GPL------------------³ ³
|
||
³ ³ W ³------------DTL------------------³ ³
|
||
³ ³ ³ ³ ³
|
||
³Execution³ ³ ³Data transfer ³
|
||
³ ³ ³ ³between the FDD ³
|
||
³ ³ ³ ³and the main - system ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³------------ST0------------------³Status information ³
|
||
³ ³ R ³------------ST1------------------³after Command ³
|
||
³ ³ R ³------------ST2------------------³execution ³
|
||
³ ³ R ³-------------C-------------------³ ³
|
||
³ ³ R ³-------------H-------------------³Sector ID information ³
|
||
³ ³ R ³-------------R-------------------³after command ³
|
||
³ ³ R ³-------------N-------------------³execution ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ WRITE DELETED DATA ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ MT MFM 0 0 1 0 0 1 ³Command Codes ³
|
||
³ ³ W ³ 0 0 0 0 0 HDS DS1 DS0³ ³
|
||
³ ³ W ³ ³ ³
|
||
³ ³ W ³-------------C-------------------³Sector ID information ³
|
||
³ ³ W ³-------------H-------------------³prior to Command ³
|
||
³ ³ W ³-------------R-------------------³execution ³
|
||
³ ³ W ³-------------N-------------------³ ³
|
||
³ ³ W ³------------EOT------------------³ ³
|
||
³ ³ W ³------------GPL------------------³ ³
|
||
³ ³ W ³------------DTL------------------³ ³
|
||
³ ³ ³ ³ ³
|
||
³Execution³ ³ ³Data transfer ³
|
||
³ ³ ³ ³between the FDD ³
|
||
³ ³ ³ ³and the main - system ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³------------ST0------------------³Status information ³
|
||
³ ³ R ³------------ST1------------------³after Command ³
|
||
³ ³ R ³------------ST2------------------³execution ³
|
||
³ ³ R ³-------------C-------------------³ ³
|
||
³ ³ R ³-------------H-------------------³Sector ID information ³
|
||
³ ³ R ³-------------R-------------------³after command ³
|
||
³ ³ R ³-------------N-------------------³execution ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ READ TRACK ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ 0 MFM SK 0 0 0 1 0 ³Command Codes ³
|
||
³ ³ W ³ 0 0 0 0 0 HDS DS1 DS0³ ³
|
||
³ ³ W ³ ³ ³
|
||
³ ³ W ³-------------C-------------------³Sector ID information ³
|
||
³ ³ W ³-------------H-------------------³prior to Command ³
|
||
³ ³ W ³-------------R-------------------³execution ³
|
||
³ ³ W ³-------------N-------------------³ ³
|
||
³ ³ W ³------------EOT------------------³ ³
|
||
³ ³ W ³------------GPL------------------³ ³
|
||
³ ³ W ³------------DTL------------------³ ³
|
||
³ ³ ³ ³ ³
|
||
³Execution³ ³ ³Data transfer ³
|
||
³ ³ ³ ³between the FDD ³
|
||
³ ³ ³ ³and the main - system. ³
|
||
³ ³ ³ ³FDC read all of ³
|
||
³ ³ ³ ³cylinders contents ³
|
||
³ ³ ³ ³from index hole to ³
|
||
³ ³ ³ ³EOT ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³------------ST0------------------³Status information ³
|
||
³ ³ R ³------------ST1------------------³after Command ³
|
||
³ ³ R ³------------ST2------------------³execution ³
|
||
³ ³ R ³-------------C-------------------³ ³
|
||
³ ³ R ³-------------H-------------------³Sector ID information ³
|
||
³ ³ R ³-------------R-------------------³after command ³
|
||
³ ³ R ³-------------N-------------------³execution ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ READ ID ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ 0 MFM 0 0 1 0 1 0 ³Command Codes ³
|
||
³ ³ W ³ 0 0 0 0 0 HDS DS1 DS0³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Execution³ ³ ³The first correct ID ³
|
||
³ ³ ³ ³information on the ³
|
||
³ ³ ³ ³Cylinder is stored in ³
|
||
³ ³ ³ ³Data Register ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³------------ST0------------------³Status information ³
|
||
³ ³ R ³------------ST1------------------³after Command ³
|
||
³ ³ R ³------------ST2------------------³execution ³
|
||
³ ³ R ³-------------C-------------------³ ³
|
||
³ ³ R ³-------------H-------------------³Sector ID information ³
|
||
³ ³ R ³-------------R-------------------³during Execution ³
|
||
³ ³ R ³-------------N-------------------³Phase. ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ FORMAT A TRACK ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ 0 MFM 0 0 1 1 0 1 ³Command Codes ³
|
||
³ ³ W ³ 0 0 0 0 0 HDS DS1 DS0³ ³
|
||
³ ³ W ³-------------N-------------------³Bytes/Sector ³
|
||
³ ³ W ³------------SC-------------------³Sectors/Cylinder ³
|
||
³ ³ W ³------------GPL------------------³Gap 3 ³
|
||
³ ³ W ³-------------D-------------------³Filler byte ³
|
||
³ ³ ³ ³FDC formats an ³
|
||
³ ³ ³ ³entire cylinder ³
|
||
³Execution³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³------------ST0------------------³Status information ³
|
||
³ ³ R ³------------ST1------------------³after Command ³
|
||
³ ³ R ³------------ST2------------------³execution ³
|
||
³ ³ R ³-------------C-------------------³ ³
|
||
³ ³ R ³-------------H-------------------³In this case, the ID ³
|
||
³ ³ R ³-------------R-------------------³information has no ³
|
||
³ ³ R ³-------------N-------------------³meaning ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ SCAN EQUAL ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ MT MFM SK 1 0 0 0 1 ³Command Codes ³
|
||
³ ³ W ³ 0 0 0 0 0 HDS DS1 DS0³ ³
|
||
³ ³ W ³ ³ ³
|
||
³ ³ W ³-------------C-------------------³Sector ID information ³
|
||
³ ³ W ³-------------H-------------------³prior to Command ³
|
||
³ ³ W ³-------------R-------------------³execution ³
|
||
³ ³ W ³-------------N-------------------³ ³
|
||
³ ³ W ³------------EOT------------------³ ³
|
||
³ ³ W ³------------GPL------------------³ ³
|
||
³ ³ W ³------------DTL------------------³ ³
|
||
³ ³ ³ ³ ³
|
||
³Execution³ ³ ³Data compared ³
|
||
³ ³ ³ ³between the FDD ³
|
||
³ ³ ³ ³and the main - system. ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³------------ST0------------------³Status information ³
|
||
³ ³ R ³------------ST1------------------³after Command ³
|
||
³ ³ R ³------------ST2------------------³execution ³
|
||
³ ³ R ³-------------C-------------------³ ³
|
||
³ ³ R ³-------------H-------------------³Sector ID information ³
|
||
³ ³ R ³-------------R-------------------³after command ³
|
||
³ ³ R ³-------------N-------------------³execution ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ SCAN LOW OR EQUAL ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ MT MFM SK 1 1 0 0 1 ³Command Codes ³
|
||
³ ³ W ³ 0 0 0 0 0 HDS DS1 DS0³ ³
|
||
³ ³ W ³ ³ ³
|
||
³ ³ W ³-------------C-------------------³Sector ID information ³
|
||
³ ³ W ³-------------H-------------------³prior to Command ³
|
||
³ ³ W ³-------------R-------------------³execution ³
|
||
³ ³ W ³-------------N-------------------³ ³
|
||
³ ³ W ³------------EOT------------------³ ³
|
||
³ ³ W ³------------GPL------------------³ ³
|
||
³ ³ W ³------------STP------------------³ ³
|
||
³ ³ ³ ³ ³
|
||
³Execution³ ³ ³Data compared ³
|
||
³ ³ ³ ³between the FDD ³
|
||
³ ³ ³ ³and the main - system. ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³------------ST0------------------³Status information ³
|
||
³ ³ R ³------------ST1------------------³after Command ³
|
||
³ ³ R ³------------ST2------------------³execution ³
|
||
³ ³ R ³-------------C-------------------³ ³
|
||
³ ³ R ³-------------H-------------------³Sector ID information ³
|
||
³ ³ R ³-------------R-------------------³after command ³
|
||
³ ³ R ³-------------N-------------------³execution ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ SCAN HIGH OR EQUAL ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ MT MFM SK 1 1 1 0 1 ³Command Codes ³
|
||
³ ³ W ³ 0 0 0 0 0 HDS DS1 DS0³ ³
|
||
³ ³ W ³ ³ ³
|
||
³ ³ W ³-------------C-------------------³Sector ID information ³
|
||
³ ³ W ³-------------H-------------------³prior to Command ³
|
||
³ ³ W ³-------------R-------------------³execution ³
|
||
³ ³ W ³-------------N-------------------³ ³
|
||
³ ³ W ³------------EOT------------------³ ³
|
||
³ ³ W ³------------GPL------------------³ ³
|
||
³ ³ W ³------------STP------------------³ ³
|
||
³ ³ ³ ³ ³
|
||
³Execution³ ³ ³Data compared ³
|
||
³ ³ ³ ³between the FDD ³
|
||
³ ³ ³ ³and the main - system. ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³------------ST0------------------³Status information ³
|
||
³ ³ R ³------------ST1------------------³after Command ³
|
||
³ ³ R ³------------ST2------------------³execution ³
|
||
³ ³ R ³-------------C-------------------³ ³
|
||
³ ³ R ³-------------H-------------------³Sector ID information ³
|
||
³ ³ R ³-------------R-------------------³after command ³
|
||
³ ³ R ³-------------N-------------------³execution ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ RECALIBRATE ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ 0 0 0 0 0 1 1 1 ³Command Codes ³
|
||
³ ³ W ³ 0 0 0 0 0 0 DS1 DS0³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Execution³ ³ ³Head retracted to ³
|
||
³ ³ ³ ³Track 0 ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ SENSE INTERRUPT STATUS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ 0 0 0 0 1 0 0 0 ³Command Codes ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³-------------ST0-----------------³Status information at ³
|
||
³ ³ R ³-------------PCN-----------------³the end of each seek ³
|
||
³ ³ ³ ³operation about the ³
|
||
³ ³ ³ ³FDC ³
|
||
³ ³ ³ ³ ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ SPECIFY ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ 0 0 0 0 0 0 1 1 ³Command Codes ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ W ³----SRT------------------HUT-----³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ W ³----HLT------------------------ND³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ SENSE DRIVE STATUS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ 0 0 0 0 0 1 0 0 ³Command Codes ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ W ³ 0 0 0 0 0 HDS DS1 DS0³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³------------ST3------------------³ Status information ³
|
||
³ ³ ³ ³ about FDD ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ SEEK ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ 0 0 0 0 1 1 1 1 ³Command Codes ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ W ³ 0 0 0 0 0 HDS DS1 DS0³ ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ W ³------------NCN------------------³ Status information ³
|
||
³ ³ ³ ³ about FDD ³
|
||
³Execution³ ³ ³ ³
|
||
³ ³ ³ ³Head is positioned ³
|
||
³ ³ ³ ³over proper Cylinder ³
|
||
³ ³ ³ ³on Diskette ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³ DATA BUS ³ ³
|
||
³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³PHASE ³ R/W ³ D7 D6 D5 D4 D3 D2 D1 D0 ³REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ INVALID ³
|
||
ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³Command ³ W ³ -------INVALID CODE------------³Invalid Command ³
|
||
³ ³ ³ ³Codes (NoOp - FDC ³
|
||
³ ³ ³ ³goes into Standby ³
|
||
³ ³ ³ ³State) ³
|
||
³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³
|
||
³Result ³ R ³------------ST0------------------³ST0=80 HEX. ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Note: 1. Symbols used in this table are described at the end of this section.
|
||
2. A0 = 1 for all operations.
|
||
3. X = Don't care, usually made to equal binary 0.
|
||
|
||
|
||
|
||
|
||
TABLE 2. COMMAND MNEMONICS
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ SYMBOL ³ NAME ³ DESCRIPTION ³
|
||
³ ³ ³ ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³
|
||
³ A0 ³Addres line 0 ³A0 controls selection of Main Status ³
|
||
³ ³ ³ ³
|
||
³ ³ ³Register (A0=0) or Data Register (A0=1) ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ C ³Cylinder Number ³C stands for the current selected Cylinder ³
|
||
³ ³ ³track number 0 trough 76 of the medium. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ D ³Date ³D stands for the data pattern which is ³
|
||
³ ³ ³going to be written into a Sector. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ D7-D0 ³Data Bus ³8-bit Data where D7 is the most ³
|
||
³ ³ ³significant bit,and D0 is the least ³
|
||
³ ³ ³significant bit. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ DS0,DS1 ³Drive Select ³DS stands for a selected drive number 0 ³
|
||
³ ³ ³or 1. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ DTL ³Date Length ³When N is defined as 00,DTL stands for ³
|
||
³ ³ ³the data length which users are going to ³
|
||
³ ³ ³read out or write into the Sector. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ EOT ³ End of Track ³EOT stands for the final Sector number of ³
|
||
³ ³ ³a Cylinder. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ GPL ³ Gap Length ³GPL stands for the length of Gap 3 ³
|
||
³ ³ ³(spacing between Sector excluding VCO ³
|
||
³ ³ ³Sync.Field). ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ H ³ Head Addres ³ H stands for head number 0 or 1,as ³
|
||
³ ³ ³ specified in ID field. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ HDS ³ Head Select ³ HDS stands for a selected head number 0 ³
|
||
³ ³ ³ or 1 (H=HDS in all command words). ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ HLT ³ Head Load Time ³ HLT stands for the head load time in the ³
|
||
³ ³ ³ FDD (2 to 254 ms in 2 ms increment). ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ HUT ³ Head Unload Time³ HUT stands for the head unload time after ³
|
||
³ ³ ³ a read or write operation has occure (16 ³
|
||
³ ³ ³ to 240 ms in 16 ms increments). ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ If MF is low, FM mode is selected end if ³
|
||
³ MFM ³FM or MFM Mode ³ it is high, MFM mode is selected ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ MT ³Multi-Track ³ If MT is high, a multi-track operation is to ³
|
||
³ ³ ³ be performed (a cylinder under both HD0 ³
|
||
³ ³ ³ and HD1 will be read or written). ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³
|
||
³ N ³ Number ³ N stands for the number of data bytes ³
|
||
³ ³ ³ written in a Sector. ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ SYMBOL ³ NAME ³ DESCRIPTION ³
|
||
³ ³ ³ ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³
|
||
³ NCN ³New Cylinder ³NCN stands for a new Cylinder number, ³
|
||
³ ³ Number ³which is going to be reachad as a result ³
|
||
³ ³ ³of the Seek operation.Desired position of Head.³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ND ³NON-DMA Mode ³ND stands for operation in the NON-DMA Mode ³
|
||
³ ³ ³ ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ PCN ³Present Cylinder ³PCN stands for the Cylinder number at the ³
|
||
³ ³ Number. ³completion of SENSE INTERRUPT STATUS Command. ³
|
||
³ ³ ³Position of Head at present time. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³
|
||
³ R ³Record ³It stands for the Sector number, which will ³
|
||
³ ³ ³be read or writen ³
|
||
³ ³ ³ ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³
|
||
³ R/W ³Read/Write ³Read or Write signal ³
|
||
³ ³ ³or 1. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ SC ³Sector ³SC indicates the number of Sectors per ³
|
||
³ ³ ³cylinder ³
|
||
³ ³ ³ ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³
|
||
³ SK ³ Skip ³SK stands for Skip Deleted Data Addres Mark ³
|
||
³ ³ ³ ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³
|
||
³ SRT ³ Step Rate Time ³SRT stands for the Stepping Rate for the ³
|
||
³ ³ ³FDD (1 to 16 ms in 1 ms increments).The same ³
|
||
³ ³ ³Stepping Rate applies to all drives (F=1ms ³
|
||
³ ³ ³E=2ms. etc) ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ST0 ³ Status 0 ³ST0-3 stand for one of four registers which ³
|
||
³ ST1 ³ Status 1 ³ store the status information after a command ³
|
||
³ ST2 ³ Status 2 ³ has been executed. This information is ³
|
||
³ ST3 ³ Status 3 ³ availaible during the result phase after ³
|
||
³ ³ ³ command execution. These registers should not ³
|
||
³ ³ ³ be cofused with the main status register ³
|
||
³ ³ ³ (selected by A0 = 0). ST0-3 may be read only ³
|
||
³ ³ ³ after a command has been executed and contain ³
|
||
³ ³ ³ information relevant to that particular ³
|
||
³ ³ ³ command. ³
|
||
ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ During a Scan operation, if STP=1, the data ³
|
||
³ STP ³ ³ in contiguous sectors is compared byte by byte³
|
||
³ ³ ³ with data sent from the processor (or DMA), ³
|
||
³ ³ ³ and if STP=2, then alternats sectors are read ³
|
||
³ ³ ³ and compared. ³
|
||
ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
COMMAND DESCRIPTIONS
|
||
|
||
|
||
During the Commnd Phase, the Main Status Register must be polled by the CPU
|
||
before each byte is written into the Data Register. The DIO (DB6) and RQM
|
||
(DB7) bits in the Main Status Register must be in the "0" and "1" states
|
||
respectivety, before each byte of the command may be written into the 8272.
|
||
The beginning of the execution phase for any of these commands will chuse
|
||
DIO and RQM to switch to "1" and "0" states respectively.
|
||
|
||
|
||
READ DATA
|
||
|
||
|
||
A set of nine (9) byte words are required to place the FDC into the Read Data
|
||
Mode. After the Read Data commands has been issued the FDC loads the head
|
||
(if it is in the unloaded state), waits the specified head setting time
|
||
(defined in the Specify Command), and begins reading ID Address Mark and ID
|
||
fields. When the current sector number ("R") stored in the ID Register (IDR)
|
||
compares with the sector number read off the diskette, then FDC outputs data
|
||
(from the data field) byte-byte to the main system via the data bus.
|
||
|
||
After completion of the read operatipn from the current sector, the Sector
|
||
Number is incremented by one , and the data from the next sector is read and
|
||
output on the data bus. This continuous read function is called a "Multi-
|
||
Sector Read Operation". The Read Data Command may be the receipt of a Terminal
|
||
Count signal. Upon receipt of this signal, the FDC stops outputting data to
|
||
the processor, but will continue to read data from the current sector, check
|
||
CRC (Cyclic Redundancy Count) bytes, and then at the end of the sector
|
||
terminate the Read Data Command.
|
||
|
||
The amount of data wchich can be hanled with a single command to the FDC
|
||
depends upon MT (multo-track), MFM (MFM/FM), and N (Number of Bytes/Sector).
|
||
Table 3 below shows the Transfer Capacity.
|
||
|
||
|
||
|
||
|
||
TABLE 3. TRANSFER CAPACITY
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ¿
|
||
³Multi-Track³ MFM/FM³ Bytes/Sector³ Maximum Transfer Capacity ³ Final ³
|
||
³ MT ³ MFM ³ N ³ (Bytes/Sector)(Number of Sectors³ Sector ³
|
||
³ ³ ³ ³ ³ Read ³
|
||
³ ³ ³ ³ ³ from ³
|
||
³ ³ ³ ³ ³ Diskette³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄ´
|
||
³ 0 ³ 0 ³ 00 ³ (128)(26)=3.325 ³26 at ³
|
||
³ 0 ³ 1 ³ 01 ³ (256)(26)=6.656 ³Side 0 or³
|
||
³ ³ ³ ³ ³Side 1 ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ ³
|
||
³ 1 ³ 0 ³ 00 ³ (128)(52)=6.656 ³ 26 ³
|
||
³ 1 ³ 1 ³ 01 ³ (256)(52)=13.312 ³ at Side1³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³Side 1 ³
|
||
³ 0 ³ 0 ³ 01 ³ (256)(15)=3.840 ³ or 0 ³
|
||
³ 0 ³ 1 ³ 02 ³ (512)(15)=7.680 ³ 15 ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ 15 ³
|
||
³ 1 ³ 0 ³ 01 ³ (256)(30)=7.680 ³ at ³
|
||
³ 1 ³ 1 ³ 02 ³ (512)(30)=15.360 ³Side 1 ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³8 at Side³
|
||
³ 0 ³ 0 ³ 02 ³ (512)(8)=4.095 ³0 or 8 at³
|
||
³ 0 ³ 1 ³ 03 ³ (1024)(8)=8.192 ³Side 1 ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ ³
|
||
³ 1 ³ 0 ³ 02 ³ (512)(16)=8.192 ³8 at ³
|
||
³ 1 ³ 1 ³ 03 ³ (1024)(16)=16.384 ³Side 1 ³
|
||
³ ³ ³ ³ ³ ³
|
||
ÀÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
The "multi-track" function (MT) allows the FDC to read data from sides of the
|
||
diskette. For a particular cylinder, data will be transferred starting at
|
||
Sector 1,Side 0 and completing at Sector L, Side 1 ( Sector L- last sector
|
||
on the side). Note, this function pertains to only one cylinder (the same
|
||
track ) on each side of the diskette.
|
||
|
||
When N=0, then DTL defines the length which the FDC must treat as a sector.
|
||
If DTL is smaller than the actual data length in a Sector, the data beyong DTL
|
||
in the Sector, is not sent to the Data Bus. The FDC reads (internally) the
|
||
complete Sector performing the CRC check, and depending upon the manner of
|
||
command termination, may perform a Multi-Sector Read Operation. When N is
|
||
no-zero, then DTL has no meaning and should be set to 0FFH.
|
||
|
||
At the completion of the Read Data Command, the head is not unloaded until
|
||
after Head Unload Time inteval (specified in the Specify Command) has elapsed.
|
||
If the processor issues another command before the head unloads then the head
|
||
setting time may be saved between subsequent reads. This time out is
|
||
particulary valuable when a diskette is copied from one drive to another.
|
||
|
||
|
||
If the FDC detects the Index Hole twice without finding the riht 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 Error) 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 Register 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 (Control Mark) flag in Status Register 2 to a 1 (high), and terminates 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.
|
||
|
||
During disk data transfers between the FDC and the processor, via data bus,
|
||
FDC must be serviced by the processor every 27 ms in the FM Mode, and every
|
||
13 ms in the MFM Mode, or the FDC sets the OR (Over Run) 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 4 shows the values for C,H,R, and N, when the processor
|
||
terminates the Command.
|
||
|
||
|
||
|
||
|
||
TABLE 4. ID INFORMATION WHEN PROCESSOR TERMINATES COMMAND
|
||
|
||
ÚÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ MT ³ EOT ³ Final Sector Transferred ³ ID information at Result Phase ³
|
||
³ ³ ³ Processor ÃÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ C ³ H ³ R ³ N ³
|
||
ÃÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´
|
||
³ ³ 1A ³Sector 1 to 25 at Side 0 ³ NC ³ NC ³ R+1 ³ NC ³
|
||
³ ³ ³ ³ ³ ³ ³ ³
|
||
³ ³ 0F ³Sector 1 to 14 at Side 0 ³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³ ³ ³ ³
|
||
³ ³ 08 ³Sector 1 to 7 at Side 0 ³ ³ ³ ³ ³
|
||
³ ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´
|
||
³ ³ 1A ³Sector 26 at Side 0 ³ ³ ³ ³ ³
|
||
³ ³ 0F ³Sector 15 at Side 0 ³ C+1 ³ NC ³ R=01 ³ NC ³
|
||
³ ³ 08 ³Sector 8 at Side 0 ³ ³ ³ ³ ³
|
||
³ 0 ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ ³ ³ ³
|
||
³ ³ 1A ³Sector 1 to 25 at Side 1 ³ ³ ³ ³ ³
|
||
³ ³ 0F ³Sector 1 to 14 at Side 1 ³ ³ ³ ³ ³
|
||
³ ³ 08 ³Sector 1 to 7 at Side 1 ³ NC ³ NC ³ R+1 ³ NC ³
|
||
³ ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ ³ ³ ³
|
||
³ ³ 1A ³Sector 26 at Side 1 ³ ³ ³ ³ ³
|
||
³ ³ 0F ³Sector 15 at Side 1 ³ C+1 ³ NC ³ R=01 ³ NC ³
|
||
³ ³ 08 ³SEctor 8 at Side 1 ³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³ ³ ³ ³
|
||
ÃÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´
|
||
³ ³ 1A ³Sector 1 to 25 at Side 0 ³ NC ³ NC ³ R+1 ³ NC ³
|
||
³ ³ ³ ³ ³ ³ ³ ³
|
||
³ ³ 0F ³Sector 1 to 14 at Side 0 ³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³ ³ ³ ³
|
||
³ ³ 08 ³Sector 1 to 7 at Side 0 ³ ³ ³ ³ ³
|
||
³ ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´
|
||
³ ³ 1A ³Sector 26 at Side 0 ³ ³ ³ ³ ³
|
||
³ ³ 0F ³Sector 15 at Side 0 ³ NC ³ LSB ³ R=01 ³ NC ³
|
||
³ ³ 08 ³Sector 8 at Side 0 ³ ³ ³ ³ ³
|
||
³ 1 ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ ³ ³ ³
|
||
³ ³ 1A ³Sector 1 to 25 at Side 1 ³ ³ ³ ³ ³
|
||
³ ³ 0F ³Sector 1 to 14 at Side 1 ³ ³ ³ ³ ³
|
||
³ ³ 08 ³Sector 1 to 7 at Side 1 ³ NC ³ NC ³ R+1 ³ NC ³
|
||
³ ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ ³ ³ ³ ³
|
||
³ ³ 1A ³Sector 26 at Side 1 ³ ³ ³ ³ ³
|
||
³ ³ 0F ³Sector 15 at Side 1 ³ C+1 ³ LSB ³ R=01 ³ NC ³
|
||
³ ³ 08 ³SEctor 8 at Side 1 ³ ³ ³ ³ ³
|
||
³ ³ ³ ³ ³ ³ ³ ³
|
||
ÀÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
Note : 1. NC (No Change); The same valua as the one at the beginning of
|
||
command execution.
|
||
|
||
2. LSB (Least Significant Bit); The least significant bit of H is
|
||
completed
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
WRITE DATA
|
||
|
||
|
||
A set of nine (9) bytes are 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 unloaded stste),waits the specified head setting time ( defined
|
||
in the Specify Command), and begins reading ID Fields. When the current number
|
||
("R"), stored in the ID Register (IDR) compares with the sector number read
|
||
off the diskette, then the FDC takes data from the processor byte-by-byte via
|
||
the data bus, and outputs it to the FDD.
|
||
|
||
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 remainder of
|
||
the data field is filled with 00 (zeros).
|
||
|
||
The FDC reads the ID fields of each sector and checks the CRC bytes. If the
|
||
FDC detects a read error (incorrect CRC) 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 Data Command. (Status Register 0 also has bits 7 and 6 set to 0 and 1
|
||
respectively.)
|
||
|
||
|
||
The Write Command operates in much the same manner as Read Command. The
|
||
following items are the same; refer to the Read Data Command for details;
|
||
|
||
|
||
|
||
Þ Transfer Capacity
|
||
|
||
Þ EN (end of Cylinder) Flag
|
||
|
||
Þ ND (No Data) Flag
|
||
|
||
Þ Head Unload Time Interval
|
||
|
||
Þ ID Information when the processor terminates
|
||
command (see Table 2)
|
||
Þ Definition of DTL when N=0 and when N!=0
|
||
|
||
In the Write Data mode, data transfers between the processor and FDC must
|
||
occur every 31 ms in the FM mode, and every 15 ms in the MFM mode. If the
|
||
time interval between data transfers is longer than this then the FDC sets the
|
||
OR (Over Run) flag in Status Register 1 to a 1 (high), and terminates the
|
||
Write Data Command.
|
||
|
||
|
||
|
||
WRITE DELETED DATA
|
||
|
||
This command is the same as the Write Data Command except a Deleted Data
|
||
Address Mark is written at the beginning of the Data Field instead of the
|
||
normal Data Address Mark.
|
||
|
||
|
||
READ DELETED DATA
|
||
|
||
|
||
This command is the same as Read Data Command except that when the FDC
|
||
detects a Data Address Mark at the beginnin of a Data Field ( and SK = 0
|
||
(low)), it will read all the data in the sector and set the CM flag in Status
|
||
Register 2 to a 1 (high), and then terminate the command . If SK=1, then the
|
||
FDC skips the sector with the Data Address Mark and reads the next sector.
|
||
|
||
|
||
READ A TRACK
|
||
|
||
|
||
This command is similar to READ DATA Command except that the entire data
|
||
field is read continuously from each of the sectors of a track. Immediately
|
||
after encountering the INDEX HOLE, the FDC starts reading all data fields on
|
||
the track as continuous blocks of data. If the FDC finds an error in the ID
|
||
or DATA CRC check bytes, it continues to read data from the track. The FDC
|
||
compares the ID information read from each sector with the valua stored in the
|
||
IDR, and sets the ND flag of Status Register 1 to 1 (high) if there is no
|
||
comparison. Multi-track or skip operations are not allowed with this command.
|
||
|
||
This command terminates when EOT number of sectors have been read. If the FDC
|
||
does not find an ID Address Mark on the diskette after it encountera the INDEX
|
||
HOLE for the second time, then it sets the MA (missing address mark) flag in
|
||
Status Register 1 to 1 (high), and terminates the command. (Status Register 0
|
||
has bits 7 and 6 set to 0 and 1 respectively.)
|
||
|
||
|
||
READ ID
|
||
|
||
|
||
The Read ID Command is used to give the present position of the recording
|
||
head. The FDC stores the values from the first ID Field it is able to read.
|
||
If no proper ID Address Mark is found on the diskette, before the INDEX HOLE
|
||
is encountered for the second time then the MA (Missing Address Mark) flag in
|
||
Status Register 1 is set to 1 (high), and if no data is found then ND (No
|
||
Data ) flag is also set in Status Register 1 to 1 (high) and the command is
|
||
terminated.
|
||
|
||
|
||
|
||
|
||
FORMAT TRACK
|
||
|
||
|
||
The Format Command allows an entire track to be formatted. After the INDEX
|
||
HOLE is detected, Data is written on the Diskette:Gaps,Address Marks,ID Fields
|
||
and Data Fields, all per the IBM System 34 (Double Density) or System 3740
|
||
(Single Density) Format are recorded. The particular format which will be
|
||
written is controlled by the values programmed into N (number of bytes/sector),
|
||
SC (sector/cylinder), GPL (Gap Length), and D (Data Pattern) which are
|
||
supplied by the processor during the Command Phase. The Data Field is filled
|
||
with the Command Phase. The Data Field is filled with the Byte of data stored
|
||
in D. The ID Field for each sector is supplied by the processor; that is, four
|
||
data requests per sector are made by the FDC for C (Cylinder Number), H (Head
|
||
Number), R(Sector Number) and N (Number of Bytes/Sector). This allows the
|
||
diskette to be formatted with nonsequential sector numbers, if desired.
|
||
|
||
After formatting each sector, the processor must send new values for C,H,R,
|
||
and N to the 8272 foe each sector on the track. The contents of the R register
|
||
is incremented by one after each sector is formatted, thus, the R register
|
||
contains a value of R+1 when it is read during the Result Phase. This
|
||
incrementing and formatting continues for the whole track until the FDC
|
||
encounters the INDEX HOLE for the second time , where-upon it terminates the
|
||
command.
|
||
|
||
If a FAULT signal is recelved from the FDD at the end of a write operation,
|
||
then the FDC sts the EC flag of Status Register 0 to a 1 (high), and
|
||
terminates the command after setting bits 7 and 6 of Status Register 0 to 0
|
||
and 1 respectively. Also the loss of a READY signal at the beginnig of a
|
||
command execution phase causes command termination.
|
||
|
||
Table 5 shows the relationship between N,SC, and GPL for various sector sizes:
|
||
|
||
|
||
TABLE 5. SECTOR SIZE RELATIONSHIPS
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ FORMAT ³ SECTOR SIZE ³ N ³ SC ³ GPL1³ GPL2 ³ REMARKS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³128 bytes/Sector ³ 00 ³ 1A ³ 07 ³ 1B ³ IBM Diskette 1 ³
|
||
³ FM Mode ³256 ³ 01 ³ 0F ³ 0E ³ 2A ³ IBM Diskette 2 ³
|
||
³ ³512 ³ 02 ³ 08 ³ 1B ³ 3A ³ ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³1024 bytes/Sector³ 03 ³ 04 ³ __ ³ __ ³ ³
|
||
³ FM Mode ³2048 ³ 04 ³ 02 ³ __ ³ __ ³ ³
|
||
³ ³4096 ³ 05 ³ 01 ³ __ ³ __ ³ ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³256 ³ 01 ³ 1A ³ 0E ³ 36H ³IBM Diskette 2D ³
|
||
³ ³512 ³ 02 ³ 0F ³ 1B ³ 54H ³ ³
|
||
³ MFM Mode ³1024 ³ 03 ³ 08 ³ 36H ³ 74H ³IBM Diskette 2D ³
|
||
³ ³2048 ³ 04 ³ 04 ³ __ ³ __ ³ ³
|
||
³ ³4096 ³ 05 ³ 02 ³ __ ³ __ ³ ³
|
||
³ ³8192 ³ 06 ³ 01 ³ __ ³ __ ³ ³
|
||
ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
Note : 1. GPL1 Suggested values of GPL in Read or Write Commands to avoid
|
||
splice point between data and ID field of contiguous sections.
|
||
|
||
2 GPL2, Suggested values of GPL in format command.
|
||
|
||
|
||
|
||
|
||
SCAN COMMANDS
|
||
|
||
|
||
The SCAN Commands allow data which is being read from the diskette to be
|
||
compared against data which is being supplied from the main system (Processor
|
||
in NON-DMA mode, and DMA Controller in DMA mode). The FDC compares the data
|
||
on a byte - by - byte basis, and looks for a sector of data which meets the
|
||
conditions of D_FDD = D_Processor,D_FDD<=D_Processor,or D_FDD>=D_Processor.
|
||
Ones complement arithmetic is used for comparison (FF=larget number,
|
||
00=smallest number). After a whole sector of data is compared, if the
|
||
conditions are not met, the sector number is incremented (R+STP -> R)
|
||
and the scan operation is continued.The scan operation continues one of the
|
||
following conditions occur: the conditions for scan are met (equal,low,or
|
||
high),the last sector on the track is reached (EOT), or the terminal count
|
||
signal is received.
|
||
|
||
If the conditions for scan are met the FDC sets the SH (Scan Hit) flag of
|
||
Status Register 2 to 1 (high), and terminates the Scan Command. If the
|
||
conditions for scan are not met between the starting sector (as specified by
|
||
R) and the last sector on the cylinder (EOT), then the FDC sets the SN (Scan
|
||
Not Satisfied) flag of Status Register 2 to a 1 (high), and terminates the
|
||
Scan Command. The receipt of a TERMINAL COUNT signal from the Processor or DMA
|
||
Controller during the scan operation will cause the FDC to complete the
|
||
comparison of the particular byte which is in process, and then to terminate
|
||
the command. Table 6 shows the status of bits SH and SN under various
|
||
conditions of SCAN.
|
||
|
||
|
||
TABLE 6. SCAN STATUS CODES
|
||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ STATUS REGISTER 2 ³ ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³
|
||
³ COMMAND ³BIT 2 = SN ³ BIT 3 = SH ³ COMMENTS ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ Scan Equal ³ 0 ³ 1 ³D_FDD = D_Processor ³
|
||
³ ³ 1 ³ 0 ³D_FDD != D_Processor ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ 0 ³ 1 ³D_FDD = D_Processor ³
|
||
³Scan Low or Equal³ 0 ³ 0 ³D_FDD < D_Processor ³
|
||
³ ³ 1 ³ 0 ³D_FDD !< D_Processor ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ 0 ³ 1 ³D_FDD = D_Processor ³
|
||
³Scan High or Equ.³ 0 ³ 0 ³D_FDD > D_Processor ³
|
||
³ ³ 1 ³ 0 ³D_FDD !> D_Processor ³
|
||
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
If the FDC encounters a Deleted Data Address Mark on one of the sectors
|
||
(and SK = 0), then it regards the sector as the last sector on the cylinder,
|
||
sets CM ( Control Mark) flag of Status Register 2 to a 1 (high) and terminates
|
||
the command. If SK = 1, the FDC skips the sector with the Deleted Address
|
||
Mark, and reads the next sector. In the second case (SK = 1), the FDC sets the
|
||
CM (Contol Mark) flag of Status Register 2 to a 1 (high) in order to show that
|
||
a Deleted Sector had been encountered.
|
||
|
||
|
||
When either the STP (contiguous sectors STP = 01, or alternate sectors STP=02
|
||
sectors are read) or the MT(Multi-Track) are programmed, it is necessary to
|
||
remember that the last sector on the track must be read. For example, if
|
||
STP = 02, MT = 0 ,the sectors are numbered sequentially 1 through 26, and we
|
||
start the Scan Command at sector 21; the following will happen.
|
||
Sectors 21,23, and 25 will be read, then the next sector (26) will be skipped
|
||
and the Index Hole will be encountered befor the EOT value of 26 can be read.
|
||
This will result in an abnormal termination of the command.If the EOT had been
|
||
set at 25 or the scanning started at sector 20, then the Scan Command would be
|
||
completed in a normal manner.
|
||
|
||
During the Scan Command data is supplied by either the processor or DMA
|
||
Controller for comparison against the data read from the diskette. In order to
|
||
avoid having the OR (Over Run) flag set in Status Register 1, it is necessary
|
||
to have the data available in less than 27 ms (FM Mode) or 13 ms (MFM Mode).
|
||
If Overrun occurs the FDC terminates the command.
|
||
|
||
|
||
SEEK
|
||
|
||
|
||
The read/write head within the FDD is moved from cylinder under control of the
|
||
Seek Command. The FDC compares the PCN (Present Cylinder Number) which is the
|
||
current head position with the NCN (New Cylinder Number), and performs the
|
||
following operation if there is difference:
|
||
|
||
PCN < NCN: Direction signal to FDD set to a 1 (high), and Step Pulses are
|
||
issued. (Step in.)
|
||
|
||
PCN > NCN: Direction signal to FDD set to a 0 (low), and Step Pulses are
|
||
issued. (Step Out.)
|
||
|
||
|
||
|
||
The rate which Step Pulses are issued is controlled by SRT (Stepping Rate
|
||
Time) in the SPECIFY Command. After each Step Pulse is issued NCN is compared
|
||
against PCN, and when NCN = PCN, then the SE ( Seek End) flag is set in Status
|
||
Register 0 to a 1 (high), and the command is terminated.
|
||
|
||
During the Command Phase of the Seek operation the FDC in the FDC BUSY state,
|
||
but during the Execution Phase it is in the NON BUSY state. While the FDC is
|
||
in the NON BUSY state, another Seek Command may be issued, and in this manner
|
||
parallel seek operation may be done on up to 4 Drives at once.
|
||
|
||
|
||
If an FDD is in a NOT READY state at the beginnig of the command execution
|
||
phase or during the seek operation, then the NR (NOT READY) flag is set in
|
||
Status Register 0 to 1 (high), and the command is terminated.
|
||
|
||
|
||
|
||
|
||
|
||
RECALIBRATE
|
||
|
||
|
||
This command causes the read/write head within the FDD to retract to the
|
||
Track 0 position. The FDC clears the contents of the PCN counter, and checks
|
||
the status of the Track 0 signal from the FDD. As long as the Track 0 signal
|
||
is low, the Direction signal remains 1 (high) and Step Pulses are issued.
|
||
When the Track 0 signal goes high, the SE (SEEK END) flag in Status Register 0
|
||
is set to 1 (high) and the command is terminated. If the Track 0 signal is
|
||
still low after 77 Stop Pulses have been issued, the FDC sets the SE
|
||
(SEEK END) and EC (EQUIPMENT CHECK) flags of Status Register 0 to both 1s
|
||
(highs), and terminates the command.
|
||
|
||
The abillity to overlap RECALIBRATE Commands to Multiple FDDs, and the loss
|
||
of the READY signal, as described in the SEEK Command, also applies to the
|
||
RECALIBRATE Command.
|
||
|
||
|
||
|
||
SENSE INTERRUPT STATUS
|
||
|
||
|
||
|
||
An interrupt signal is generated by the FDC for one of the following reasons:
|
||
1. Upon entering the Result Phase of:
|
||
a. Read Data Command
|
||
b. Read a Track Command
|
||
c. Read ID Command
|
||
d. Read Deleted Data Command
|
||
e. Write Data Command
|
||
f. Format a Cylinder Command
|
||
g. Write Deleted Data Command
|
||
h. Scan Commands
|
||
2. Ready Line of FDD changes state
|
||
3. End of Seek or Recalibrate Command
|
||
4. During Execution Phase in the NON-DMA Mode
|
||
|
||
Interrupts causes by reasons 1 and 4 above occur during normal command
|
||
operations and are easilly discernible by the processor. However, interrupts
|
||
causes by reasons 2 and 3 above may be uniquely identified with the aid of the
|
||
Sense Interrupt Status Command. This command when issued resets the interrupt
|
||
signal and via bits 5,6, and 7 of Status Register 0 identifies the cause of
|
||
the interrupt.
|
||
|
||
|
||
|
||
|
||
TABLE 7. SEEK. INTERRUPT CODES
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ SEEK END ³ INTERRUPT CODE ³ CAUSE ³
|
||
³ ÃÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ´ ³
|
||
³ BIT 5 ³ BIT 6 ³ BIT 7 ³ ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ 0 ³ 1 ³ 1 ³ Ready Line changed ³
|
||
³ ³ ³ ³ state, either polarity ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ Normal Termination ³
|
||
³ 1 ³ 0 ³ 0 ³ of Seek or Recalibrate ³
|
||
³ ³ ³ ³ Command ³
|
||
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ Abnormal Termination of³
|
||
³ ³ ³ ³ Seek or Recalibrate ³
|
||
³ 1 ³ 1 ³ 0 ³ Command ³
|
||
³ ³ ³ ³ ³
|
||
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
Neither the Seek or Recalibrate Command have a Result Phase. Therefore, it
|
||
is mandatory to use the Sense Interrupt Status Command after these commands
|
||
to effectively terminate the and to provide verification of the head position
|
||
(PCN).
|
||
|
||
|
||
|
||
SPECIFY
|
||
|
||
|
||
The Specify Command sets the initial values for each of the three internal
|
||
timers. The HUT (Head Unload-Time) defines from the end of the Execution
|
||
Phase of one of the Read/Write Commands to the head unload state. This is
|
||
programmable from 16 to 240 ms in increments of 16 ms (01 = 16 ms,02 = 32 ms..
|
||
...OF = 240 ms ). The SRT ( Step Rate Time) defines the time interval between
|
||
adjacent step pulses. This timer is programmable from 1 to 16 ms in increments
|
||
of 1 ms (F = 1 ms, E = 2ms, etc.). The HLT (Head Load Time) defines the time
|
||
between when the Head Load signal goes high and when the Read/Write operation
|
||
starts. This timer is programmable from 2 to 254 ms in increments of 2 ms
|
||
(01 = 2 ms, 02 = 4 ms, 03 = 6 ms ...FE = 254 ms).
|
||
|
||
The time intervals mentioned above are a direct function of the clock (CLK on
|
||
pin 19). Times indicated above are for an 8 MHz clock, if the clock was
|
||
reduced to 4 MHz (mini-floppy application) then all time intervals are
|
||
increased by a factor of 2.
|
||
|
||
|
||
The choice of DMA or NON-DMA operation is made by the ND (NON-DMA) bit.
|
||
When this bit is high (ND = 1) the NON=DMA mode is selected, and when ND = 0
|
||
the DMA mode is selected.
|
||
|
||
|
||
|
||
|
||
SENSE DRIVE STATUS
|
||
|
||
|
||
|
||
This command may be used by the processor whenever it wishes to obtain the
|
||
status of the FDDs. Status Register 3 contains the Drive Status Information.
|
||
|
||
|
||
|
||
INVALID
|
||
|
||
|
||
If an invalid command is sent to the FDC ( a command not defined above), then
|
||
the FDC will terminate the command. No interrupt is generated by the 8272
|
||
during this condition. Bit 6 and bit 7 (DIO and RQM) in the Main Status
|
||
Register are above both high ("1") indicating to the processor that the 8272
|
||
is in the Result Phase and the contents of Status Register 0 (ST0) must be
|
||
read. When the processor reads Status Register 0 it will find a 80h indicating
|
||
an invalid command was received.
|
||
|
||
A Sense Interrupt Status Command must be sent after a Seek or Recalibrate
|
||
interrupt, otherwise the FDC will consider the next command to be an invalid
|
||
Command.
|
||
|
||
In some applications the user may wish to use this command as a No-Op command,
|
||
to place the FDC in a standby or no operation state.
|
||
|
||
|
||
|
||
|
||
|
||
TABLE 8. STATUS REGISTERS
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³
|
||
³ BIT ³ ³
|
||
ÃÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄ´ DESCRIPTION ³
|
||
³NO ³ NAME ³ SYMBOL ³ ³
|
||
ÃÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ STATUS REGISTER 0 ³
|
||
ÃÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D7 ³Interrupt ³ IC ³ D7 = 0 and D6 = 0 ³
|
||
³ ³Code ³ ³ Normal Termination of Command, ³
|
||
³ ³ ³ ³ (NT) Command was completed and ³
|
||
³ ³ ³ ³ properly executind. ³
|
||
³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³D7=0 and D6 = 1 ³
|
||
³D6 ³ ³ ³Abnormal Tremination of Command, ³
|
||
³ ³ ³ ³(AT). Execution of Command ³
|
||
³ ³ ³ ³was started, but was not ³
|
||
³ ³ ³ ³successfully completed. ³
|
||
³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ D7 = 1 and D6 = 0 ³
|
||
³ ³ ³ ³ Invalid Command issued. (IC). ³
|
||
³ ³ ³ ³ Command which was issued was ³
|
||
³ ³ ³ ³ never started. ³
|
||
³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ D7 = 1 and D6 = 1 ³
|
||
³ ³ ³ ³ Abnormal Termination because ³
|
||
³ ³ ³ ³ during command execution the ³
|
||
³ ³ ³ ³ ready signal from FDD changed ³
|
||
³ ³ ³ ³ state. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ When the FDC completes the ³
|
||
³D5 ³ Seek End ³ SE ³ SEEK Command, this flag is set to 1 ³
|
||
³ ³ ³ ³ (high). ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D4 ³ Equipment ³ EC ³ If fault Signal is received from the ³
|
||
³ ³ Check ³ ³ FDD, or if the Track 0 Signal fails to ³
|
||
³ ³ ³ ³ occur after 77 Step Pulses (Recalibrate³
|
||
³ ³ ³ ³ Command) then this flag is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D3 ³ Not Ready ³ NR ³ When the FDD is in the not-ready ³
|
||
³ ³ ³ ³ state and a read or write command is ³
|
||
³ ³ ³ ³ issued. This flag is set.If a read or ³
|
||
³ ³ ³ ³ write command is issued to Side 1 ³
|
||
³ ³ ³ ³ of single sided drive,then this flag ³
|
||
³ ³ ³ ³ is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D2 ³ Head ³ ³ This flag is used to indicate the ³
|
||
³ ³ Address ³ HD ³ state of the head at interrupt ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ Unit ³ ³ ³
|
||
³D1 ³ Select 1 ³ US1 ³ These flags are used to indicate a ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄ´ Drive Unit Number at interrupt ³
|
||
³D0 ³ U.Select 0 ³ US0 ³ ³
|
||
ÀÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³
|
||
³ BIT ³ ³
|
||
ÃÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄ´ DESCRIPTION ³
|
||
³NO ³ NAME ³ SYMBOL ³ ³
|
||
ÃÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ STATUS REGISTER 1 ³
|
||
ÃÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D7 ³End of ³ EN ³ When the FDC tries to access a ³
|
||
³ ³Cylinder ³ ³ Sector beyond the final Sector of a ³
|
||
³ ³ ³ ³ Cylinder, this flag is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D6 ³ ³ ³Not used. This bit is always 0 (low). ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D5 ³Data Error ³ DE ³When the FDC detects a CRC error ³
|
||
³ ³ ³ ³in either the ID field or the data field³
|
||
³ ³ ³ ³this flag is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D4 ³Over Run ³ OR ³If the FDC is not serviced by the ³
|
||
³ ³ ³ ³main-systems during data transfers, ³
|
||
³ ³ ³ ³within a certain time interval, this ³
|
||
³ ³ ³ ³flag is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D3 ³ ³ ³Not used. This bit is always 0 (low). ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ During execution of READ DATA, ³
|
||
³D2 ³ No Date ³ ND ³ WRITE DELETED DATA or SCAN ³
|
||
³ ³ ³ ³ Command, if the FDC cannot find the ³
|
||
³ ³ ³ ³ Sector specified in the IDR Register, ³
|
||
³ ³ ³ ³ this flag is set. ³
|
||
³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ During execution the READ ID Command, ³
|
||
³ ³ ³ ³ if the FDC cannot read the ID field ³
|
||
³ ³ ³ ³ without an error, then this flag is ³
|
||
³ ³ ³ ³ set. ³
|
||
³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ During the execution of the READ A ³
|
||
³ ³ ³ ³ Cylinder Command, if the starting ³
|
||
³ ³ ³ ³ sector cannot be found, then this ³
|
||
³ ³ ³ ³ flag is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ Not ³ ³ During execution of WRITE DATA, ³
|
||
³D1 ³ Writable ³ NW ³ WRITE DELETED DATA or Format A ³
|
||
³ ³ ³ ³ Cylinder Command, if the FDC detects ³
|
||
³ ³ ³ ³ a write protect signal from the FDD, ³
|
||
³ ³ ³ ³ then this flag is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D0 ³ Missing ³ MA ³ If the FDC cannot detect the ID ³
|
||
³ ³ Address ³ ³ Address Mark after encountering the ³
|
||
³ ³ Mark ³ ³ index hole twice, then this flag is set³
|
||
³ ³ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ ³ ³ If the FDC cannot detect the Data ³
|
||
³ ³ ³ ³ Address Mark or Deleted Data ³
|
||
³ ³ ³ ³ Address Mark,this flag is set. Also at ³
|
||
³ ³ ³ ³ the same time, the MD (Missing Address ³
|
||
³ ³ ³ ³ Mark in Data Field) of Status Register ³
|
||
³ ³ ³ ³ 2 is set. ³
|
||
ÀÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³
|
||
³ BIT ³ ³
|
||
ÃÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄ´ DESCRIPTION ³
|
||
³NO ³ NAME ³ SYMBOL ³ ³
|
||
ÃÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ STATUS REGISTER 2 ³
|
||
ÃÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D7 ³ ³ ³ Not used. This bit is always 0 (low). ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D6 ³ Control ³ CM ³ During execution the READ DATA or ³
|
||
³ ³ Mark ³ ³ SCAN Command, if the FDC encounters ³
|
||
³ ³ ³ ³ a Sector which contains a Deleted Data ³
|
||
³ ³ ³ ³ Address Mark, this flag is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D5 ³ Data Error ³ DD ³If the FDC detects a CRC error in the ³
|
||
³ ³ in Data ³ ³data field then this flag is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D4 ³ Wrong ³ WC ³This bit is related with the ND bit, ³
|
||
³ ³ Cylinder ³ ³and when the contents of C on the ³
|
||
³ ³ ³ ³medium is different from that stored ³
|
||
³ ³ ³ ³in the IDR, this flag is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D3 ³ Scan Equel ³ SH ³ During execution, the SCAN Command, ³
|
||
³ ³ Hit ³ ³ if the condition of "equel" is ³
|
||
³ ³ ³ ³ satisfied, this flag is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ ³ Scan Not ³ SN ³ During execution the SCAN Command, if ³
|
||
³D2 ³ Satisfied ³ ³ the FDC cannot find a Sector on the ³
|
||
³ ³ ³ ³ cylinder which meets the condition, ³
|
||
³ ³ ³ ³ then this flag is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D1 ³ Bad ³ BC ³ This bit is related with the ND bit, ³
|
||
³ ³ Cylinder ³ ³ and when the content of C on the ³
|
||
³ ³ ³ ³ medium is different from that stored ³
|
||
³ ³ ³ ³ in the IDR and the content of C is ³
|
||
³ ³ ³ ³ FF, then this flag is set. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D0 ³ Missing ³ ³ When data is read from the medium, ³
|
||
³ ³ Address ³ MD ³ if the FDC cannot find a Data Address ³
|
||
³ ³ Mark in ³ ³ Mark, then this flag is set. ³
|
||
³ ³ Data ³ ³ ³
|
||
³ ³ Field ³ ³ ³
|
||
ÀÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
|
||
³ ³ ³
|
||
³ BIT ³ ³
|
||
ÃÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄ´ DESCRIPTION ³
|
||
³NO ³ NAME ³ SYMBOL ³ ³
|
||
ÃÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³ STATUS REGISTER 3 ³
|
||
ÃÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D7 ³ Fault ³ FT ³ This bit is used to indicate the status³
|
||
³ ³ ³ ³ of the Fault signal from the FDD ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D6 ³ Write ³ ³ This bit used to indicate the status ³
|
||
³ ³ Protected ³ WP ³ of the Write Protected signal from the ³
|
||
³ ³ ³ ³ FDD. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D5 ³ Ready ³ RDY ³ This bit used to indicate the status ³
|
||
³ ³ ³ ³ of the Ready signal from the FDD ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D4 ³ Track 0 ³ T0 ³ This bit used to indicate the status ³
|
||
³ ³ ³ ³ of the Track 0 signal from the FDD ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D3 ³ Two Side ³ TS ³ This bit used to indicate the status ³
|
||
³ ³ ³ ³ of the Two Side signal from the FDD. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D2 ³ Head ³ HD ³ This bit used to indicate the status ³
|
||
³ ³ Address ³ ³ of Side Select signal to the FDD. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D1 ³ Unit ³ US1 ³ This bit used to indicate the status of³
|
||
³ ³ Select 1 ³ ³ the Unit Select 1 signal to the FDD. ³
|
||
ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
|
||
³D0 ³ Unit ³ US0 ³ This bit used to indicate the status of³
|
||
³ ³ Select 0 ³ ³ the Unit Select 0 signal to the FDD. ³
|
||
³ ³ ³ ³ ³
|
||
ÀÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|