binjgb vs PyBoy
binjgb
github.comPyBoy
github.comSide by side
| Figure | binjgb | PyBoy |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Game Boy Emulators | 8.2 (#3) | 7.5 (#13) |
| License | The repository includes an MIT license that permits use, copying, modification, distribution, sublicensing, and sale, subject to its conditions. | The repository includes the GNU Lesser General Public License version 3. |
| Purpose | binjgb is a Game Boy and Game Boy Color emulator implemented in C, with browser support. | PyBoy is a Game Boy emulator written in Python and Cython. |
Plans
In their own words
binjgb
binjgb is a free, open-source emulator for Game Boy, Game Boy Color, and Super Game Boy systems, implemented in C. It runs on Windows, macOS, Linux, and in a browser through WebAssembly. The browser demo lets users upload a game file, and touch-capable devices display an on-screen gamepad. The project describes its timing as cycle accurate and says it passes many timing tests. Supported cartridge controllers include MBC1, MBC1M, MMM01, MBC2, MBC3, MBC5, and HuC1. Users can save and load battery backup data and emulator states to files. Playback options include fast-forward, pause, single-frame stepping, rewind, and seeking to a cycle; audio channels and background, window, and sprite layers can be toggled. The project describes Game Boy Color support as incomplete but passable and Super Game Boy support as mostly implemented. The debugger is marked as a work in progress. Building requires CMake and SDL2, and the debugger uses Dear ImGui. The repository includes an MIT license whose terms permit use, modification, distribution, sublicensing, and sale subject to its conditions.
PyBoy
PyBoy is a Game Boy and Game Boy Color emulator implemented in Python and Cython. It runs from a command line or inside Python programs, supporting automation, testing, and AI experiments. Install it with `pip install pyboy`; documentation links to setup instructions for macOS, Linux, and Windows. The Python interface sends button input, reads memory, and captures screenshots. Its documented hardware-facing API includes the CPU and address space, graphics, audio, cartridge hardware, and input, while leaving internal emulation components and platform-specific window implementations outside the reference. Rendering may be skipped or disabled, and the documentation says parallel instances can improve throughput. PyBoy links to Gym integration instructions and examples for Kirby, Tetris, and Super Mario Land. It supports save states, link cable emulation, and a real-time clock. Supported platforms include Windows 64-bit, macOS, Linux, and Raspberry Pi OS. The project is free under the GNU Lesser General Public License version 3.