Floppy Controller

This document defines the Intel 82077AA-1 floppy controller, its MC68EC000 bus adapter, and the signal and power connections for two Mitsumi D359M3D drives. Return to the main page.

Document status
Revision 1.0 pre-layout design; board layout and assembled-system checks remain
Controller
Intel 82077AA-1, 68-pin PLCC
Bus connection
I/O slot 1, $E20000-$E3FFFF, on D7..D0
Canonical registers
$E20001-$E2000F, odd byte addresses
Drives
Two Mitsumi D359M3D 3.5-inch, 1.44 MB drives
Media format
1,474,560 bytes: 80 cylinders, two heads, 18 sectors per track, and 512 bytes per sector
Transfer method
Interrupt-driven programmed I/O through the 16-byte FIFO
Interrupt connection
MC68901 GPIP5, rising edge, vector $47
Drive cable
One internal 34-conductor PC cable with a drive-select twist

1. Purpose and Scope

The 82077AA-1 controls both installed D359M3D drives. The controller supplies the data separator, write precompensation, drive-control outputs, status logic, and a 16-byte FIFO. The motherboard adds a lower-byte host adapter, a standard twisted drive cable, and two separately fused drive-power outputs.

The Memory Map owns I/O slot 1 and the canonical register addresses. Bus and Address Decode owns IO1_n, the completion tree, and bus-timeout behavior. The MFP owns GPIP5 and vector $47. The Clock and Reset design owns PERIPH_RESET_n, and the MFP clock divider supplies MFP_CLK_5 to the bus-response sequencer.

Signal names ending in _n, and names written with a leading slash, are active low. The logic supply is +5 V. Every IC family selected by this page existed before 1994.

2. Architecture

MC68EC000 lower byte                  Intel 82077AA-1

D7..D0 <--------------------------> DB7..DB0
A3..A1 ----------------------------> A2..A0
IO1_n + LDS_n --> FDC_CYCLE --> FDC_CS_n --> CS
R/W + FDC_CYCLE --> FDC_RD_n ------> RD
R/W + FDC_CYCLE --> FDC_WR_n ------> WR
MFP_CLK_5 --> response sequencer --> FDC_DTACK_n
PERIPH_RESET_n --> inverter -------> RESET
INT --------------------------------> MC68901 GPIP5

24 MHz crystal ---------------------> X1, X2

82077AA-1 drive interface
    |
    +-- output damping resistors
    +-- 34-pin motherboard header
            |
            +-- drive 1 before twist: Mitsumi D359M3D
            |
            +-- cable twist
                    |
                    +-- drive 0 and boot drive: Mitsumi D359M3D

+5 V  -- RXEF110 --> drive 0 mini-Berg pin 1
+12 V -- RXEF050 --> drive 0 mini-Berg pin 4
+5 V  -- RXEF110 --> drive 1 mini-Berg pin 1
+12 V -- RXEF050 --> drive 1 mini-Berg pin 4

The controller runs in PS/2 mode with its internal drive buffers enabled. Both drives retain their factory PC configuration: drive select 1 on cable pin 12 and disk-change on pin 34. The cable twist maps the far drive to controller drive 0 without modifying either drive.

3. Bus Interface

Floppy-controller processor-bus connections
Motherboard signal Adapter or controller connection Function
D7..D0 82077AA-1 DB7..DB0 Transfers commands, status, and disk data.
A3..A1 82077AA-1 A2..A0 Selects one of eight host-interface locations.
R/W U_FDC_CTRL and U_FDC_INV Selects a controller read or write.
IO1_n U_FDC_REQ Selects I/O slot 1 during a normal bus cycle.
LDS_n U_FDC_REQ Restricts the interface to the lower byte lane.
MFP_CLK_5 U_FDC_SEQ clock Times the fixed host response.
FDC_DTACK_n U_FDC_CTRL output Returns completion to the motherboard tree.

Cycle Qualification

One SN74F02N gate asserts FDC_CYCLE only while slot 1 and the lower byte lane are selected.

