Skip to content

Latest commit

History

219 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

A Gameboy (monochrome) emulator written in C++. Very limited compatibility, Tetris is the most playable so far. Builds on Mac OSX El Capitan with XCode and requires the SDL2 library.

TetrisTetris

Dr. MarioDr. Mario

Super Mario LandSuper Mario Land

Command Line Options

OptionMeaning
--rom=Load ROM file from given path. (required)
--numcycles=Number of cycles to run before taking and screenshot then quitting. (for testing, default of 0 meaning run forever)
--scale=Set the dimension of each pixel. default of 1 means 1 Gameboy pixel is 1 pixel on screen, 2 means each pixel is a 2x2 square and so on.
skipbootSkip the boot ROM. If not set a BIOS file in the same folder called “GameboyBios.gb” is required.

Usage

./GameboyEmu --rom=“Tetris (world).gb” --scale=2 skipboot
./GameboyEmu --numcycles=100000 --rom=“opus5.gb”

(note that argument order is not important)

Input

Gameboy ButtonKeyboard Key
UPup arrow
DOWNdown arrow
LEFTleft arrow
RIGHTright arrow
Bz
Ax
STARTenter
SELECTright shift

You can also press 's' to take a screenshot and then exit (printing the number of cycles ran) or press 'esc' to quit directly.

To Do and Known Issues

  • Upon loosing a round of Tetris the screen fills with blocks apart from the last row.
  • Sound is completely non functional.
  • Super Mario Land's X scroll value gets reset randomly, causing visual glitches.
  • 2 player serial over a socket (Tetris).
  • Test framework, which is what the screenshot functions are for eventually.
  • ROM and RAM bank controller support.

Resources

About

C++ Gameboy Emulator

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages