Game Boy / Gameboy Color emulator for iOS, Mac, Raspberry Pi, Windows and Linux
C HTML C++ Shell Objective-C TeX Other
Latest commit 36ba19b Sep 25, 2016 @drhelius committed on GitHub Update README.md
Permalink
Failed to load latest commit information.
platforms project for visual studio 2015 Sep 24, 2016
src fixes implicit conversion warning Sep 24, 2016
.gitignore project for visual studio 2015 Sep 24, 2016
.travis.yml Update .travis.yml Jan 8, 2016
LICENSE added license Aug 26, 2012
README.md Update README.md Sep 24, 2016

README.md

Gearboy

Copyright © 2012 by Ignacio Sanchez


Build Status

Gearboy is a Nintendo Game Boy / GameBoy Color emulator written in C++ that runs on iOS, Raspberry Pi, Mac, Windows and Linux.

Follow me on Twitter for updates: http://twitter.com/drhelius


Downloads

  • iOS (Jailbreak): Cydia. You can open rom files from other apps like Safari or Dropbox. They can be placed in /var/mobile/Media/ROMs/GAMEBOY too. Save files are placed in /var/mobile/Library/Gearboy
  • 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 iTunes file sharing.
  • Mac OS X: brew install homebrew/games/gearboy
  • Windows: Gearboy-2.3-Windows.zip (NOTE: You may need to install the Microsoft Visual C++ Redistributable)
  • Linux: Gearboy-2.3-Linux.tar.gz
  • Raspberry Pi: Build Gearboy from sources. Optimized projects are provided for Raspberry Pi 1, 2 and 3.

Features

  • Highly 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.
  • Memory Bank Controllers (MBC1, MBC2, MBC3 with RTC, MBC5), ROM + RAM and multicart cartridges.
  • Accurate LCD controller emulation. Background, window and sprites, with correct timings and priorities including mid-scanline timing.
  • Mix frames: Mimics the LCD ghosting effect seen in the original Game Boy.
  • Sound emulation using SDL Audio and Gb_Snd_Emu library.
  • Game Boy Color support.
  • Integrated disassembler. It can dump the full disassembled memory to a text file or access it in real time.
  • Saves battery powered RAM cartridges to file.
  • Compressed rom support (ZIP deflate).
  • Multi platform. Runs on Windows, Linux, Mac OS X, Raspberry Pi and iOS.

Build Instructions

iOS

  • Install Xcode for Mac OS X. You need iOS SDK 8 or later.
  • Build the project.
  • Run it on real hardware using your iOS developer certificate. Make sure it compiles on Release for extra optimizations.
  • For jailbroken devices use the jailbreak branch.

Raspberry Pi 2 & 3 - Raspbian

  • 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.4.tar.gz
tar zxvf SDL2-2.0.4.tar.gz
cd SDL2-2.0.4 && 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 the platforms/raspberrypi3/Gearboy/ folder to build the project.
  • Use export SDL_AUDIODRIVER=ALSA before running the emulator for the best performance.
  • The emulator generates a gearboy.cfg configuration for you where you can customize keyboard and gamepads. Key codes are from SDL.

Windows

Mac OS X

  • You need Qt Creator, included in the Qt 5 SDK.
  • Install Xcode and run xcode-select --install in the terminal for the compiler to be available on the command line.
  • Install the Qt 5 SDK for Mac OS.
  • Download SDL 2 source code. Then run this commands:
./configure
make
sudo make install
  • Open the Gearboy Qt project with Qt Creator and build.

Linux

  • Install dependencies (Ubuntu: sudo apt-get install build-essential qt5-default qttools5-dev-tools freeglut3-dev libsdl2-dev libglew-dev).
  • Move to the platforms/linux/Gearboy/ folder and run qmake -o Makefile Gearboy.pro && make to build the project.
  • In Ubuntu I had to export SDL_AUDIODRIVER=ALSA before running the emulator for the sound to work properly.

Accuracy Tests

Compared to other emulators: see here.

Tests from blargg's test roms:

cpu_instrs.gbinsrt_timing.gblcd_sync.gbdmg_sound.gbcgb_sound.gbmem_timing.gb

Screenshots

ScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshot

License

Gearboy - Nintendo Game Boy Emulator

Copyright (C) 2012 Ignacio Sanchez

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/