Update README.md
Some checks failed
Verilator Unit Tests / Test (push) Failing after 4m57s

This commit is contained in:
saji 2024-05-23 06:21:48 +00:00
parent 7c7ccf81fc
commit c7fde88baf

View file

@ -1,11 +1,28 @@
# ECP5 OSS Flow Template # Groovylight
This repo contains a basic setup for ECP5 development. A GroovyMiSTer to HUB75 display platform. Play retro games in pixel-perfection!
It's designed to serve as a modest baseline, more can be added easily
to adapt to each project.
Features: (This project is incomplete. More documentation and screenshots will be added as it is developed)
- Nix flake for toolchains and dependencies
- Test infra
- Github Actions Workflow
## 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/`.