A simple, cycle-accurate Game Boy and Game Boy Color emulator written in C that runs natively and in the browser via WebAssembly.
binjgb is a Game Boy and Game Boy Color emulator written in C that provides accurate hardware emulation. It runs as a native desktop application and can be compiled to WebAssembly for browser-based gameplay, supporting features like rewind, save states, and a built-in debugger.
Developers and retro gaming enthusiasts interested in a portable, accurate Game Boy emulator for desktop use or web embedding, as well as those studying emulation techniques.
It offers cycle-accurate emulation with extensive hardware support, cross-platform compatibility, and unique features like rewind and a visual debugger, all in a simple, embeddable package.
Gameboy emulator implemented in C, that also runs in the browser
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Passes numerous timing tests for high fidelity, as evidenced by the detailed test results linked in the README, ensuring accurate Game Boy hardware simulation.
Compiles to WebAssembly for seamless browser embedding, with provided JavaScript and CSS files for easy integration into web projects, as shown in the embedding section.
Includes rewind, fast-forward, pause, and frame-stepping features, controlled via keyboard shortcuts for enhanced gameplay and debugging flexibility.
Supports INI files for startup settings and customizable web embedding with options for palettes, audio, and on-screen gamepads, detailed in simple.js.
The README describes CGB and Super Game Boy support as 'hacky-but-passable' and 'mostly-there', indicating potential inaccuracies or bugs for these systems.
Requires CMake, SDL2, and git submodules, with additional setup for WebAssembly using emscripten, which can be challenging for developers unfamiliar with these tools.
Lacks a graphical settings menu; configuration relies on editing INI files or JavaScript code, making it less accessible for casual users compared to GUI-based emulators.