GBEmulatorShootout is an automated test comparison project for Game Boy emulators. It runs a suite of accuracy test ROMs across a set of Game Boy emulators and publishes the pass/fail results as a comprehensive table, with screenshots for each test case.
The table of results can be generated locally, but we also regularly update it at https://gbdev.io/GBEmulatorShootout/.
If you'd like to contribute to the project, please read CONTRIBUTING.md.
- Blargg's tests
- Gekkio's Mooneye test suite
- Matt Currie's Game Boy acid tests (dmg-acid2, cgb-acid2, and cgb-acid-hell)
- Lior Halphon (LIJI32)'s SameSuite tests
- ax6's MBC3 RTC tests
- daid's tests
- Ashiepaws' tests (Bully and Strikethrough)
- Matt Currie's Mealybug Tearoom tests
- CasualPokePlayer's tests
- ares
- Beaten Dying Moon
- BGB
- binjgb
- DocBoy
- Emmy
- Emulicious
- Gambatte-Speedrun
- GameRoy
- Goomba Color
- KiGB
- mGBA
- NO$GMB
- PyBoy
- SameBoy
- VisualBoyAdvance
- VisualBoyAdvance-M
- Windows (for running most emulators)
- Python 3.7+
Install the dependencies:
python -m pip install -r requirements-core.txt
python -m pip install -r requirements.txtRun all tests on all emulators:
python main.pyRun only specific tests:
python main.py --test blargg --test mooneyeRun only on specific emulators:
python main.py --emulator mgba --emulator sameboyRun only tests for specific Game Boy models:
python main.py --model DMG # Original Game Boy
python main.py --model SGB # Super Game Boy
python main.py --model CGB # Game Boy ColorGenerate emulator and test metadata JSON files:
python main.py --dump-emulators-json --dump-tests-jsonBuild the HTML report:
python build.py --emulators emulators.json --tests tests.json --results-dir . --output index.htmlGBEmulatorShootout is released under the MIT license.