Spectrum Ula- How To Design A Microcomputer -zx Design Retro Computer- - The Zx
In 1981, a viable home computer required approximately 70-100 discrete logic chips (TTL). The Apple II used 62; the Commodore PET used over 90. Sinclair’s previous machine, the ZX81, used a single ULA to replace roughly 80% of those chips, retailing at £49.95.
For the Spectrum, Sinclair’s mandate was absolute: color graphics for the price of a monochrome machine. The traditional solution (a dedicated Video Display Controller like the Motorola 6845) was too expensive and required external character generators and RAM. The ZX Spectrum ULA was the answer: a custom gate array designed by Richard Altwasser of Ferranti, programmed to do just enough and nothing more. In 1981, a viable home computer required approximately
To save RAM (and gates on the ULA), the Spectrum famously splits color from pixels. Design Lesson: The ULA taught a generation of
Design Lesson: The ULA taught a generation of programmers that hardware limitations breed creativity. The "stippling" effect used in Knight Lore and Head Over Heels was a software hack to trick the ULA into displaying pseudo-more colors. The Spectrum ULA maps the keyboard to port 0xFE
The Spectrum ULA maps the keyboard to port 0xFE. It reads 5 rows of keys (Shift, Z–M, etc.) via IN instructions.
Design steps:
Bonus: Add a simpler design variant – use a modern microcontroller to scan keys and send serial data to the main CPU, but that misses the ULA’s charm.