Skip to content
/ sGBE Public

A small gameboy emulator written in C++ and SDL

License

Notifications You must be signed in to change notification settings

jprissi/sGBE

Repository files navigation

This is a work in progress.

sGBE

sGBE is a Small GameBoy Emulator. This project emulates an 8-bit CPU using C++/SDL.

As of 2023/12/05, it misses 5 instructions and has some graphis issues when playing Tetris. It might not work with other games. Most of Blargg's CPU test do pass!

nintendo startup logo tetris title screen tetris

Getting started

  1. Setup the build environment :
git clone [email protected]:jprissi/sGBE.git && cd sgbe
mkdir build && cd build
cmake ..
  1. Build and run the emulator :
make && ./bin/gbe

Motivations & Features

The goal of this project is to provide a straightforward implementation for an 8-bit CPU. It should be able to run at least a few titles. It does not aim for cycle-perfect accuracy or extensive support of the GB game library.

Missing features

  • Bank Switching
  • Sound
  • CGB mode
  • ...

Acknowledgements

Contributing

All contributions are welcome!

Resources

Compare implementation with disassembled source : https://github.com/osnr/tetris/blob/master/tetris.asm

PPU implementation detailed write-ups: https://blog.tigris.fr/2019/09/15/writing-an-emulator-the-first-pixel/ https://hacktix.github.io/GBEDG/ppu/

https://robertovaccari.com/blog/2020_09_26_gameboy/

About

A small gameboy emulator written in C++ and SDL

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published