Get Started with Retro Arch and Game Boy Color Emulation on PocketC.H.I.P.

Running Formula Racing, a homebrew Game Boy Color game on PocketC.H.I.P.

Running Formula Racing, a homebrew Game Boy Color cart on PocketC.H.I.P.

Auston Stewart likes Nintendo systems. A lot. He not only wrote Macifom, an NES emulator for OSX from scratch, but he figured out how to get Retro Arch and its compatible Game Boy Color emulator Gambatte working on PocketC.H.I.P.!

Retro Arch is a frontend that works with many different game console emulators. Following the instructions first written by Stewart (aka macifom in the NTC forums) and slightly adapted for the blog format, you’ll be emulating your old Game Boy Color in no time.

1. Install the Required Software

Connect your PocketC.H.I.P. to the internet and tap the Terminal application on the home screen.

Note: If you’re not sure how to get online with PocketC.H.I.P., learn how with our PocketC.H.I.P. docs.

Type the command below and then press enter. It updates the Debian package repository for your system and gets it ready to install new packages.
sudo apt update

Next, install a couple of required packages for compiling Retro Arch from source code.
sudo apt-get install build-essential git pkg-config libsdl2-dev libsdl1.2-dev


2. Obtain the Retro Arch Source Code

Clone the git repository of the Retro Arch project. This copies all the source code you need to build your own version of Retro Arch directly on PocketC.H.I.P..
git clone https://github.com/libretro/RetroArch.git


3. Compile & Install Retro Arch

Change your working directory to /home/chip/RetroArch.
cd ~/RetroArch

Run the configure script with all the arguments below. Each of these arguments informs the compiler how to built Retro Arch and what features to enable or disable.

Use make to compile Retro Arch.
make

And install Retro Arch systemwide.
sudo make install

Note: The arguments above compile an SDL2 version of Retro Arch, but you can compile for SDL1 by swapping disable and enable in the arguments –disable-sdl and –enable-sdl2. SDL1 and SDL2 each have its advantages and disadvantages, which Stewart explains in his helpful post. I used SDL2, since it renders the Game Boy Color games in the correct aspect ratio, while SDL1 does not.


4. Configure Retro Arch

Use nano to edit the Retro Arch configuration file.
nano ~/.config/retroarch/retroarch.cfg

Change the config file so it has the options below, then save and quit nano.

If you compiled Retro Arch with SDL2 enabled, set the shell variable SDL_RENDER_DRIVER to software.
export SDL_RENDER_DRIVER="software"


5. Build the Gambatte Emulator

Gambatte is the software that actually emulates the Game Boy color. It’s just one of many different emulators that you can compile to work with Retro Arch.

Return to your home directory.
cd

Clone the source code repository for Gambatte.
git clone https://github.com/libretro/gambatte-libretro.git

Change to the ~/gambatte-libretro/libgambatte directory.
cd ~/gambatte-libretro/libgambatte

Use make to compile the emulator.
make -f Makefile.libretro

Note: Other emulators are available fro Retro Arch such as SNES. Check out the Retro Arch wiki for more info. I’ve only tested the one for Game Boy Color.


6. Download Homebrew ROMs & Play

Playing JetPack DX using RetroArch on PocketC.H.I.P.

Playing JetPack DX using RetroArch on PocketC.H.I.P.

Download your favorite Game Boy Color ROM such as JetPackDX and start Retro Arch by typing the following command.

retroarch -L /home/chip/libgambatte/gambatte_libretro.so PATH-TO-ROM

Replace PATH-TO-ROM with the absolute path to your .gbc rom and happy gaming.


chipLogo64x64

This project only sets a Game Boy Color emulator for Retro Arch, but Retro Arch supports a lot more emulators. What are you hoping to see PocketC.H.I.P. and Retro Arch emulate next?

Make sure to let us know in the forum. And while you’re sharing, tweet us a picture of you playing your favorite Game Boy Color game on PocketC.H.I.P..

About the Author

Posted by

I'm busy writing and editing content at Next Thing Co.

5 Comments

When I tried to do step 3, this happened to me, and it didn’t work.

“Unknown option –disable-gles”
“Makefile:144: recipe for target ‘obj-unix/configuration.o’ failed make: *** [obj-unix/configuration.o] Error 1”

Please Help!

i believe you need a double dash before disable (as with some of the other commands). lemme know if that works. ./configure –disable-sdl –enable-sdl2 –enable-floathard –enable-neon –disable-opengl –disable ect.

double dashes boys n girls! 😀

Add a Response

Your name, email address, and comment are required. We will not publish your email.

The following HTML tags can be used in the comment field: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">