The original ULA schematics were lost. For decades, repairing a Spectrum meant desoldering a dead ULA from a donor board. In 2013, Chris Smith published The ZX Spectrum ULA: How to Design a Microcomputer, reverse-engineering the chip by decapsulating it and photographing the die under a microscope.
Key Findings from Die Analysis:
The Harlequin Project: Using Smith’s findings, modern engineers have recreated the ULA in Verilog for FPGAs. The recreation revealed that the original ULA had a hidden "test mode" (activated by floating pin 27) that outputs internal scanlines—proof that Ferranti engineers built in debug hooks that Sinclair never used.
No retro computer is complete without expansion. The Spectrum’s edge connector gives direct access to the Z80 bus. But crucially, it also exposes the ULA’s control lines.
The ZX Spectrum ULA is not a "graphics chip" like the VIC-II or the TMS9918. It is a minimal Turing-complete video memory arbiter that just barely worked. The original ULA schematics were lost
If you want to design a retro computer today:
Because the magic of the Spectrum wasn't despite the ULA—it was because of it.
Further digging:
0;e8a;0;2cb; 0;908;0;f1; 0;88;0;98; 0;279;0;17a; 0;1234;0;b19; Because the magic of the Spectrum wasn't despite
18;write_to_target_document1a;_XGrtac6NMbbz4-EP_-fH0Qk_10;56;
18;write_to_target_document1a;_XGrtac6NMbbz4-EP_-fH0Qk_20;56; 0;7b1;0;55e;
The ZX Spectrum ULA: How to Design a Microcomputer by Chris Smith is a comprehensive technical analysis covering the reverse-engineering and functional design of the Sinclair ZX Spectrum's Uncommitted Logic Array. The text details ULA operation, including video timing, memory contention, and the "snow effect," providing essential documentation for hardware cloning and modern FPGA implementations. For more information, visit zxdesign.info0;ba4;0;819;. 0;16;
18;write_to_target_document7;default0;2dc;18;write_to_target_document1a;_XGrtac6NMbbz4-EP_-fH0Qk_20;92;0;a3; including video timing
18;write_to_target_document7;default18;write_to_target_document1a;_XGrtac6NMbbz4-EP_-fH0Qk_20;515b;0;4c46;
18;write_to_target_document7;default0;a1;0;a1;18;write_to_target_document1a;_XGrtac6NMbbz4-EP_-fH0Qk_20;a5; 0;f5;0;195;
18;write_to_target_document1b;_XGrtac6NMbbz4-EP_-fH0Qk_100;57; 0;bd3;0;5e9; 0;11c5;0;21d1; The ZX Spectrum ULA: How to design a microcomputer
Early microcomputers had chaotic I/O. The Spectrum uses a "partial decode" strategy. To save transistors in the ULA, the Spectrum doesn't check all 16 address lines for I/O. Usually, it checks only the lower 8.