GomeBoy is my attempt at creating a fairly accurate and reasonably performant Game Boy emulator written with golang. It is still currently in the very early stages of development, but it is already capable of running quite a few games with varying degrees of success.
- GameBoy (DMG) and GameBoy Color (CGB) support
- SRAM and RTC support
- Run DMG games with CGB colorization palettes (without using a boot ROM)
- Automated testing against a large number of test ROMs
- Peripherals
- Cartridge Mappers
- MBC1
- MBC2
- MBC3
- MBC5
- ROM
- Cheat Carts
- Game Genie
- GameShark
- Serial
- Printer
- Link Cable
- Local Multiplayer (needs reimplementation)
- Cartridge Mappers
- Platform-agnostic (runs on Windows, Linux, and Mac)
Test Suite | Pass Rate | Tests Passed | Tests Failed | Tests Total |
---|---|---|---|---|
acid2 | 75% | 3 | 1 | 4 |
bully | 50% | 1 | 1 | 2 |
blarrg | 100% | 43 | 0 | 43 |
little-things-gb | 100% | 4 | 0 | 4 |
mooneye | 98% | 112 | 2 | 114 |
samesuite | 75% | 59 | 19 | 78 |
scribbltests | 100% | 5 | 0 | 5 |
strikethrough | 0% | 0 | 2 | 2 |
Visit the tests directory for more information.
- build instructions
- github actions
- improve error handling and logging
- expose more emulator options to the user
- reimplement link cable & local multiplayer