Skip to content

Latest commit

 

History

History
56 lines (38 loc) · 1.8 KB

File metadata and controls

56 lines (38 loc) · 1.8 KB

chipm8

Because I wanted to emulate a Gameboy but didn't know how

Go Report Card Go Report Card

Standard render (Space Invaders) chipm8 INVADERS

Tiled render (Tetris) chipm8 Tetris

Yet another chip8 emulator, written to learn more about emulator design before tackling a more complicated system. It comes with a stripped-down command-line debugger (think GDB with 3-4 commands).

Installation

chipm8 should compile down to any target, but SDL is required on the system the emulator is being built from (if statically linked, SDL not needed on system being run on). The instructions for configuring SDL can be found here.

OS X & Linux:

go get -u github.com/Monkeyanator/chipm8

In addition, this project uses dep for dependency management, so to fetch the needed dependencies, run:

dep ensure

Usage example

To run a ROM, pass the path into chipm8 through the --prog flag:

chipm8 --prog=roms/tetris.ch8

or, to run the Tetris ROM in debug mode:

chipm8 --prog=roms/tetris.ch8 --debug

Full list of command-line flags can be found with:

chipm8 --help

Contributing

  1. Fork it (https://github.com/yourname/yourproject/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Commit your changes (git commit -am 'Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request