GBCC is a cross-platform Game Boy and Game Boy Color emulator written in C, with a focus on accuracy. See the website or the manpage for details.
Packages for Windows and Ubuntu 20.04 are generated on each commit. To download them, navigate to the actions tab (you'll need to be logged in to GitHub to do this). Select the latest "Build Packages" job that succeeded, and look for the artifacts dropdown.
Note that the GTK3 GUI is disabled on the prebuilt Windows packages, as the necessary .DLLs and icon themes increase the size dramatically, to about 25MiB (compared to about 2MiB for the SDL2 version). If you want the GTK3 version on Windows, either download a proper release (whenever I make one), or build it yourself (I've made it dead easy, honest!).
Install the necessary dependencies, e.g. for Ubuntu:
sudo apt-get install libsdl2-dev libpng-dev libepoxy-dev libopenal-dev
# Optional dependencies
sudo apt-get install clang # Preferred compiler
sudo apt-get install meson # Preferred build system
sudo apt-get install libgtk-3-dev # For the GTK3 GUI
sudo apt-get install scdoc # For the manpage
To build with meson:
# With clang:
CC=clang LDSHARED="clang -shared" meson build && ninja -C build
# Or without clang:
meson build && ninja -C build
Or to build without:
clang -o gbcc -O3 -flto src/*.c src/sdl/*.c \
-lepoxy -lpng -lSDL2 -lpthread -lopenal
clang -o gbcc-gtk -O3 -flto src/*.c src/gtk/*.c \
-lepoxy -lpng -lSDL2 -lpthread -lopenal \
$(pkg-config --cflags --libs gtk+-3.0)
Building with clang is highly recommended, as it currently produces a binary about twice as fast as gcc.
GBCC is available on the AUR:
# With clang:
export CC=clang LDSHARED="clang -shared"
yay -S gbcc-git
# Or without clang:
yay -S gbcc-git
As above, building with clang is highly recommended.
GBCC is available as a head-only brew formula. You can build & install it with
brew install --HEAD philj56/gbcc/gbcc
Note that the GTK3 GUI is disabled by default, as OpenGL under GTK on macOS has
pretty appalling performance at the time of writing. It can be enabled by
passing --with-gtk+3
to the above command.
Support for building on windows is provided by MSYS2. Download and install MSYS2. The first time you run it after install, you'll probably have to update, so in a MinGW64 prompt run:
pacman -Syu
This will do some stuff, then prompt you to restart MSYS2 and update again.
After you've updated, building GBCC is easy:
git clone https://github.com/philj56/gbcc.git
cd gbcc/windows
./msys2.sh --install-deps
# After the first build, --install-deps is not required.
This will place the SDL2 build & necessary .DLLs in a folder called dist
,
which you can then copy wherever you like. As with macOS, the GTK3 GUI is
disabled by default, although not for performance reasons (see Prebuilt
packages). It can be enabled by passing --with-gtk
to
the msys2.sh
script mentioned above.
You can get GBCC on Google Play, or from the project repo.