The ZX Spectrum Reverse Engineering and Clone Desgin Blog


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

< 2 of 68 >

Project Goals

Feb 02, 2007

The goals of this project are quite straight forward.

  1. Achieve 100% 48K Spectrum compatibility:
    • Accurate video/T-state timings
    • Video memory contention delay
    • Floating bus (aka reading from an unknown port)
  2. Produce RGB with TV and VGA sync signals (to allow a normal TV or computer monitor to be used).
  3. Use nothing but off-the-shelf discrete components.
  4. Allow design to be extended to 128K spectrum.

These goals appear obvious at first glance, however it is easier to design a clone that does not accurately mimic the video timings and memory contention etc of a real Spectrum, in which case there will be a number of ZX Spectrum programs that will not run correctly.

We could decide that this is an acceptable trade-off for simplicity, however I have written a number of games that require the floating bus 'bug' that I'd like to run on the clone, and besides, there's nothing like rising to the challenge!!!

In the following sections I will look in detail at the ZX Spectrum design and behaviour, starting with the ULAs video generation...