FDC_CYCLE = NOT (IO1_n OR LDS_n)

An upper-byte-only access reaches the motherboard timeout. A word access completes because it includes the lower lane, but only D7..D0 carry valid controller data. Firmware shall use byte accesses at odd addresses.

Read and Write Strobes

U_FDC_INV produces FDC_RW_n and FDC_CS_n. Two U_FDC_CTRL NAND gates convert the qualified processor cycle into the controller's active-low strobes.

FDC_RW_n = NOT R/W
FDC_CS_n = NOT FDC_CYCLE
FDC_RD_n = NOT (FDC_CYCLE AND R/W)
FDC_WR_n = NOT (FDC_CYCLE AND FDC_RW_n)

Fixed Completion Response

U_FDC_SEQ is a CD74HCT164E clocked at 5 MHz. Its serial inputs are high and its active-low clear connects to FDC_CYCLE. Three rising clock edges shift a high level to QC. This holds FDC_RD_n or FDC_WR_n active for at least two complete 200 ns clock periods before the adapter returns completion.

FDC_ACK_READY = U_FDC_SEQ.QC
FDC_DTACK_n   = NOT (FDC_CYCLE AND FDC_ACK_READY)

Releasing either IO1_n or LDS_n clears the sequencer asynchronously, negates the selected host strobe, and releases FDC_DTACK_n. A new access starts from the cleared state.

4. Register Map

Processor address lines A1..A3 become controller address bits 0 through 2. The canonical address for controller location n is $E20001 + 2n. Address lines A16..A4 do not enter the local decode, so the 16-byte pattern repeats throughout slot 1.

Canonical 82077AA-1 register addresses in PS/2 mode
CPU address A2..A0 Read Write
$E20001 000 Status Register A Not defined
$E20003 001 Status Register B Not defined
$E20005 010 Digital Output Register Digital Output Register
$E20007 011 Tape Drive Register Tape Drive Register
$E20009 100 Main Status Register Data Rate Select Register
$E2000B 101 FIFO data FIFO data
$E2000D 110 Reserved Reserved
$E2000F 111 Digital Input Register Configuration Control Register

Firmware shall not access the reserved location or use writes that the table marks as undefined. The Tape Drive Register remains zero because neither installed device is a tape drive.

5. Clock, Reset, and Mode Straps

24 MHz Reference

Y_FDC is a 24 MHz parallel-resonant, fundamental-mode crystal between X1 and X2. The specified part is the YIC 24M20PI/49US in an HC-49/US package. C_FDC_X1 and C_FDC_X2 are 22 pF C0G capacitors from the corresponding crystal pins to ground, matching Intel's application circuit. Any substitute must have no more than 40 ohms series resistance, less than 5 pF shunt capacitance, and a total frequency error within +/-0.1%.

The oscillator requires 10 ms after +5 V reaches 4.5 V before the controller can rely on its internal timing. The motherboard's 250 ms power-on reset covers this interval.

Hardware Reset

One U_FDC_INV channel converts active-low PERIPH_RESET_n to the controller's active-high FDC_RESET. The 82077AA-1 requires 170 crystal periods, about 7.1 us, after its oscillator is stable. The processor RESET instruction supplies about 12.4 us through the peripheral-reset domain, and the power-on and manual-reset pulses are longer.

FDC_RESET = NOT PERIPH_RESET_n

Reset stops an active disk command and can corrupt a sector if it occurs during a write. Firmware must reinitialize the data rate, FIFO, mechanical timing, and non-DMA mode after every reset.

PS/2 Mode

IDENT connects to ground, MFM remains open, and INVERT connects to ground. The controller samples IDENT low and MFM high during hardware reset, selecting PS/2 mode. This mode exposes Status Registers A and B, keeps INT and DRQ enabled independently of the DOR DMA-gate bit, and makes DENSEL_n low at 500 kbit/s as expected by a PC 3.5-inch drive.

