GAME BOY COLOR EMULATOR
MegaBoy
MegaBoy is an open-source, cross-platform emulator for the Nintendo Game Boy and Game Boy Color written in C++. It implements cycle-accurate SM83 CPU and PPU emulation, supports common MBC mappers (including RTC for MBC3), save files and save states, optional boot ROMs, a built-in debugger, and both desktop and web builds.

WHY IT MATTERS
Why use MegaBoy?
MegaBoy is a relatively young, actively developed Game Boy / Game Boy Color emulator focused on accuracy (cycle-accurate CPU/PPU) and developer tooling (built-in debugger). It offers both desktop executables and a web version, supports standard cartridge mappers and RTC, and aims for good compatibility while remaining easy to build from source using CMake.
BEST FOR
Best for
Users who want an open-source, self-built Game Boy / Game Boy Color emulator with cycle-accurate internals and an integrated debugger, or those who want to try a web-hosted build without installing software locally.
The people behind MegaBoy
History & status
MegaBoy is developed publicly on GitHub by the user MeGaL0DoN. The repository contains several hundred commits and active recent activity. The README documents goals (cycle-accurate SM83 CPU and PPU), features implemented, and planned features (audio accuracy improvements, additional mappers, gamepad support, optional Super Game Boy support). Releases are published on the repository's Releases page. The project is MIT licensed. As of the last repository snapshot used to prepare this profile the project is maintained and provided with both desktop and web builds; issues and feature requests are tracked through the repository issue tracker.
What MegaBoy supports
- Windows (desktop build)
- Linux (desktop build)
- macOS (desktop build, via CMake/Visual Studio/IDE builds)
- Web (Emscripten build — runs in browser)
Download and availability
OFFICIAL DOWNLOADS
Get MegaBoy
Official builds and release binaries are published on the project's GitHub Releases page. Source code and tags are available from the main repository; the project uses submodules so cloning with –recursive is required to obtain all dependencies.
Get MegaBoy ↗DOCUMENTATION
Official documentation
Read the official configuration, compatibility, and troubleshooting material before changing advanced options.
Read official documentation ↗MegaBoy setup guide
Setup note: Below are practical, emulator-specific setup and usage instructions for both desktop and web builds. This guide assumes a basic familiarity with command-line tools and building CMake projects. It intentionally omits any copyrighted ROMs, BIOS/boot ROM files, or other commercial/firmware files — MegaBoy will accept optional boot ROM files if you provide them yourself.
- 1) Obtain the code or a release: Preferred: download a release archive or installer from the project's GitHub Releases page. To build from source, clone the repository with submodules: git clone –recursive https://github.com/MeGaL0DoN/MegaBoy
- 2) Desktop build prerequisites: Install CMake (version compatible with your OS), a C++17-capable compiler (MSVC/Visual Studio on Windows, GCC/Clang on Linux/macOS), and development packages for the listed libraries (GLFW, glad, ImGui, miniaudio, mINI, miniz, nativefiledialog-extended). The project relies on these libraries via submodules; ensure submodules are present (the repository requires –recursive) or initialize them with git submodule update –init –recursive.
- 3) Build (desktop, general CMake flow): From the repository root: create a build directory (mkdir build && cd build), run cmake .. to configure, then build (cmake –build . –config Release or use your IDE to configure and build). On Windows you can open the generated Visual Studio solution. On Linux/macOS use make or ninja depending on your generator. If a dependency is missing, install the system package or ensure the submodule for that library is initialized.
- 4) Running the desktop build: After building the executable, start MegaBoy from the build output directory or the provided release binary. Load a ROM using File → Load or drag-and-drop a ROM file into the window. Save files (.sav) produced are compatible with other emulators (README states compatibility with SameBoy). Save states use the emulator's own .mbs format.
- 5) Optional boot ROMs (DMG/CGB): MegaBoy supports optional Game Boy boot ROMs: dmg_boot.bin and cgb_boot.bin. These are not provided with the project — if you own the original boot ROMs you may supply them and load them via drag-and-drop or open. The emulator can run games without these boot ROMs; using them provides authentically-sequenced boot behavior.
- 6) Web build (Emscripten): To run the web build locally or build your own web version, install the Emscripten SDK and activate its environment, then configure CMake to use the Emscripten toolchain file. The README notes specific Emscripten integration; building for web will produce an HTML/JS bundle that can be served or opened locally. The project's hosted web demo also demonstrates running the emulator in a browser without a local build.
- 7) Debugger, tools, and advanced options: MegaBoy includes a built-in GUI debugger intended for developers. Use the emulator's Debugger panel to inspect CPU state and step execution. The README lists features such as cycle-accurate PPU, Game Genie/GameShark cheat entry, shader support (LCD, upscaling, color correction), fast-forward, zipped ROM loading, and screenshot capture. Consult the project's README and settings dialog for full controls and configuration options.
- 8) Common troubleshooting: If the build fails, verify submodules were cloned and that required development packages are installed. On Linux/macOS install library development headers (GLFW, libasound/pipewire equivalents for audio if needed). On Windows, use the Visual Studio generator in CMake and ensure PATHs for required tools are set. For Emscripten builds make sure the emsdk environment is activated before running CMake. If audio or graphics problems occur, try different backend/driver settings or build in Debug to check logs and open an issue on the repository with reproducible steps.
Software reminder: MegaBoy is source-available under the MIT License. The emulator accepts optional boot ROMs which must be supplied by the user; commercial games, firmware, and BIOS files are not included or provided by the project.
Sources and further reading
Detailed guides and tutorials
Explore step-by-step guides for MegaBoy as they are published.
Retro Replay Retro Gaming History, Reviews & Emulation
