Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/strwdr/MaximatorZXSpectrum
ZX Spectrum implementation for maximator board
https://github.com/strwdr/MaximatorZXSpectrum
board fpga hdl max10 maximator nios soc verilog zx zx-spectrum
Last synced: about 2 months ago
JSON representation
ZX Spectrum implementation for maximator board
- Host: GitHub
- URL: https://github.com/strwdr/MaximatorZXSpectrum
- Owner: strwdr
- License: apache-2.0
- Created: 2022-12-06T10:16:08.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2023-01-17T14:30:42.000Z (almost 2 years ago)
- Last Synced: 2024-07-29T20:37:44.981Z (5 months ago)
- Topics: board, fpga, hdl, max10, maximator, nios, soc, verilog, zx, zx-spectrum
- Language: SystemVerilog
- Homepage:
- Size: 268 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# MaximatorZXSpectrum
Quartus ZX Spectrum 16k project for KAMAMI Maximator (MAX10) evaluation board![ShieldWithMaximatorPhoto](https://imgur.com/GexztU0.png)
The goal of the project was to run ZX Spectrum on affordable FPGA evaluation board "Maximator" made by Polish company KAMAMI, using as much of its capabilities as possible, and extend them with an expansion shield.
I started with Goran Devic's ZX Spectrum implementation from A-Z80 repository, and tweaked it to match Maximator board.
Maximator-compatible shield made for that project that can be found on a different repository:
https://github.com/starwader/MaximatorZXSpectrumShield
## Technical details
- Altera MAX 10 10M08DAF256C8GES FPGA chip
- 16k FPGA VRAM
- 16k MIST ROM
- HDMI audio (it might not be good idea to use audio on hi-end speakers - be careful with that)
- HDMI 640x480 video output
- VGA 640x480 8-color video output (Maximator VGA support only binary RGB)
- HDMI hotplug detection - automatic VGA/HDMI switching
- PS/2 keyboard support
- alternative color palette switch for HDMI
- various turbo modes on F1-F4 keys (up to 4x)
- external speaker connector
- EAR connector - driven by LM393 comparator
- tape loading sound on/off switch#### Simplified circuit
![](https://i.imgur.com/X4bzzky.png)#### HDL modules hierarchy/connections
![](https://i.imgur.com/zn9eMDx.png)#### Available color palettes (Test Card)
![](https://i.imgur.com/8AmzASd.png)## To be done
- extend memory to 48k/128+ with external SRAM
- fix turbo tape loading (for now loading programs works only for 1x tape speed)
- add joystick connector (maybe through USB/UART?)
- add SD card support (for ROM, and program selection - RAM snapshots?)
- use external multiplexer for switches
- add settings screen overlay
- map switches to keyboard buttons to free up some pins
- add 16:9 ratio resolution mode
- add MIC connector (HDMI is better in most cases)## Used modules and links
MIST Repository (ZX Spectrum ROM):
https://github.com/sorgelig/ZX_Spectrum-128K_MIST
A-Z80 processor implementation repository, along with ULA and ZX Spectrum de1 implementation:
https://github.com/gdevic/A-Z80
Shield designed specifically for Maximator board:
HDMI Module:
https://github.com/hdl-util/hdmi
Maximator website:
https://maximator-fpga.org/
## Gallery:
![](https://i.imgur.com/qGC39a9.png)
![](https://i.imgur.com/Q0c3y8E.png)
![](https://i.imgur.com/84yosS4.png)