PLL0 connects to +5 V for floppy operation. DRV2 also connects to +5 V so Status Register A reports that the second drive is installed. DACK and TC connect to +5 V, their inactive level in PS/2 mode. DRQ remains unconnected.

6. Drive Interface

With INVERT grounded, the 82077AA-1 drives and receives the standard active-low floppy-cable signals directly. Ten 33 ohm series resistors sit at the controller outputs to damp cable edges.

Controller outputs to the 34-pin header
82077AA-1 output Header pin Cable function
DENSEL_n 2 Low selects the 500 kbit/s high-density mode.
ME0_n 10 Motor enable for drive 0 after the cable twist.
DS1_n 12 Drive select for drive 1 before the cable twist.
DS0_n 14 Drive select for drive 0 after the cable twist.
ME1_n 16 Motor enable for drive 1 before the cable twist.
DIR_n 18 Head step direction.
STEP_n 20 Head step pulse.
WRDATA_n 22 Encoded write data.
WE_n 24 Write gate.
HDSEL_n 32 Low selects side 1.

RP_FDC_IN is a five-resistor isolated SIP network. Each 10 kohm resistor pulls one returned signal to +5 V at the controller end of the cable. Intel recommends about 10 kohms for PS/2-mode 3.5-inch drives because their outputs become high impedance when deselected.

The recommended network is the Bourns 4610X-102-103LF, a 10-pin SIP holding five isolated 10 kohm resistors. Any five-element isolated 10 kohm SIP with the same footprint is acceptable.

Drive returns to the controller
Header pin Signal 82077AA-1 input
8 INDEX_n INDX
26 TRK0_n TRK0
28 WP_n WP
30 RDDATA_n RDDATA
34 DSKCHG_n DSKCHG

The D359M3D PC configuration puts disk-change on pin 34. No drive modification is required. The 82077AA-1 has no external READY input for its legacy polling sequence; it treats ready as asserted internally. Firmware uses disk-change, index, command results, and timeouts to detect missing or unusable media.

The required 1.44 MB format uses MFM at 500 kbit/s, 80 cylinders, two heads, 18 sectors per track, and 512 bytes per sector. Its exact formatted capacity is 1,474,560 bytes, or 1.40625 MiB. The D359M3D also supports 250 kbit/s media, but 720 KiB operation is optional software behavior rather than a board requirement. The 1 Mbit/s perpendicular mode is not used.

7. Signal Connector and Cable

J_FDC is one keyed, shrouded, 2-by-17, 2.54 mm motherboard header. Pin 3 is omitted as the polarization key. Every other odd-numbered pin is ground. The cable stays inside the enclosure and has one untwisted drive connector followed by a twist in conductors 10 through 16 and a final drive connector.

The recommended header is the Amphenol ICC 66506-019LF. Any keyed, shrouded, 2-by-17, 2.54 mm header with the same footprint and the pinout below is acceptable.

J_FDC motherboard-header pinout
Pin Signal Direction at motherboard
1 Ground Return
2 DENSEL_n Output
3 Key; pin omitted None
4, 6 Reserved; not connected None
5, 7, 9, 11, 13, 15, 17, 19 Ground Return
8 INDEX_n Input
10 ME0_n Output
12 DS1_n Output
14 DS0_n Output
16 ME1_n Output
18 DIR_n Output
20 STEP_n Output
21, 23, 25, 27, 29, 31, 33 Ground Return
22 WRDATA_n Output
24 WE_n Output
26 TRK0_n Input
28 WP_n Input
30 RDDATA_n Input
32 HDSEL_n Output
34 DSKCHG_n Input

Both drives stay configured as PC drive select 1. The connector before the twist is controller drive 1. The final connector after the twist is controller drive 0 and the boot drive. The motor-enable conductors twist with the select conductors, so each DOR motor bit follows its assigned drive.

8. Drive Power

J_FDD0_POWER and J_FDD1_POWER are keyed four-contact mini-Berg power headers. Each connector has its own +5 V and +12 V resettable fuse. The D359M3D specification calls for +5 V only, so its +12 V contact draws no normal current. Supplying the standard +12 V contact keeps the motherboard connector compatible with ordinary 3.5-inch drive power cables.

