Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/rgburke/CHIP-8
- Owner: rgburke
- License: gpl-2.0
- Created: 2016-02-11T22:54:56.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-02-11T22:59:04.000Z (over 8 years ago)
- Last Synced: 2024-04-24T15:33:42.476Z (6 months ago)
- Language: C
- Size: 26.4 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- AwesomeInterpreter - CHIP-8
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] ROMFILEROMFILE:
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...