drhelius / Gearboy
Licence: gpl-3.0
Game Boy / Gameboy Color emulator for iOS, macOS, Raspberry Pi, Windows, Linux and RetroArch.
Stars: ✭ 528
Programming Languages
c
50402 projects - #5 most used programming language
Projects that are alternatives of or similar to Gearboy
khedgb
Experiments in Game Boy emulation
Stars: ✭ 15 (-97.16%)
Mutual labels: emulator, gameboy, gameboy-emulator
awesome-emu-resources
A curated list of emulator development resources
Stars: ✭ 26 (-95.08%)
Mutual labels: emulator, gameboy, gameboy-emulator
Goboy
Multi-platform Nintendo Game Boy Color emulator written in Go
Stars: ✭ 2,403 (+355.11%)
Mutual labels: gameboy, gameboy-emulator, emulator
gameboyGO
Gameboy emulator in go
Stars: ✭ 24 (-95.45%)
Mutual labels: emulator, gameboy, gameboy-emulator
Pyboy
Game Boy emulator written in Python
Stars: ✭ 3,326 (+529.92%)
Mutual labels: gameboy, gameboy-emulator, emulator
SkyEmu
Game Boy, Game Boy Color, and Game Boy Advanced Emulator
Stars: ✭ 59 (-88.83%)
Mutual labels: emulator, gameboy, gameboy-emulator
Rustyboy
A Gameboy emulator written in Rust.
Stars: ✭ 224 (-57.58%)
Mutual labels: gameboy, gameboy-emulator, emulator
Metroboy
MetroBoy - A playable, circuit-level simulation of an entire Game Boy
Stars: ✭ 169 (-67.99%)
Mutual labels: gameboy, gameboy-emulator, emulator
dashboy
Gameboy Emulator implemented by pure Dart
Stars: ✭ 130 (-75.38%)
Mutual labels: emulator, gameboy, gameboy-emulator
gameboi
An Original GameBoy emulator?
Stars: ✭ 20 (-96.21%)
Mutual labels: emulator, gameboy, gameboy-emulator
Hades
🔥 A Nintendo Game Boy Advance emulator
Stars: ✭ 44 (-91.67%)
Mutual labels: emulator, gameboy, gameboy-emulator
worldwide
A toy GameBoy Color emulator written in golang.
Stars: ✭ 563 (+6.63%)
Mutual labels: emulator, gameboy, gameboy-emulator
Gopher Boy
🎮 A Game Boy emulator written in Go
Stars: ✭ 206 (-60.98%)
Mutual labels: gameboy, gameboy-emulator, emulator
rusty-boy
Gameboy emulator in Rust
Stars: ✭ 20 (-96.21%)
Mutual labels: emulator, gameboy, gameboy-emulator
Jitboy
A Game Boy emulator with dynamic recompilation (JIT)
Stars: ✭ 190 (-64.02%)
Mutual labels: gameboy, gameboy-emulator, emulator
Binjgb
Gameboy emulator implemented in C
Stars: ✭ 222 (-57.95%)
Mutual labels: gameboy, gameboy-emulator, emulator
Gbemu
WebAssembly based Gameboy Emulator
Stars: ✭ 120 (-77.27%)
Mutual labels: gameboy, gameboy-emulator, emulator
Gbemu
A Gameboy emulator in modern C++
Stars: ✭ 149 (-71.78%)
Mutual labels: gameboy, gameboy-emulator, emulator
jsGBC-core
jsGBC Core Emulator
Stars: ✭ 14 (-97.35%)
Mutual labels: emulator, gameboy, gameboy-emulator
goboy
Playing GameBoy Emulation in GoLang (ported from https://github.com/racerxdl/GameBoyEmulator)
Stars: ✭ 37 (-92.99%)
Mutual labels: emulator, gameboy, gameboy-emulator
Gearboy
Gearboy is a cross-platform Game Boy / GameBoy Color emulator written in C++ that runs on Windows, macOS, Linux, iOS, Raspberry Pi and RetroArch.
This is an open source project with its ongoing development made possible thanks to the support by these awesome backers.
Please, consider sponsoring and following me on Twitter for updates.
Downloads
-
Windows: Gearboy-3.3.0-Windows.zip
- NOTE: You may need to install the Microsoft Visual C++ Redistributable
-
macOS:
brew install --cask gearboy
- Or install manually: Gearboy-3.3.0-macOS.zip
-
Linux: Gearboy-3.3.0-Linux.tar.xz
- NOTE: You may need to install
libsdl2
andlibglew
- NOTE: You may need to install
- iOS: Build Gearboy with Xcode and transfer it to your device. You can open rom files from other apps like Safari or Dropbox, or use your iCloud Drive.
- RetroArch: Libretro core documentation.
- Raspberry Pi: Build Gearboy from sources. Optimized projects are provided for Raspberry Pi 1, 2, 3 and 4.
Features
- Accurate CPU emulation, passes cpu_instrs.gb from blargg's tests.
- Accurate instruction and memory timing, passes instr_timing.gb and mem_timing.gb from blargg's tests.
- Supported cartridges: ROM, ROM + RAM, MBC1, MBC2, MBC3 + RTC, MBC5, HuC-1 and MBC1M (multicart).
- Accurate LCD controller emulation with correct timings and priorities including mid-scanline effects.
- Game Boy Color support.
- LCD screen ghosting effect as seen in the original Game Boy.
- LCD dot matrix effect.
- Sound emulation using SDL Audio and Gb_Snd_Emu library.
- Save battery powered RAM cartridges to file.
- Save states.
- Compressed rom support (ZIP).
- Game Genie and GameShark cheat support.
- Supported platforms (standalone): Windows, Linux, macOS, Raspberry Pi and iOS.
- Supported platforms (libretro): Windows, Linux, macOS, Raspberry Pi, Android, iOS, tvOS, PlayStation Vita, PlayStation 3, Nintendo 3DS, Nintendo GameCube, Nintendo Wii, Nintendo WiiU, Nintendo Switch Emscripten, Classic Mini systemts (NES, SNES, C64 ...) and QNX.
- Full debugger with disassembler, breakpoints, debug symbols, memory editor, IO inspector and VRAM viewer including tiles, sprites, backgrounds and palettes.
- Windows and Linux Portable Mode by creating a file named
portable.ini
in the same directory as the application binary.

Build Instructions
Windows
- Install Microsoft Visual Studio Community 2019 or later.
- Open the Gearboy Visual Studio solution
platforms/windows/Gearboy.sln
and build. - You may want to use the
platforms/windows/Makefile
to build the application using MinGW.
macOS
- Install Xcode and run
xcode-select --install
in the terminal for the compiler to be available on the command line. - Run these commands to generate a Mac app bundle:
brew install sdl2
cd platforms/macos
make dist
Linux
- Ubuntu / Debian:
sudo apt-get install build-essential libsdl2-dev libglew-dev
cd platforms/linux
make
- Fedora:
sudo dnf install @development-tools gcc-c++ SDL2-devel glew-devel
cd platforms/linux
make
iOS
- Install latest Xcode for macOS.
- Build the project
platforms/ios/Gearboy.xcodeproj
. - Run it on real hardware using your iOS developer certificate. Make sure it builds on Release for better performance.
Libretro
- Ubuntu / Debian:
sudo apt-get install build-essential
cd platforms/libretro
make
- Fedora:
sudo dnf install @development-tools gcc-c++
cd platforms/libretro
make
Raspberry Pi 4 - Raspbian (Desktop)
sudo apt install build-essential libsdl2-dev libglew-dev
cd platforms/raspberrypi4
make
Raspberry Pi 2 & 3 - Raspbian (CLI)
- Install and configure SDL 2 for development:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libfreeimage-dev libopenal-dev libpango1.0-dev libsndfile-dev libudev-dev libasound2-dev libjpeg-dev libtiff5-dev libwebp-dev automake
cd ~
wget https://www.libsdl.org/release/SDL2-2.0.12.tar.gz
tar zxvf SDL2-2.0.12.tar.gz
cd SDL2-2.0.12 && mkdir build && cd build
../configure --disable-pulseaudio --disable-esd --disable-video-mir --disable-video-wayland --disable-video-x11 --disable-video-opengl --host=armv7l-raspberry-linux-gnueabihf
make -j 4
sudo make install
- Install libconfig library dependencies for development:
sudo apt-get install libconfig++-dev
- Use
make -j 4
in theplatforms/raspberrypi3/x64/
folder to build the project. - Use
export SDL_AUDIODRIVER=ALSA
before running the emulator for the best performance. - Gearboy generates a
gearboy.cfg
configuration file where you can customize keyboard and gamepads. Key codes are from SDL.
Accuracy Tests
Compared to other emulators: see here.
Tests from blargg's test roms:
Screenshots
Contributors
Thank you to all the people who have already contributed to Gearboy!
License
Gearboy is licensed under the GNU General Public License v3.0 License, see LICENSE for more information.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].