Files
2024-02-19 00:25:23 -05:00

2195 lines
118 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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. ³
³ ³ ³ ³ ³
ÀÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