23

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?

7
  • 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 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
    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. Apr 19, 2016 at 23:14
  • @mcleod_ideafix Interesting... Apr 21, 2016 at 21:44
  • What about the Zx Spectrum Complete Disassembly? I still have my copy :)
    – Fandango68
    Apr 24, 2017 at 6:47

3 Answers 3

31

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.

6
  • Ah interesting. I was not sure it was a good resource!
    – Sklivvz
    Apr 19, 2016 at 21:26
  • 4
    It's actually the best source :) 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
    Jul 28, 2016 at 20:13
  • Wasn't Chris Smith the author, also the programmer of Manic Miner?
    – Fandango68
    Apr 24, 2017 at 6:46
  • No, that was Matt Smith.
    – Tommy
    Sep 20, 2017 at 12:46
14

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

2
  • This is great, but not an answer by itself. Is there a website that presents this and other details? 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. Nov 17, 2016 at 10:26
4

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.

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.