Skip to content

rgburke/CHIP-8

Repository files navigation

CHIP-8 Interpreter

A CHIP-8 interpreter written for fun.

Screenshots

SpaceInvaders Pong

Build

The only library dependency is libsdl2. Run make to build the interpreter.

Usage

chip8 [OPTIONS] ROMFILE

ROMFILE:
File path to a CHIP-8 ROM (required).

OPTIONS:
-h, --help                   Print this message.
-r, --instr-rate=RATE        Run (roughly) RATE instructions per second.
                             Default: 300, Min: 1.
-s, --scale-factor=FACTOR    Scale display resolution by FACTOR.
                             Default: 8, Min: 1, Max: 16.

For example, to run Space Invaders: ./chip8 SI.ch8

Contributing

Feel free to use or play around with this code. It is licensed under GPL v2. Some idea's for improving the interpreter are:

  • Add support for SCHIP opcodes.
  • Add debugging functionality e.g. step through games one opcode at a time.
  • Add menu bar with various user friendly options:
    • Load ROM
    • Pause
    • Exit
    • Save and resume.
    • etc...

About

CHIP-8 interpreter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published