Skip to content

maxfierke/gogo-gb

Repository files navigation

gogo-gb

a gameboy emulator for funsies

Current status: Games are playable, but slow. Timer and timing not quite right. No audio.

TODO

  • Pass all of Blargg's cpu_instrs ROMs via gameboy-doctor (except 02-interrupts.gb, which isn't verifyable via gameboy-doctor)
  • Implement MBC1
  • Implement MBC5
  • Implement MBC3 (w/o RTC)
  • Implement serial port (w/ option to log to console)
  • Implement timer
  • Pass Blargg's cpu_instrs/02-interrupts.gb ROM (manually verified)
  • Pass Blargg's instr_timing.gb ROM (manually verified)
  • Implement a basic interactive debugger
  • Implement LCD
  • Implement PPU, VRAM, OAM, etc.
  • Implement Joypad
  • Implement SRAM save & restore
  • Implement RTC for MBC3
  • Pass dmg-acid2 test ROM
  • Implement Sound/APU
  • Implement GBC
  • Achieve ~60 FPS

Later/Maybe Never?

Just being realistic about my likelihood of getting to these:

  • Pass Blargg's mem_timing ROMs (manually verified)
  • Pass Blargg's mem_timing-2 ROMs (manually verified)
  • FIFO-based rendering PPU (currently scanline)
  • Implement emulation for every known DMG bug
  • Implement SGB mode
  • Implement MBC2
  • Implement MBC6
  • Implement MBC7
  • Implement MBC1M, MMM01, other multicarts, or Hudson carts
  • Implement (any) accessories

Inspiration Material

About

a gameboy emulator for funsies

Resources

License

Stars

Watchers

Forks

Releases

No releases published