WD FD1793 floppy disk formatter/controller pinout

DIP-40. Single and double density disk controller on the Model III and Model 4 FDC boards, ports F0H-F3H.

FM and MFM controller with a true (non-inverted) data bus; the 1791 is the same chip with an inverted bus. It needs +5 V (pin 21) and +12 V (pin 40). On the Model III and 4 FDC boards it is clocked at 1 MHz, uses a WD1691 for write precompensation and data separation and a WD2143 clock generator, and drives the CPU through the NMI logic. Its registers are ports F0H (command/status), F1H (track), F2H (sector) and F3H (data).

Open the interactive 1793 pinout

Pins

PinNameTypeSignal
1NCncInternally tied to a back-bias generator. Must be left open.
2/WEctrlWrite enable. LOW gates the DAL into the selected register while /CS is LOW.
3/CSctrlChip select. LOW enables communication with the CPU.
4/REctrlRead enable. LOW puts the selected register on the DAL while /CS is LOW.
5A0addrRegister select bit 0. A1 A0: 00 status/command, 01 track, 10 sector, 11 data.
6A1addrRegister select bit 1.
7DAL0dataData access line 0. True (non-inverted) on the 1793.
8DAL1dataData access line 1. True (non-inverted) on the 1793.
9DAL2dataData access line 2. True (non-inverted) on the 1793.
10DAL3dataData access line 3. True (non-inverted) on the 1793.
11DAL4dataData access line 4. True (non-inverted) on the 1793.
12DAL5dataData access line 5. True (non-inverted) on the 1793.
13DAL6dataData access line 6. True (non-inverted) on the 1793.
14DAL7dataData access line 7. True (non-inverted) on the 1793.
15STEPctrlStep output: one pulse per step.
16DIRCctrlDirection: HIGH steps in, LOW steps out.
17EARLYctrlHIGH: shift the current write pulse early (precompensation).
18LATEctrlHIGH: shift the current write pulse late (precompensation).
19/MRctrlMaster reset. LOW loads 03H into the command register; a restore runs when it goes HIGH and the sector register becomes 01H.
20VSSgroundGround.
21VCCpower+5 V ±5 %.
22/TESTctrlTest input. Tie to +5 V or leave open except with voice-coil drives.
23HLTctrlHead load timing. HIGH means the head is engaged.
24CLKclockFree-running clock: 2 MHz for 8-inch drives, 1 MHz for mini drives.
25RGctrlRead gate (1791/1793): HIGH when a field of zeros or ones is found, for data separator sync. (SSO side select on the 1795/1797.)
26RCLKclockRead clock from the data separator (WD1691 on the Model III board). Phase matters, polarity does not.
27/RAW READdataRaw read data from the drive: one negative pulse per flux transition.
28HLDctrlHead load. Controls loading of the head against the disk.
29TG43ctrlTrack greater than 43. Valid only during read and write commands.
30WGctrlWrite gate. Goes valid before writing.
31WDdataWrite data: a 250 ns (MFM) or 500 ns (FM) pulse per flux transition.
32READYctrlDrive ready. Must be HIGH for reads and writes; appears inverted as status bit 7. Type I commands ignore it.
33/WF/VFOEctrlWrite fault input while WG = 1 (LOW ends the write); VFO enable output while WG = 0, LOW during reads once the head has settled.
34/TR00ctrlTrack 00. LOW when the head is over track 0.
35/IPctrlIndex pulse from the drive.
36/WPRTctrlWrite protect. Sampled on a write command; LOW ends it and sets the write-protect status bit.
37/DDENctrlDouble density select. LOW = MFM, HIGH = FM. Model III: from port F4H bit 7 (bit set selects MFM).
38DRQctrlData request, open drain (10 kΩ pull-up): the data register is full on a read or empty on a write. Model III: DRQ clears the CPU wait state; the end-of-transfer NMI comes from INTRQ, not DRQ.
39INTRQctrlInterrupt request, open drain. Set at the end of any command; reset by reading status or writing a command.
40VDDpower+12 V ±5 %.

Fitted in

Sources