The Zx Spectrum Ula- How To Design A Microcomputer -zx Design Retro Computer- =link= Here

This is the ULA’s most famous "quirk." Since the ULA and CPU both need the memory to function, the ULA would "halt" the CPU clock whenever it needed to draw the screen, leading to what programmers call contended memory .

-- Simplified Spectrum ULA video logic process(CLK_14M) begin if rising_edge(CLK_14M) then -- Pixel counter, X and Y position if (H_count < 256) then -- Fetch pixel byte from RAM via address bus pixel_data <= ram_data_out; -- Shift out bits: MSB to LSB pixel_out <= pixel_data(7 - shift_counter); else -- Horizontal sync and border generation pixel_out <= border_color; end if; end if; end process; This is the ULA’s most famous "quirk

The book " The ZX Spectrum ULA: How to Design a Microcomputer = pixel_data(7 - shift_counter)