An EPROM can be used as a look-up table to generate the complex timing signals required for video output. Design Challenge:
Before soldering, we must redefine the goal. A "portable" retro computer is not just a Spectrum in a lunchbox. It must adhere to three constraints:
By understanding the original ULA's role in memory and video management, you can create a handheld, battery-powered Z80 machine that acts exactly like a 1982 Spectrum. 5. Conclusion
In the early 80s, building a microcomputer usually required a "glue logic" board filled with standard chips to manage memory and video. Sinclair contracted to create a custom ULA—a semi-custom chip where the logic gates were pre-fabricated, but the final metal layer was "committed" to Sinclair’s specific design. This reduced the part count, lowered costs, and made the Spectrum’s small form factor possible. Key Functions An EPROM can be used as a look-up
The ULA was a tightly coupled video+memory controller . You cannot make a simple ZX clone without replicating this arbitration.
The classic Spectrum keyboard is a membrane matrix that feels uniquely rubbery. For a modern portable computer:
Small 3.5-inch TFT LCD screens can be driven directly via SPI or parallel interfaces from your microcontroller. It must adhere to three constraints: By understanding
To make further progress on your retro microcomputer design, let me know:
Implement a cycle-accurate Z80 core (such as the T80 core) alongside your custom ULA design in a low-cost FPGA like a Xilinx Spartan-6 or an Altera Cyclone IV. Step 2: Coding the ULA in HDL (Verilog/VHDL)
Designing a retro computer in the spirit of the Spectrum requires understanding these core principles, as outlined in Chris Smith's seminal book The ZX Spectrum ULA: How to Design a Microcomputer . Designing the Video Display Sinclair contracted to create a custom ULA—a semi-custom
. This chip combined disparate logic functions—video generation, keyboard scanning, and memory management—into a single, cost-effective package. Amazon.com The Role of the ULA in ZX Design The ULA was the bridge between the
| Approach | Complexity | Authenticity | Power | Best for | |----------|------------|--------------|-------|-----------| | | High | Cycle-exact possible | ~50mA | Purist, hardware VHDL/Verilog | | RP2040 (Pico) | Medium | Software timing, very good | ~20-30mA | Fast development, USB, LCD drivers | | ESP32-S3 | Medium | Emulated Z80 + ULA | ~80mA | Adding WiFi/BT, OTA updates | | Discrete logic + ATTiny | Very High | Low | Low | Educational breadboard build |
To design a microcomputer inspired by the Spectrum, you must first understand the specific problems the ULA solved. The original system relied on a Zilog Z80A CPU running at 3.5 MHz. The ULA acted as the gatekeeper between this CPU, the system memory, and the video output. 1. Video Generation and Contended Memory