The recommended header is the TE Connectivity 171825-4, a four-position keyed through-hole male header. Any four-contact keyed header with the same footprint and the pinout below is acceptable.

Drive-power connector pinout
Pin Connection Protection
1 +5 V One RXEF110 per drive, 1.10 A hold at 20 C
2 Ground Direct ground return
3 Ground Direct ground return
4 +12 V One RXEF050 per drive, 0.50 A hold at 20 C

Each post-fuse +5 V branch has 470 uF and 100 nF to ground beside its connector. Each post-fuse +12 V branch has 47 uF and 100 nF. The D359M3D data sheet gives 1.6 W typical operating power and 0.04 W typical standby power from +5 V, corresponding to about 320 mA and 8 mA. The 1.10 A hold rating leaves room for motor startup current.

The fuses protect the connector branches; they do not set the system supply rating. The upstream rails, traces, and input connector must carry the sum of both drive branches and the rest of the computer. Drive power is not hot-pluggable.

9. Interrupts and Programmed I/O

The 82077AA-1 push-pull INT output connects directly to MC68901 GPIP5 as FDC_INT. The MFP detects its rising edge and supplies vector $47 during the processor's level-6 interrupt acknowledge. No pull-up is fitted.

Non-DMA mode uses INT and the Main Status Register's RQM bit for FIFO service. During a read, INT rises when the FIFO reaches its programmed service level or contains the last bytes of a sector. During a write, INT rises when the FIFO can accept data. It also rises when a seek or recalibrate completes and when a data command enters its result phase.

The interrupt handler reads the Main Status Register before choosing an action. When RQM and NON-DMA are set, it transfers bytes in the direction selected by DIO until RQM clears. A seek or recalibrate completion requires Sense Interrupt Status. A data-command result phase requires the command's complete result-byte sequence. The handler must not issue Sense Interrupt Status for a FIFO data request.

The CONFIGURE command enables the FIFO, disables legacy drive polling, enables implied seeks, and selects an eight-byte threshold. At 500 kbit/s the controller data sheet gives about 126.5 us between an eight-byte service request and FIFO overrun or underrun. The handler still transfers until RQM clears instead of assuming that every interrupt represents exactly eight bytes.

10. Firmware Contract

Initialization

  1. Wait until the motherboard releases reset and the controller's 24 MHz oscillator has been stable for at least 10 ms.
  2. Write the Digital Output Register with bit 2 high to release the controller core. Keep both motor bits low and select drive 0.
  3. Write $00 to the Configuration Control Register for 500 kbit/s operation.
  4. Issue CONFIGURE bytes $13, $00, $57, $00. This enables implied seeks, enables the FIFO, disables drive polling, selects an eight-byte threshold, and starts write precompensation at track 0.
  5. Issue SPECIFY bytes $03, $DF, $11. At 500 kbit/s this selects a 3 ms step interval, 240 ms head-unload time, 16 ms head-load time, and non-DMA operation.
  6. Recalibrate drive 0 and drive 1 separately. Complete each operation with Sense Interrupt Status and verify that the present cylinder is zero.

If firmware cannot issue CONFIGURE before the reset polling sequence raises INT, it shall issue four Sense Interrupt Status commands to drain the controller's queued reset status before continuing.

Drive Selection and Motors

A Digital Output Register value of $1C selects drive 0, releases controller reset, and runs motor 0. $2D does the same for drive 1. The DMA-gate bit in these compatibility values has no effect in PS/2 mode. Firmware shall wait at least 500 ms after starting a stopped motor before writing.

Firmware may leave one motor running while selecting the other drive by retaining the first motor-enable bit in the DOR. It shall turn each motor off after the final access.

Full-Sector Transfers

The board does not generate DMA acknowledge or terminal count. Firmware transfers complete 512-byte sectors and uses the command's EOT parameter to enter the result phase normally. For one sector, EOT equals the requested sector number. Multi-sector operations may end at sector 18. Partial-sector transfers are outside this hardware contract.

