ZX81 ULA 2C184E / 2C210E pinout

DIP-40. Video sync, character access, keyboard, tape, NMI, ROM/RAM select

The ZX81 ULA (Ferranti 2C184E, later 2C210E) makes the picture and the CPU clock, reads the keyboard and the tape, selects the ROM and RAM and drives NMI for the display. It is a different chip from the Spectrum ULA. A dead ULA gives no display and no boot. Check +5 V at pin 40 and the 6.5 MHz resonator at pin 35 before replacing it.

Open the interactive ULA pinout

Pins

PinNameTypeSignal
1A7'addrROM-side address line A7' (direct to the ROM, to the CPU through 1 kohm). The ULA drives it with the character code during the refresh cycle of a display fetch.
2A8'addrROM-side address line A8'. Driven with the character code during display refresh cycles.
3A2'addrROM-side address line A2'. Driven with the character line counter during display refresh cycles.
4A1'addrROM-side address line A1'. Driven with the line counter during display refresh cycles.
5A0'addrROM-side address line A0'. Driven with the line counter during display refresh cycles.
6/RDctrlRead strobe, direct from the Z80.
7/IORQctrlI/O request, direct from the Z80.
8/WRctrlWrite strobe, direct from the Z80.
9/MREQctrlMemory request, direct from the Z80.
10/M1ctrlOpcode fetch marker, direct from the Z80.
11A14addrCPU address bit 14 (direct).
12/RAMCSctrlRAM select, through 680 ohm (R2) to the RAM and edge pin A2.
13/ROMCSctrlROM select (/MREQ OR A14), through 680 ohm (R28) to ROM pin 20 and edge pin B23.
14/CLKclockCPU clock out, the inverse of the internal clock (6.5 MHz / 2). TR2 drives Z80 pin 6 from it.
15/NMIctrlNMI to the Z80, used to time the display.
16TV/TAPEvideoComposite video and the tape (MIC) output on one pin; feeds the modulator.
17/HALTctrlHALT from the Z80. While a HALT runs the ULA loads no character data (Rea).
18A15addrCPU address bit 15 (direct).
19D7dataData bit 7, direct to the CPU.
20TAPE INaudioTape input from the EAR socket through C10 and R33 (4K7).
21D6dataData bit 6.
22USA/UKctrlTV standard strap: open on a UK machine, tied to 0 V on a US one.
23D5dataData bit 5.
24D4dataData bit 4.
25KBD4kbdKeyboard line 4 from the 5-way KB1 connector, pulled up by RP3.
26D3dataData bit 3.
27KBD3kbdKeyboard line 3.
28D2dataData bit 2.
29KBD2kbdKeyboard line 2.
30D1dataData bit 1.
31KBD1kbdKeyboard line 1.
32D0dataData bit 0.
33KBD0kbdKeyboard line 0.
340Vground0 V.
35OSCclockOscillator pin for the 6.5 MHz ceramic resonator X1 (CERAM OSC on the diagram). C6 100 pF, C7 47 pF and R4 18k complete the external network.
36A3'addrROM-side address line A3'. Driven with the character code during display refresh cycles; whether the ULA also reads it is not stated in the sources. UNVERIFIED
37A4'addrROM-side address line A4'. Character code during display refresh cycles.
38A5'addrROM-side address line A5'. Character code during display refresh cycles.
39A6'addrROM-side address line A6'. Character code during display refresh cycles.
40+5Vpower+5 V supply.

Fitted in

Sources