a gameboy emulator for funsies
Current status: Games are playable, but slow. Timer and timing not quite right. No audio.
- Pass all of Blargg's
cpu_instrs
ROMs viagameboy-doctor
(except02-interrupts.gb
, which isn't verifyable viagameboy-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
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