Skip to content
Simple C++ Game Boy emulator for WebAssembly
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
.gitignore
Makefile
README.md
apu.cpp
apu.h
base.html
blip_buf.c
blip_buf.h
cpu.cpp
cpu.h
gameboy.cpp
gameboy.h
joypad.cpp
joypad.h
main.cpp
memory.cpp
memory.h
ppu.cpp
ppu.h
screenshots.png
timer.cpp
timer.h
workbox-config.js

README.md

Frame Boy

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.

Screenshots

screenshots

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.

You can’t perform that action at this time.