The ZX80 and ZX81 used discrete logic to generate video. The Spectrum needed color, but adding more chips would kill the budget. The solution was the —specifically the Ferranti ULA.
But underneath its rubbery keyboard and distinctive rainbow stripe lies a feat of minimalist engineering that still teaches lessons to modern hardware designers. At the heart of the machine lies a single, mysterious chip: the .
Unlike linear framebuffers (like the VIC-II in the C64), the Spectrum’s screen is a fractal nightmare. The memory map looks like this: The ZX80 and ZX81 used discrete logic to generate video
Why? Because one engineer, armed with a logic analyzer and a Ferranti databook, looked at the problem of building a color computer for the working class and said: "I don't need a million transistors. I need 1,000 gates, configured perfectly."
In the pantheon of classic computing, few machines have inspired as much nostalgia and technical reverence as the Sinclair ZX Spectrum. Released in 1982, it brought color gaming and serious computing to the British masses at a fraction of the cost of an Apple II or Commodore 64. But underneath its rubbery keyboard and distinctive rainbow
"If a function can be done in software, do it in software. If it saves a chip to do it in hardware, do it in the ULA."
Think of a ULA as a breadboard of unconnected NAND and NOR gates. You, the designer, pay for a metal mask that connects these gates into whatever logic function you need. It is a semi-custom ASIC. For a low-volume product (relative to Commodore), it was perfect. The memory map looks like this: Why
The ULA is the bus master. The CPU is the guest. Part 5: The "ULA Failure" – Designing for Reliability Ironically, the very chip that made the Spectrum cheap also destroyed its reliability.