Kappamalone / PurpleBoy

A fun WIP gameboy emulator to improve my understanding of low-level computer concepts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PurpleBoy

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.

Features

  • 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

Screenshots

Title In-game
Debugger

Tests

Blaarg's Test roms

cpu_instrs cpu_timing

Purpleboy also passes all MBC1+MBC2 test roms from the mooneye-gb test suite.

TODO

  • Add SPU
  • Add support for more MBC's (namely MBC5)
  • CGB support

Resources used

All of the resources below were extremely helpful during development of the emulator

Documentation:

Blogs:

Emulator Logs:

Other GB Emulator's Which I Referenced:

Credits

  • 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

About

A fun WIP gameboy emulator to improve my understanding of low-level computer concepts


Languages

Language:Go 100.0%