Karabas-128
A ZX Spectrum 128K replica with a real Z80 that fits the original 48K rubber-key case
- Chip
- Z80 + Altera EPM7128STC100
- Video
- RGB, PAL
- Memory
- 128 KB
- Latest revision
- B2
- License
- WTFPL

Karabas-128 is a ZX Spectrum 128K replica with a real Z80 CPU and almost all the logic in an Altera EPM7128STC100 CPLD. The board is designed to fit the original ZX Spectrum 48K rubber-key case.
The idea was to make a cheap 128K clone with a minimum of components.
Building it
Start with the SMD parts. The CPLD needs hot air or a soldering station with a “mini-wave” tip. Do not put the DIP chips into their sockets before the first CPLD programming. The firmware is uploaded over JTAG with a USB Blaster, and a correctly assembled board needs no further adjustment.
Screen modes
With one diode added, the board switches between Pentagon and ULA48 modes (with contended memory emulation): RESET+1 and RESET+2. Thanks to solegstar from zx-pk.ru.
Credits
The CPLD design is based on Speccy2007 by syd and its single RAM chip version by .jackson. Some parts of the schematic come from Superfo’s Harlequin 48K rev.G.
Files and documentation
- Assembly guide
- Firmware files CPLD
- Schematic rev.B2
- Gerbers rev.B2
- Interactive BOM rev.B2
- Errata rev.B
- Forum thread zx-pk.ru
Photos and renders



Videos
karabas 128 + karabas-scandoubler
The Deep by sibCrew @ Karabas 128 trough Medusa
Karabas 128
Karabas 128 + Nano SD
Karabas 128 Nano SD
Karabas, klon ZX 128 za wschodniej granicy.
More videos (5)
Videos by the author and the community on YouTube, in their original languages.
PCB changelog
Karabas-128 Revision History:
Revision A
First working revision of karabas-128. See ERRATA for bugs and issues )
Revision B
Fixed bug in incorrectly routed RGB connector (thanks to Nika that reported about this issue)
Rerouted power lines, LM8596 should be more stable
Added inductor + cap filter for AD724 to reduce digital noise
Added a trimcap to adjust AD724 frequency
Replaced TL712 tape in module with CD4069 (thanks to tank-uk)
Added 3V3 regulator to support EPM3128 CPLD
Added LED to indicate power on
Revision B1
CLK_BUS signal on ZX BUS edge connector is routed via free IC4 inverter (thanks to Ricardo Saraiva with testing and investigating the bug source)
Removed 3V3 regulator, because EPM3128 has less i/o lines than EPM7128, so - unsupported
Added diode for mode switch feature (RESET+1, RESET+2, etc - thanks goes to solegstar)
Revision B2
Import project to Kicad
Small cosmetics changes