Skip to content

gbdev/GBEmulatorShootout

Repository files navigation

GB Emulator Shootout 🎮🔫

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.

Test suites

Tested emulators

System requirements

  • Windows (for running most emulators)
  • Python 3.7+

Usage

Install the dependencies:

python -m pip install -r requirements-core.txt
python -m pip install -r requirements.txt

Run all tests on all emulators:

python main.py

Run only specific tests:

python main.py --test blargg --test mooneye

Run only on specific emulators:

python main.py --emulator mgba --emulator sameboy

Run 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 Color

Generate emulator and test metadata JSON files:

python main.py --dump-emulators-json --dump-tests-json

Build the HTML report:

python build.py --emulators emulators.json --tests tests.json --results-dir . --output index.html

License

GBEmulatorShootout is released under the MIT license.

About

A comparison of Game Boy emulators' accuracy on hundreds of test ROMs

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors