Skip to content

Dedis23/SGBE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SGBE

Nintendo Gameboy emulator written in C++ (11).
The project was mainly done for educational reasons, to increase my knowledge over C++, software design and computer architecture.
Also for fun and nostalgic factors, as the gameboy was my first gaming console from my childhood.
This project does not aim for total emulation accuracy and features, I'm leaning more towards clean code and good software design.
That being said, it can still play most of the gameboy games.
SGBE is dependent on SDL2 library that handles the window, graphics, sound and input.

How to build

SGBE has been tested on Ubuntu:

SDL2 dependency

apt-get install libsdl2-dev

Fetch and build

git clone https://github.com/Dedis23/SGBE.git
cd SGBE
make all

Usage

usage:
  SGBE --game <rom_file> 

optional:
  --logfile <file_name>     Enable printing logs into a file
  --silent                  Disable logs

Movement: , , ,
Controls: Z, X, Enter, RShift
Change palettes: F1

Features

  • Cycle accurate Gameboy CPU instructions emulation
  • GPU, Timer and Joypad emulation
  • ROM only and MBC1 cartridge types
  • Color palettes swap

Todo

  • MBC2, MBC3, MBC4, MBC5 cartridge types
  • Audio support
  • Emulator Save states
  • Support for Gameboy Color games

Screenshots

  • Tetris with DMG GB color palette

  • Super Mario Land with a custom color palette

Blargg's tests roms

Resources

About

Gameboy emulator in C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages