I/O Controller
To design your own retro computer, start with the video signal. The Spectrum’s ULA produced a signal. I/O Controller To design your own retro computer,
Because the RAM cannot be accessed by two devices simultaneously, the ULA halts the Z80's clock temporarily—typically during the first T-state of memory reads or writes—whenever it needs to fetch data for the 256x192 pixel screen. : Assign strict memory addresses or I/O ports
: Assign strict memory addresses or I/O ports for peripheral inputs like keyboards, gamepads, and audio generators. When the Z80 tries to access the same
The Spectrum’s ULA implements a non-transparent memory access. The Z80 runs at 3.5 MHz, but the ULA reads video memory at 7 MHz during active scanlines. When the Z80 tries to access the same address range ($4000–$7FFF), the ULA:
The ULA acts as the central coordinator or "traffic cop" of the ZX Spectrum, sitting between the Zilog Z80 CPU, the system RAM, the ROM, and external peripherals. It continuously multiplexes functions to perform four primary duties.
The ULA (Uncommitted Logic Array) was a form of semicustom integrated circuit. It was "uncommitted" because it consisted of a generic matrix of transistors that were only connected (or "committed") to perform specific logic functions during the final layer of manufacturing. The Role of the ULA