Sinclair Spectrum on the Retro Board
- aurelianlazarut6
- Apr 10
- 2 min read
Updated: Apr 14
This article is about the first and very rough at the edges implementation of the Sinclair Spectrum on the Retro Board that I built. This was a design which originated as an argument on a forum where I made a claim that I can put the whole Spectrum on a small FPGA and some users have challenged me to do it ... the rest is history.
In this article I'm releasing the design (initially was done for the ZedBoard) is far from perfect but functional.
The quick feature list
Processor T80 (a VHDL implementation of Z80 from Open Cores) - running at 62 MHz (or close)
USB Low speed (1.5Mbit/s) Keyboard interface
Display VGA (4x the original resolution 8 colours) - border is not implemented.
RAM 64Kbyte (16KB are initialized with the original Sinclair Spectrum ROM)
Some annoying things (will fix them in the future) - because everything runs much faster the keyboard is difficult to use (you need to type quick) - reding from the keyboard is driven by an INT signal that is generated by the Video controller on a complete frame (60Hz) and this is way to fast for evaluating the keyboard. Easy to fix when I get some time.
The keboard mapping is done mased on the QWERTY position of the PC so you'll probably need to have the layout of the original Sinclair Keypad in front of you.
CAPS-SHIFT (spectrum) is mapped to left SHIFT on the PC Keyboard
SYMBOL-SHIFT (spectrum) is mapped to right SHIFT on the PC Keyboard, reference picture below (from here https://retrorepairsandrefurbs.com/2021/07/06/sinclair-zx-spectrum-48k-rubber-key-restoration/)

The port where you need to connect the PC Keypad is USB1 (top connector)
NOTE - make sure the S1 switch is pulled towards the edge of the PCB (this switch is a reset)
How you start
Set the dip switches on the board into JTAG position
Make sure S1 switch is down (towards the edge of the board)
Connect a VGA monitor and USB low speed (cheap) keyboard on the TOP connector marked USB1/USB2
Connect the POWER (12V)
Connect the micro USB cable to the JTAG port
Start Vivado -> Hardware Manger -> Connect to target -> Program The bitstream named computer_z80.bit (in the design files a created a directory Demo_bitstream where you can find the bitstream if the tools are not pointing automatically to the right file)
You should see an initial screen on the VGA (grey background black text)
Hit space on the Keyboard you should see a change on the screen if not re-insert the keyboard and/or repeat step #6 ie. reprogram the fpga.

Have fun, all the code is in the zip below (tools used Vivado 24.2.1)
A quick video on how to use open/use the project.
Have Fun!
In case you want to buy your Spartan7 Retro Computer board you can check our Shop.
Comments