Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rgburke/CHIP-8

CHIP-8 interpreter
https://github.com/rgburke/CHIP-8

Last synced: 3 months ago
JSON representation

CHIP-8 interpreter

Awesome Lists containing this project

README

        

# CHIP-8 Interpreter

A CHIP-8 interpreter written for fun.

## Screenshots

![SpaceInvaders](screenshots/SpaceInvaders.png)
![Pong](screenshots/Pong.png)

## 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...