// the find
raphamorim/gameboy
The Gameboy emulator that runs everywhere (Terminal, Web, Desktop)
A Game Boy (DMG) emulator written in Rust that targets three render targets: terminal (via TUI), desktop (native window), and web (via WebAssembly/npm package). Explicitly a study project — the author says so upfront. Good for learning emulation or embedding GB playback in a Rust or JS app.
The three-target architecture (terminal/desktop/WASM) with a clean RenderMode enum is a genuinely nice design — one core, three frontends. MBC support covers MBC0–MBC5, which handles the majority of commercial cartridges. The npm package `lr35902` means you can drop GB playback into a web app without writing any Rust. The README's memory map and CPU internals are unusually thorough for a side project.
Blargg test pass rate is poor — only cpu_instrs passes; halt bug, bits tests, and CGB sound all fail, which means timing accuracy is shaky and some real games will glitch or hang. The GPU section is literally a TODO in the README. No save state or battery-backed RAM persistence, so games like Pokémon lose progress on exit. Last meaningful activity appears to be 2022 despite the 2025 push date, and 27 forks on 884 stars suggests it's used as reference material rather than something people actively build on.