Skip to content

Latest commit

 

History

History
63 lines (49 loc) · 3.18 KB

README.md

File metadata and controls

63 lines (49 loc) · 3.18 KB

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