The ZX Spectrum Reverse Engineering and Clone Desgin Blog

Harlequin

A site dedicated to the reverse engineering of the ZX Spectrum and related projects.

< 68 of 68

ULA Replacement Success

May 18, 2008

I hooked up a simple cassette interface to the CPLD, consisting of an a EAR lead connected to an inverter via a 4.7uf capacitor, with a 1K pull-up on the gate input. The gate output is connected to the 5v tolerant EAR IO input on the CPLD. The inverter is just a safety measure to make sure that no more than 5v is fed to the CPLD.

I used this interface to load Philip Kendall's latest fusetest suite. The white cassette lead can be seen to the left in the photo below.

Several other tests were carried out including floatspy, Shock MegaDemo, Sidewize and AquaPlane. These all worked as intended which is good news, confirming that the CPLD implementation and its dynamic RAM interface demonstrates a true 48K ZX Spectrum ULA behaviour.

The missing functionality is that of the analogue sections, notably the cassette interface and video output. The current design has an equivalent cassette/speaker circuit on the CPLD daughter board, along with a transistor RGB driver - as in the Harlequin. Composite video will be provided by an AD724 RGB to PAL/NTSC encoder chip. There should be room for this on the daughter board but if not, a it can reside on a separate board that can be located near the modulator.

Over the coming days, I will place an order for some AD724 chips and the transistors / passive components required for the cassette interface. Whilst they are on order, I will start laying out the PCB.

Examining my 48K Spectrum collection, I notice that the ULA changes position between the issue 2 and later models. Also, IC25 is sometimes socketed (motherboards that were built with the optional 32K). This may cause some technical difficulties due to the limited height available in a rubber-key case, but the worst outcome is that IC25 will need to be soldered directly to the motherboard. I have some broken CPLD chips and some scrap PCB, so I will prototype the physical board before laying out the tracks.

Once the PCB design is done, I will get a batch made up professionally and bring some dead Spectrum's back to life!