The Zx Spectrum Ula How To Design A Microcomputer Zx Design Retro Computer Portable |work|
Uncommitted Logic Array (ULA)
The ZX Spectrum’s is the heart of Sinclair’s 1982 masterpiece. It represents a masterclass in cost-effective engineering, condensing what would have been dozens of discrete chips into a single custom component. What is the ULA?
In the early 1980s, Richard Altwasser and the Sinclair team faced a challenge: build a color computer for under £100. Their solution was the Ferranti ULA, a "gate array" precursor to modern FPGAs. The ULA performed four critical roles: Uncommitted Logic Array (ULA) The ZX Spectrum’s is
- Prototype the ULA core in FPGA: implement video timing and a simple ROM display to verify timing and outputs.
- Add DRAM controller and CPU interface; test contention handling with simple Z80 programs.
- Implement keyboard I/O, paging, and the tape interface.
- Integrate composite output encoder and HDMI path (or HDMI framebuffer).
- Develop minimal ROM: bootloader + BASIC or a monitor; enable microSD read for ROM/tape images.
- Design PCB with power and I/O; test with real Z80 or soft-core.
- Build a compact case and keyboard; iterate on ergonomics and battery life.
- Finalize firmware, create user tools for transferring games, and publish schematics/FPGA source if open-sourcing.
Key lesson:
The ULA was a tightly coupled video+memory controller . You cannot make a simple ZX clone without replicating this arbitration. Prototype the ULA core in FPGA: implement video
to emulate the Z80. This is easier for portable builds as it handles power management better. 2. Replacing the ULA Key lesson: The ULA was a tightly coupled

- Spectra Geospatial Partners
- Nikon Partners
PARCEIROS