C++ BSD-3-Clause

gbemu

A Gameboy emulator

J

jgilchrist

Dernière activité 27 juil. 2026
jgilchrist/gbemu

352

étoiles

41

forks

1

issues ouvertes

emulatorgameboygameboy-emulatorsfml

Ce README est souvent en anglais.

gbemu

gbemu is a Nintendo Gameboy emulator written in C++. It was written as an exercise (and for fun!) so its goals are exploration of modern C++ and clean code rather than total accuracy.

Building

Building the emulator requires cmake and SDL and has been tested on macOS and Debian. To compile the project, run:

$ make

This builds two versions of the emulator:

  • gbemu - the main emulator, using SDL for graphics and input
  • gbemu-test - a headless version of the emulator for debugging & running tests

Playing

usage: gbemu <rom_file> [--debug] [--trace] [--silent] [--exit-on-infinite-jr] [--print-serial-output]

arguments:
  --debug                   Enable the debugger
  --exit-on-infinite-jr     Stop emulation if an infinite JR loop is detected
  --print-serial-output     Print data sent to the serial port
  --trace                   Enable trace logging
  --silent                  Disable logging

The key bindings are: ↑, ↓, ←, →, X, Z, Enter, Backspace.

Tests

The emulator is tested using Blargg's tests - these can be ran with ./scripts/run_test_roms.

Missing features

Currently, gbemu only supports Gameboy games. I'm working on Gameboy Color support off-and-on at the moment. There's also no audio support yet.

Screenshots

Menu Gameplay

Projets similaires

mGBA Game Boy Advance Emulator

Cemulatorgame-boygame-boy-advance
Mmgba-emu
7,5 k étoiles1,1 k

Multi-platform Nintendo Game Boy Color emulator written in Go

Goemulatorgameboygameboy-emulator
HHumpheh
2,6 k étoiles119

Game Boy and Game Boy Color emulator written in C

Cemulatorgameboygameboy-color
LLIJI32
2,2 k étoiles276