Before each FIFO access, firmware shall require RQM to be one and DIO to match the transfer direction. Every wait for RQM, INT, index, seek completion, or result bytes needs a finite software timeout. A timeout resets and reinitializes the controller before another command is attempted.

Required 1.44 MB Parameters

Required disk geometry and controller values
Item Value
Encoding MFM
Data rate 500 kbit/s; CCR bits 00
Cylinders 80, numbered 0 through 79
Heads 2, numbered 0 and 1
Sectors per track 18, numbered 1 through 18
Sector size code N = 2, 512 bytes
End of track EOT = 18 for a transfer through track end
Format gap GPL = $54
Format fill byte $F6

11. Package and Pin Maps

Intel 82077AA-1

U_FDC 68-pin PLCC connections
Pins Controller signals Connection
1, 2, 26, 31, 41 WP, TRK0, INDX, DSKCHG, RDDATA WP_n, TRK0_n, INDEX_n, DSKCHG_n, and RDDATA_n
3 DACK +5 V
4, 5, 6 RD, WR, CS FDC_RD_n, FDC_WR_n, and FDC_CS_n
7, 8, 10 A0, A1, A2 CPU A1, A2, A3
11, 13, 14, 15, 17, 19, 20, 22 DB0..DB7 CPU D0..D7, in order
18, 40, 60, 68 VCC +5 V; one 100 nF capacitor at each pin
9, 12, 16, 21, 36, 50, 54, 59, 65 GND Ground plane
23 INT FDC_INT to MC68901 GPIP5
24 DRQ Not connected
25 TC +5 V
27 IDENT Ground
28, 29 DRATE0, DRATE1 Not connected
30 DRV2 +5 V
32 RESET FDC_RESET
33, 34 X1, X2 Y_FDC and its two 22 pF load capacitors
35 INVERT Ground
37, 38 LOFIL, HIFIL 4.7 nF C0G capacitor directly between the pins
39 PLL0 +5 V
42, 43, 44, 47 NC Not connected
45 AVSS Ground plane beside the analog bypass return
46 AVCC +5 V through FB_FDC_AVCC; 100 nF and 1 uF to AVSS
48 MFM Not connected; internal pull-up selects PS/2 mode
49, 51, 52, 53, 55, 56 DENSEL, HDSEL, WE, WRDATA, STEP, DIR Corresponding J_FDC signals through 33 ohm resistors
57, 58, 61, 62 ME0, DS0, ME1, DS1 Corresponding J_FDC signals through 33 ohm resistors
63, 64, 66, 67 ME2, DS2, ME3, DS3 Not connected

Adapter Packages

Floppy bus-adapter package assignments
Reference Part Assignment
U_FDC_REQ SN74F02N Lower-byte cycle qualification.
U_FDC_INV SN74F04N R/W and peripheral-reset inversion.
U_FDC_CTRL SN74F00N Read strobe, write strobe, and completion gate.
U_FDC_SEQ CD74HCT164E Three-edge 5 MHz completion delay.
Used adapter-logic channels
Reference Inputs Output
U_FDC_REQ gate 1 Pin 2: IO1_n; pin 3: LDS_n Pin 1: FDC_CYCLE
U_FDC_INV gate 1 Pin 1: CPU R/W Pin 2: FDC_RW_n
U_FDC_INV gate 2 Pin 3: PERIPH_RESET_n Pin 4: FDC_RESET
U_FDC_INV gate 3 Pin 5: FDC_CYCLE Pin 6: FDC_CS_n
U_FDC_CTRL gate 1 Pin 1: FDC_CYCLE; pin 2: CPU R/W Pin 3: FDC_RD_n
U_FDC_CTRL gate 2 Pin 4: FDC_CYCLE; pin 5: FDC_RW_n Pin 6: FDC_WR_n
U_FDC_CTRL gate 3 Pin 9: FDC_CYCLE; pin 10: FDC_ACK_READY Pin 8: FDC_DTACK_n

