mooneye-gb - A Game Boy research project and emulator written in Rust

  •        35

Mooneye GB is a Game Boy research project and emulator written in Rust. The main goals of this project are accuracy and documentation. Some existing emulators are very accurate (Gambatte, BGB >= 1.5) but are not documented very clearly, so they are not that good references for emulator developers. I want this project to document as clearly as possible why certain behaviour is emulated in a certain way. This also means writing a lot of test ROMs to figure out corner cases and precise behaviour on real hardware.



Related Projects

goboy - Multi-platform Nintendo Game Boy Color emulator written in go

  •    Go

GoBoy is a multi-platform Nintendo GameBoy and GameBoy Color emulator written in go. The emulator can run the majority of GB games and some CGB games. There is also colour and sound support. This emulator was primarily built as a development exercise and is still work in progress. Please feel free to contribute if you're interested in GameBoy emulator development. The program includes debugging functions making it useful for understanding the emulator operation for building one yourself. These functions include printing of opcodes and register values to the console at each step (although will greatly slow down the emulation) and toggling of individual sound channels.

mgba - mGBA Game Boy Advance Emulator

  •    C

mGBA is an emulator for running Game Boy Advance games. It aims to be faster and more accurate than many existing Game Boy Advance emulators, as well as adding features that other emulators lack. It also supports Game Boy and Game Boy Color games. Up-to-date news and downloads can be found at

GIOVANNI - A Gameboy Emulator for the Apple Watch

  •    Swift

A Gameboy Emulator for the Apple Watch. Games are loaded from your iPhone's documents directory. In iTunes, drop .gb or .gbc files into the Giovanni app documents folder, and they'll show up automatically on your Apple Watch. When you play a game for the first time, it'll download to your watch and get cached in the watch's documents directory. Subsequent loads are immediate.

coffee-gb - Gameboy emulator in Java 8.

  •    Java

The jar file will be available in the ./target directory. Play with ←, ↑, ↓, →, Z, X, Enter, Backspace.

Java GB

  •    Java

A Java-based Gameboy and Gameboy Color emulator for mobile devices and PCs. If you want to play Gameboy games on your mobile phone you should try this emulator. For more information see the Wiki

wasmBoy - Gameboy / Gameboy Color Emulator written for Web Assembly using AssemblyScript

  •    Javascript

Project is still < 1.0.0. Most games are playable, but the emulator is still not very accurate. Expect bugs. Project is still < 1.0.0. Most games are playable, but the emulator is still not very accurate. Expect bugs.


  •    C

Command-line-driven multi-system emulator utilizing OpenGL and SDL.

GameLad - :tv: An (almost) fully featured Game Boy emulator.

  •    C++

This is a gameboy emulator that I made with tyren in my early college days. It supports Tetris and some other games with a few minor issues. The emulator passes all CPU instruction tests, as well as the instruction timing tests. There isn't audio support.



Nintemulator is a work in progress multi-system emulator. Plans for emulated systems are NES, SNES, N64, GB/GBC, GBA, and NDS.

iBoy - Gameboy Emulator For iPod

  •    C

This is a gameboy emulator that runs on iPods with iPod Linux ( It is based on gnuboy, a gpl gameboy emulator written in C, and uses dynamic binary translation.

LuaGB - A gameboy emulator written in pure Lua. Work in progress.

  •    Lua

A gameboy emulator written in Pure Lua. Approaching feature completeness, but still a work in progress. This is designed to be fairly cross platform, and currently consists of a platform-independent gameboy module which contains the emulator, and a Love2D interface, presently the only supported platform.

php-terminal-gameboy-emulator - A PHP Terminal GameBoy Emulator

  •    PHP

It's based on the GameBoy JS Emulator.

emulator - Emulator of NES, Super Nintendo, Sega Mega Drive, GameBoy video consoles

  •    ActionScript

NESbox is an emulator of NES, Super Nintendo, Sega Mega Drive and GameBoy video consoles, built on Adobe Flash technology and it can only be run directly in your browser's window. Get all .swf files in /bin folder and upload to your server (for example to /flash folder). Add the following html to page where you want to place the emulator.


  •    Java

GameBoy emulator (not GameBoy Color) for J2ME based on Mario GameBoy (TM) Emulator 0.2.4 by Carlos Hasan with good speed enhancements and many useful options. GPLv2 license.

GameBoy-Online - A GameBoy Color emulator written in JavaScript.

  •    Javascript

A GameBoy Color emulator written in JavaScript.

gameboy - Full featured GameBoy emulator. Let's dance!

  •    Rust

WTFPL. Note: Some codes of screen and sounds copied from rboy(about ~1000 lines).

GameBoy-Online - JavaScript GameBoy Color emulator.

  •    Javascript

A GameBoy Color emulator that utilizes HTML5 canvas and JavaScript audio APIs to provide a full emulation of the console. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

gomeboycolor - Gameboy Color emulator

  •    C

Nintendo Gameboy Color emulator, this is my first emulator so I'm learning as I go along... You are welcome to visit the github page for this project by clicking here, this includes links to executables, documentation and some background about the project.


  •    C

cingb is an ATTEMPT to write a Gameboy-emulator for all kinds of platforms. It plays Gameboy and Gameboy Color ROMs, includes a debugger for step-by-step analysis of Gameboy programs and might be also interesting for educational purposes.

weplay - Collaborative gameboy emulation powered 100% by JavaScript

  •    Javascript

The weplay-emulator service runs a JavaScript-based gameboy color emulator that gets painted to an instance of node-canvas.Upon each draw an event is emitted and the PNG buffer is piped through Redis to all the IO instances of weplay (this project).