jgilchrist / Gbemu
Licence: bsd-3-clause
A Gameboy emulator in modern C++
Stars: ✭ 149
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].