Original Copyright: Gearboy © 2012 by Ignacio Sanchez
Gearboy is a Nintendo Game Boy / GameBoy Color emulator written in C++ that runs on iOS, Raspberry Pi, Mac, Windows, Linux and RetroArch. This forks addds an additional display mode the emulator, that uses the rpi-rgb-led-matrix-library to display the image directly onto an LED Matrix Panel.
See Original Git for Instructions for other platforms / use cases: https://github.com/drhelius/Gearboy
- 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).
- 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.10.tar.gz tar zxvf SDL2-2.0.10.tar.gz cd SDL2-2.0.10 && mkdir build && cd build ../configure --enable-video-kmsdrm --disable-video-rpi make -j 4 sudo make install
Clone this repo with submodules:
git clone --recursive https://github.com/Dak0r/Gearboy-rpi-rgb-led-matrix.git
Install libconfig and boost filesystem library dependencies for development:
sudo apt-get install libconfig++-devand
sudo apt-get install libboost-filesystem-dev
make -j 4in the
platforms/raspberrypi4-rpi-rgb-led-matrixfolder to build the project.
export SDL_AUDIODRIVER=ALSAbefore running the emulator for the best performance.
Gearboy generates a
gearboy.cfgconfiguration file where you can customize keyboard and gamepads. Key codes are from SDL.
Exit Emulator with Gamepad: Start + Select
Button 5 (Shoulder Button R): Switch between Normal, Demo and Attraction Mode. Demo: If no button is pressed for 10 Seconds, Sromb will randomly pick a game and start it with the audio muted. The Game will be exited automatically after 75s. And a new random game will start after 10 seconds. It's possible to cancel the automatic termination of a game, by pressing a button on the gamepad. Audio will then be automatically enabled. If at any time after the canceltion no Button is pressed for 120 seconds, the termination of the game will be resceduled in 75s and audio will be muted. Attraction Mode: Same as Demo mode, but the game won't be muted.
Simple Rom Browser (Sromb)
A simple browser, that allows browsing and starting roms from a given directory on the matrix panel. When emulator exists the rom browser automatically restarts.
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/