New Build ZX Spectrum – The ROM
We have two options for the ROM, the one in the video uses a custom build ROM, or we can also use a programmable EPROM with a small modification on the PCB.
Option 1 – Custom built ROM
We are using the Switchable ROM from here https://www.retroleum.co.uk/zx-spectrum-chips
This is a simple straight install, and has the added benefit of having a switch on it to enable a diagnosis ROM to test the machine as shown in the build video.
Option 2 – EPROM
The second option is to burn our own ROM, there are numerous benefits doing this including being able to use some custom ROMs such as (standard ROM first):
- https://mdfs.net/Software/Spectrum/ROMImages/48k.rom
- https://github.com/reclaimed/prettybasic
- https://jonathan-cauldwell.itch.io/arcade-game-designer
- https://mdfs.net/Software/Spectrum/ROMImages/Collier/48imc.rom
- https://mdfs.net/Software/Spectrum/Harston/
- https://mdfs.net/Software/Spectrum/ROMImages/Owen/plus4.rom
In the original Spectrum ROM, pin 1 is unused, but on an EPROM, it serves as the Programming High Voltage pin. For standard READ-only operations, connect pin 1 to Vcc. To do this, solder a wire link from pin 1 to pin 28 on the back of the Spectrum PCB.
Create an OR gate with inputs from /ROM_CS and /MREQ and output to EPROM pin 20. You can use a simple diode and resistor for the OR gate using a spare 1N4148 diodes and an 10K resistor.
Connect EPROM pin 27. For the 27C256 chip we can add 2 different ROM files and it can serve as a “ROM bank select,” as the chip has a 32KB size, and pin 27 functions as Address Line A14. When connected to GND, Bank 0 ($0000-3fff of EPROM) is selected, and when connected to Vcc, Bank 1 ($4000-7fff of EPROM) is selected. If desired, you can install an SPDT switch for a simple selection method.