.gitea/workflows | ||
groovylight | ||
litex | ||
sim | ||
src/groovylight | ||
tests | ||
verilog | ||
.gitignore | ||
flake.lock | ||
flake.nix | ||
Makefile | ||
pdm.lock | ||
pyproject.toml | ||
README.md |
Groovylight
A GroovyMiSTer to HUB75 display platform. Play retro games in pixel-perfection!
(This project is incomplete. More documentation and screenshots will be added as it is developed)
Features
- Networked display reciever compatible with Groovy-based protocols for low-latency graphics.
- Supports 5 "strings" of HUB75 panels, enabling 320x256 maximum display resolution when using 128x64 panels.
- Supports complex display transforms, such as rotation.
Building your Groovylight
The hardware involved in making a groovylight is simple: It uses the Colorlight 5A-75B Receiver board as the driver and supports various HUB75 displays. When thinking about displays, consider target size, display resolution, and panel layout. Due to RAM limitations, it required that the total number of pixels per-row does not exceed 256. This means that if you use a 128x64 panel, you can have up to 2 of them in series. If you're using a 64x64 panel (not recommended for most setups), you can have 4. A total of 5 strings of HUB75 panels are supported, but they must be the same size.
You can see the setup of a 240p-size display below. It uses 10 128x64 P2.5 panels. One string (2 panels) is rotated on the edge to get 320 pixels, and there are 8 extra pixels on the top and bottom.
Simulator
A Verilator-based simulator is used for behavioral testing but can also be used to experiment with display layouts.
The sources can be found in sim/
.