A Gameboy emulator written in Golang to further my understanding of emulation development in general, and as a fun challenge. It's very much a WIP, but with the exception of sound and some MBC's, most games run fine. Since this was a learning project, the emulator is not cycle-accurate nor fast.
- Passable emulation of most titles
- Supports MBC1, MBC2 and MBC3 ROM mappers as well as Battery Buffered RAM
- Some debug output and logging capabilities are available
- Has controller support
Title | In-game |
---|---|
Debugger |
---|
cpu_instrs | cpu_timing |
---|---|
Purpleboy also passes all MBC1+MBC2 test roms from the mooneye-gb test suite.
- Add SPU
- Add support for more MBC's (namely MBC5)
- CGB support
All of the resources below were extremely helpful during development of the emulator
- wheremyfoodat: An invaluable (and very patient) mentor to me throughout development. Helped me locate and fix numerous pesky bugs.
- The wonderful folks over at the r/emudev discord server :D