Every 14-pin gate package uses pin 14 for +5 V and pin 7 for ground. Ground U_FDC_REQ pins 5, 6, 8, 9, 11, and 12; U_FDC_INV pins 9, 11, and 13; and U_FDC_CTRL pins 12 and 13. Leave their unused outputs open. U_FDC_SEQ pin 14 connects to +5 V and pin 7 to ground. Pins 1 and 2 connect to +5 V, pin 8 to MFP_CLK_5, pin 9 to FDC_CYCLE, and pin 5 produces FDC_ACK_READY. Its other outputs remain open.

12. Timing and Electrical Checks

82077AA-1 host-interface timing
Parameter Controller requirement Design behavior
Address setup to RD or WR 5 ns minimum The processor address is valid before LDS asserts; the adapter adds request and NAND-gate delay before either strobe.
RD or WR pulse width 90 ns minimum Completion waits for QC after three 5 MHz edges, giving at least 400 ns before acknowledgement.
Read data valid from RD 80 ns maximum At least 320 ns remains before completion can assert.
Write-data setup to WR completion 70 ns minimum Processor write data stays valid through the delayed strobe.
Command-inactive interval 60 ns minimum Consecutive processor cycles include an inactive interval; firmware also waits for RQM before another FIFO access.

The sequencer delay is 400 to 600 ns from cycle qualification before gate delay, below the motherboard's 51.1 us normal-cycle timeout.

Completion Release

U_FDC_CTRL adds at most 6 ns when releasing FDC_DTACK_n. The motherboard tree adds 5.3 ns in its group SN74F21, 5.3 ns in the final SN74F21, and 6.6 ns in the timeout mask. The 23.2 ns component total leaves 86.8 ns for routing and loading under the MC68EC000's 110 ns release limit.

U_FDC_CTRL release            6.0 ns maximum
group SN74F21                 5.3 ns maximum
final SN74F21                 5.3 ns maximum
timeout-mask SN74F32          6.6 ns maximum
------------------------------------------------
component total              23.2 ns
MC68EC000 limit             110.0 ns
board allowance              86.8 ns

Logic Levels and Loading

The 82077AA-1 host inputs use TTL thresholds: no more than 0.8 V for low and at least 2.0 V for high. Its host data outputs guarantee no more than 0.4 V at 12 mA and at least 3.0 V at a 4 mA source load.

Floppy-subsystem electrical loads
Net Added load Check
D7..D0 One 82077AA-1 bidirectional pin, 20 pF maximum Include in the assembled processor-bus measurement.
A3..A1 One 82077AA-1 input, 10 pF maximum Include in the address-bus capacitance total.
MFP_CLK_5 One CD74HCT164E clock input, 10 pF maximum The net also drives the MFP divider's second stage and the MIDI local clock buffer.
FDC_INT One MC68901 GPIP input No pull-up; both endpoints use TTL-compatible levels.
Drive return signals 10 kohm pull-up and one controller input per signal Verify inactive levels and selected-drive edges at J_FDC.

C_FDC_FILTER connects directly between HIFIL and LOFIL. It has no ground connection. Use a 4.7 nF C0G or other low-leakage capacitor. Intel gives about 500 us settling time for 5 nF after a data-rate change, so firmware shall wait 1 ms before starting a transfer.

Each digital VCC pin has a 100 nF ceramic capacitor to its nearest ground pin. U_FDC also has 4.7 uF beside the package. FB_FDC_AVCC feeds AVCC from +5 V, with 100 nF and 1 uF returned to AVSS. Every adapter IC has a 100 nF capacitor at its supply pins.

13. Parts Added

