A Game Boy emulator written in Go.
- Go 1.23 or later
# Build the emulator
make build
# Run a Game Boy ROM with SDL2 (must have SDL2 installed)
make run-sdl2 path/to/rom.gb
# Run tests
make test
# Run all tests, including snapshot tests for Blargg's test suite
make test-all
Still a work in progress. Can currently run some simple games, and passes basic test roms for rendering/CPU behavior, see the Test ROMs section below.
Simple games running in the emulator:
ROMs are collected from the excellent c-sp’s gameboy-test-roms collection. Huge thanks to the original authors (Blargg, Matt Currie and more) and maintainers of these suites.
These test ROMs are run as part of
make test-integration
A snapshot of the screen is taken at the end of each test, and compared to a reference snapshot stored in test/integration/testdata/snapshots
.
Passing Tests (with generated snapshots)
See the license file for license rights and limitations (MIT).