Skip to content

DavidSpickett/GameboyEmu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

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.

Tetris Tetris

Dr. Mario Dr. Mario

Super Mario Land Super Mario Land

Command Line Options

Option Meaning
--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.
skipboot Skip 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 Button Keyboard Key
UP up arrow
DOWN down arrow
LEFT left arrow
RIGHT right arrow
B z
A x
START enter
SELECT right 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

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages