Simple C++ Game Boy Emulator for WebAssembly
This project replicates the behavior of early revision Game Boy (DMG) hardware in C++. It was intended as a learning experience, and does not intend to set a standard for accuracy, performance, or features. Nevertheless, it supports stereo sound, passes all of blargg's cpu instruction and instruction timing tests, and boots most MBC1 cartridges. Check it out at cqcumbers.com/frame_boy.
- Gekkio's Docs & notes where possible
- AntonioND's Docs & Pandocs otherwise
- Gameboy sound hardware for APU info
- Blargg's test roms for debugging cpu instructions
- Sameboy for comparing memory and VRAM
- awesome-gbdev includes many other resources
Note that AntonioND's MBC1 description is incorrect (follow Gekkio), and Gameboy sound hardware's length counters are wrong (follow Pandocs).
Also many thanks to izik1, xiphias, Thief, Mask of Destiny and others on the Emulation Development Discord for their help.