I am writing a Spectrum emulator, however I am finding it difficult to find official or reliable information about the ULA, its functioning and its pins.
Are there official sources documenting its inner workings?
I am writing a Spectrum emulator, however I am finding it difficult to find official or reliable information about the ULA, its functioning and its pins.
Are there official sources documenting its inner workings?
Buy, and study carefully, The ZX Spectrum ULA. The book is the result of opening the chip and reverse-engineering it down to the transistor level.
For your reference, this is the datapath I inferred after reading Chris book. It's the ULA datapath I've used in the ZX-UNO clone. Coloured blocks will help you differentiate what parts are from the original ULA, Timex additions, and ULAplus additions.
Based on the Book title from the accepted answer I found this:
Which leads to this repository:
which is directly accessible without the need to buy or register anything
Look for ula.v
file which is code representing ULA chip by FPGA.