All Projects → jgilchrist → Gbemu

jgilchrist / Gbemu

Licence: bsd-3-clause
A Gameboy emulator in modern C++

Projects that are alternatives of or similar to Gbemu

gameboyGO
Gameboy emulator in go
Stars: ✭ 24 (-83.89%)
Mutual labels:  emulator, gameboy, gameboy-emulator
Wasmboy
Game Boy / Game Boy Color Emulator Library, 🎮written for WebAssembly using AssemblyScript. 🚀Demos built with Preact and Svelte. ⚛️
Stars: ✭ 963 (+546.31%)
Mutual labels:  gameboy, gameboy-emulator, emulator
rusty-boy
Gameboy emulator in Rust
Stars: ✭ 20 (-86.58%)
Mutual labels:  emulator, gameboy, gameboy-emulator
Gameboy
🎮 Game Boy emulator written in Rust
Stars: ✭ 17 (-88.59%)
Mutual labels:  gameboy, gameboy-emulator, emulator
Pyboy
Game Boy emulator written in Python
Stars: ✭ 3,326 (+2132.21%)
Mutual labels:  gameboy, gameboy-emulator, emulator
Hades
🔥 A Nintendo Game Boy Advance emulator
Stars: ✭ 44 (-70.47%)
Mutual labels:  emulator, gameboy, gameboy-emulator
Mooneye Gb
A Game Boy research project and emulator written in Rust
Stars: ✭ 557 (+273.83%)
Mutual labels:  gameboy, gameboy-emulator, emulator
goboy
Playing GameBoy Emulation in GoLang (ported from https://github.com/racerxdl/GameBoyEmulator)
Stars: ✭ 37 (-75.17%)
Mutual labels:  emulator, gameboy, gameboy-emulator
Cryboy
A Game Boy (Color) emulator written in Crystal
Stars: ✭ 68 (-54.36%)
Mutual labels:  gameboy, gameboy-emulator, emulator
Elmboy
A Nintendo™ Game Boy™ Emulator written in Elm.
Stars: ✭ 285 (+91.28%)
Mutual labels:  gameboy, gameboy-emulator, emulator
SkyEmu
Game Boy, Game Boy Color, and Game Boy Advanced Emulator
Stars: ✭ 59 (-60.4%)
Mutual labels:  emulator, gameboy, gameboy-emulator
Gearboy
Game Boy / Gameboy Color emulator for iOS, macOS, Raspberry Pi, Windows, Linux and RetroArch.
Stars: ✭ 528 (+254.36%)
Mutual labels:  gameboy, gameboy-emulator, emulator
awesome-emu-resources
A curated list of emulator development resources
Stars: ✭ 26 (-82.55%)
Mutual labels:  emulator, gameboy, gameboy-emulator
Vba M Nx
WIP full featured port of VBA-M for Nintendo Switch
Stars: ✭ 11 (-92.62%)
Mutual labels:  gameboy, gameboy-emulator, emulator
worldwide
A toy GameBoy Color emulator written in golang.
Stars: ✭ 563 (+277.85%)
Mutual labels:  emulator, gameboy, gameboy-emulator
khedgb
Experiments in Game Boy emulation
Stars: ✭ 15 (-89.93%)
Mutual labels:  emulator, gameboy, gameboy-emulator
gameboi
An Original GameBoy emulator?
Stars: ✭ 20 (-86.58%)
Mutual labels:  emulator, gameboy, gameboy-emulator
dashboy
Gameboy Emulator implemented by pure Dart
Stars: ✭ 130 (-12.75%)
Mutual labels:  emulator, gameboy, gameboy-emulator
speljongen
gameboy emulator written in c++
Stars: ✭ 15 (-89.93%)
Mutual labels:  emulator, gameboy, sfml
Coffee Gb
Gameboy emulator in Java 8.
Stars: ✭ 953 (+539.6%)
Mutual labels:  gameboy, gameboy-emulator, emulator

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.

The test it fails is due to the lack of a timer implementation.

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].