GithubHelp home page GithubHelp logo

rzumer / gearboy Goto Github PK

View Code? Open in Web Editor NEW

This project forked from drhelius/gearboy

0.0 1.0 0.0 51.02 MB

Game Boy / Gameboy Color emulator for iOS, Mac, Raspberry Pi, Windows, Linux and RetroArch.

Home Page: http://twitter.com/drhelius

License: GNU General Public License v3.0

C++ 5.43% Objective-C 2.05% Objective-C++ 0.46% C 80.10% Makefile 0.20% HTML 5.24% Shell 2.03% M4 0.33% Java 0.31% CMake 0.52% Roff 0.02% Batchfile 0.07% Lua 0.80% Perl 0.25% Python 0.01% JavaScript 0.40% CSS 0.16% TeX 1.53% QMake 0.07% PHP 0.01%

gearboy's Introduction

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, Linux and RetroArch.

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 gearboy
  • Windows: Gearboy-2.7.0-Windows.zip (NOTE: You may need to install the Microsoft Visual C++ Redistributable)
  • Linux: Gearboy-2.7.0-Linux.tar.xz
  • RetroArch: Libretro core documentation.
  • Raspberry Pi: Build Gearboy from sources. Optimized projects are provided for Raspberry Pi 1, 2 and 3.
  • Ubuntu Touch version by Ryan Pattison: here

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.
  • Save states.
  • Compressed rom support (ZIP deflate).
  • Game Genie and GameShark cheat support.
  • Multi platform. Runs on Windows, Linux, Mac OS X, Raspberry Pi, iOS and as a libretro core (RetroArch).

Build Instructions

iOS

  • Install Xcode for Mac OS X. You need iOS SDK 8 or later.
  • 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.
  • 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.9.tar.gz
tar zxvf SDL2-2.0.9.tar.gz
cd SDL2-2.0.9 && 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/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.

Windows

  • You need Visual Studio 2017 or later.
  • Install the Qt 5 Open Source SDK for Windows.
  • Install the QtVisualStudioTools Extension and point it to the Qt SDK.
  • Open the Gearboy Visual Studio solution platforms/windows/Gearboy/Gearboy.sln and build.
  • You may want to use the platforms/windows/Gearboy/Gearboy.pro project file with Qt Creator instead.

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 platforms/macosx/Gearboy/Gearboy.pro project file with Qt Creator and build.

Linux

  • Ubuntu / Debian:
sudo apt-get install build-essential qt5-default qttools5-dev-tools freeglut3-dev libsdl2-dev libglew-dev
cd platforms/linux/Gearboy
qmake Gearboy.pro && make
  • Fedora:
sudo dnf install @development-tools gcc-c++ qt5-devel freeglut-devel SDL2-devel glew-devel
cd platforms/linux/Gearboy
qmake-qt5 Gearboy.pro && make

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/

gearboy's People

Contributors

andres-asm avatar antoniond avatar anyputer avatar bananarama203 avatar bentley avatar dmoerner avatar drhelius avatar francois-berder avatar globalspin avatar inactive123 avatar lubosz avatar mddrill avatar natinusala avatar oskenso avatar rzumer avatar tatsuya79 avatar tomyun avatar webgeek1234 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.