Floppy subsystem parts
Quantity Reference or part Function
1 U_FDC, Intel 82077AA-1 Floppy controller.
2 Mitsumi D359M3D Installed 3.5-inch, 1.44 MB drives.
1 U_FDC_REQ, SN74F02N Cycle qualification.
1 U_FDC_INV, SN74F04N R/W, chip-select, and reset inversion.
1 U_FDC_CTRL, SN74F00N Host strobes and completion.
1 U_FDC_SEQ, CD74HCT164E Bus-response delay.
1 Y_FDC, 24 MHz crystal; YIC 24M20PI/49US Controller reference.
1 J_FDC, keyed 2-by-17 shrouded header; Amphenol ICC 66506-019LF Internal drive cable.
1 34-conductor PC floppy cable, three connectors Two-drive cable with conductors 10 through 16 twisted.
2 Four-contact keyed mini-Berg headers; recommended part TE Connectivity 171825-4 Drive power.
2 RXEF110 Separate +5 V drive protection.
2 RXEF050 Separate +12 V drive protection.
1 Five-element isolated 10 kohm SIP; recommended part Bourns 4610X-102-103LF Drive-return pull-ups.
10 33 ohm, 5% Drive-control source damping.
1 4.7 nF C0G HIFIL-to-LOFIL filter.
2 22 pF C0G Crystal load capacitors.
1 Ferrite bead, at least 100 ohm at 100 MHz, at least 100 mA, and no more than 0.5 ohm DC resistance AVCC supply isolation.
13 100 nF / 50 V X7R IC bypassing and post-fuse rail bypassing.
1 each 1 uF / 10 V and 4.7 uF / 10 V AVCC filtering and controller-package bulk bypass.
2 each 470 uF / 10 V and 47 uF / 25 V Post-fuse drive-rail capacitance.

Intel documented the enhanced 82077AA feature set by the first quarter of 1991. The 74F00, 74F02, and 74F04 appear in Fairchild's 1980 FAST data book, and HCT164 logic was established during the 1980s. Later data-sheet revisions do not change the family-date rule. The two D359M3D drives are user-selected parts.

14. Board Layout

15. Assembled-System Acceptance

Floppy subsystem acceptance checks
Check Pass condition
Reset and version VERSION returns $90 after initialization.
Register bus Canonical byte addresses reach the intended registers; an upper-byte-only access reaches bus error.
Host timing RD and WR exceed 90 ns, read data precedes completion, and completion releases within the processor's 110 ns limit.
Drive assignment The far connector is drive 0, the connector before the twist is drive 1, and the unselected drive stays inactive.
Motor control Each DOR motor bit starts only its assigned drive.
Disk change Removing and reinserting media changes DIR bit 7.
Read and write Both drives format, write, verify, and reread every sector of a 1.44 MB test disk without controller errors.
Media interchange Each drive reads a disk written by the other, and a reference PC reads disks written by both drives.
FIFO service Repeated full-track transfers complete without missed GPIP5 edges, overrun, or underrun.
Power protection Both drives start together without rail collapse. A branch fault trips its fuse without resetting the other drive.

16. Internal Signal Reference

Floppy subsystem signals
Signal Source Destination
FDC_CYCLE U_FDC_REQ U_FDC_INV, U_FDC_CTRL, and U_FDC_SEQ clear.
FDC_CS_n U_FDC_INV U_FDC CS.
FDC_RW_n U_FDC_INV U_FDC_CTRL write-strobe gate.
FDC_RD_n U_FDC_CTRL U_FDC RD.
FDC_WR_n U_FDC_CTRL U_FDC WR.
FDC_ACK_READY U_FDC_SEQ QC U_FDC_CTRL completion gate.
FDC_DTACK_n U_FDC_CTRL Motherboard completion tree.
FDC_RESET U_FDC_INV U_FDC RESET.
FDC_INT U_FDC INT MC68901 GPIP5.
DENSEL_n, ME0_n, ME1_n, DS0_n, DS1_n, DIR_n, STEP_n, WRDATA_n, WE_n, HDSEL_n U_FDC through 33 ohm resistors J_FDC and both drives.
INDEX_n, TRK0_n, WP_n, RDDATA_n, DSKCHG_n Selected drive and RP_FDC_IN U_FDC inputs.

17. Sources