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?

  • There isn't much documentation about it. I'm not a spectrum guy, but from what I can tell, it's a completely custom ASIC, and isn't documented very well. Also, Google is your friend, my friend Commented Apr 19, 2016 at 20:50
  • 2
    Downvoter, please explain why you don't like, it's better to discuss in these early times.
    – Sklivvz
    Commented Apr 19, 2016 at 20:59
  • @ShaheAnsar: is actually the opposite: it's not a completely custom ASIC, but an uncommited logic array, and it's documented pretty well. Commented Apr 19, 2016 at 23:14
  • @mcleod_ideafix Interesting... Commented Apr 21, 2016 at 21:44
  • What about the Zx Spectrum Complete Disassembly? I still have my copy :)
    – Fandango68
    Commented Apr 24, 2017 at 6:47

3 Answers 3


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.

  • Ah interesting. I was not sure it was a good resource!
    – Sklivvz
    Commented Apr 19, 2016 at 21:26
  • 4
    It's actually the best source :) Commented Apr 19, 2016 at 23:15
  • 3
    Bit late to the join-in here but I found this book absolutely amazing - it rekindled an interest in the Spectrum and got me thinking about hardware. It's incredibly technical in places, and fascinating. Can't recommend it enough.
    – robsoft
    Commented Jul 28, 2016 at 20:13
  • Wasn't Chris Smith the author, also the programmer of Manic Miner?
    – Fandango68
    Commented Apr 24, 2017 at 6:46
  • 1
    No, that was Matt Smith.
    – Tommy
    Commented Sep 20, 2017 at 12:46

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.

Datapath Flow Chart

  • This is great, but not an answer by itself. Is there a website that presents this and other details? Commented Nov 16, 2016 at 21:04
  • Based on this datapath, I wrote a complete Verilog description of the ULA. It is available at the repository of the ZX-UNO project ( www.zxuno.com ) . An earlier version of it is also available at Opencores ( opencores.org/project,zx_ula ) . All in all, the definitive reference is the above mentioned book by Chris Smith. Commented Nov 17, 2016 at 10:26

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.

  • 1
    That's my project, the one I mentioned in the comment to my answer. Commented Sep 24, 2017 at 11:37
  • @mcleod_ideafix :) heh did not realize that. Should I delete this?
    – Spektre
    Commented Sep 24, 2017 at 12:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .