ZX Spectrum SLOMO+
Recently, I have been reverse engineering ZX Spectrum interfaces. To date I have done the Cheetah Sweet Talker, Currah uSpeech, Nidd Valley Slomo, Dk'Tronics Game Controller (Joystick & Slomo) and a couple of Kempston joystick interfaces. When researching the background of the Nidd Valley Slomo, I read in a magazine that the device allowed the user to slow down the Spectrum enough to allow for screen updates to be monitored on a byte by byte basis. Not an entirely accurate claim. The device is great for slowing game speed but byte by byte is not possible.
The Nidd Valley device consists of a latch enabled oscillator with variable duty cycle which is connected, via an open collector transistor, to the Z80 /BUSREQ line. When the /BUSREQ line on the Z80 is taken low, the CPU completes execution of the current instruction and then puts all buses into a high Z state to enable an external device to take control of them. At the start of each instruction fetch cycle, the Z80 takes the /M1 line low to indicate an opcode fetch. I have used this to trigger a monostable, the output of which pulls the /BUSREQ line low via a open collector transistor. The circuit effectively inserts a delay after each instruction which therefore means that, in most cases, byte by byte screen updates are visible.
The Nidd Valley device consists of a latch enabled oscillator with variable duty cycle which is connected, via an open collector transistor, to the Z80 /BUSREQ line. When the /BUSREQ line on the Z80 is taken low, the CPU completes execution of the current instruction and then puts all buses into a high Z state to enable an external device to take control of them. At the start of each instruction fetch cycle, the Z80 takes the /M1 line low to indicate an opcode fetch. I have used this to trigger a monostable, the output of which pulls the /BUSREQ line low via a open collector transistor. The circuit effectively inserts a delay after each instruction which therefore means that, in most cases, byte by byte screen updates are visible.
ZX Spectrum ROM Board
I have recently developed a couple of Spectrum add-on projects that connect to the expansion port of the computer. This can be awkward since wires need to be soldered or clipped to an edge connector which can become time consuming. A set of DuPont wires available on ebay would make life a lot easier if a suitable edge connector breakout board were available. so I created one with a ZIF socket for an external ROM. All connections are readily accessible on SIL headers. A set of Female to Male DuPont leads allow easy connection to breadboard.