https://github.com/danielgatis/chip8
A CHIP-8 emulator for Rust in ~350 LOC.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.4%) to scientific vocabulary
Keywords
Repository
A CHIP-8 emulator for Rust in ~350 LOC.
Basic Info
Statistics
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
chip8
An implementation of the CHIP-8 for Rust in ~350 lines of code.

What is CHIP-8?
CHIP-8 is a virtual machine (along with a supporting programming language). Since the CHIP-8 VM does not expose the fact that it's running on a host CPU, in theory the VM could be translated to physical hardware.
The CHIP-8 VM was used in the late '70s on some computers such as the Telmac 1800 and on some calculators in the 1980's.
CHIP-8 was mainly used as a gaming platform, and today you can play lots of games like Pong and Breakout on it.
Running a ROM
Given a CHIP-8 ROM, you can start the ROM in the emulator like so:
bash
cargo run romfile.ch8
Where to get a ROM?
Here.
Information on the emulator
The input is mapped similarly to most other CHIP-8 emulators I have come across:
Row 1|Row 2|Row 3|Row 4 -----|-----|-----|----- 1 - 1|2 - 2|3 - 3|C - 4 4 - Q|5 - W|6 - E|D - R 7 - A|8 - S|9 - D|F - 4 A - Z|0 - X|B - C|F - V
The screen runs at the default resolution of 64x32.
References
- Cowgod's Chip-8 Technical Reference: http://devernay.free.fr/hacks/chip8/C8TECH10.HTM
- CHIP-8 Wikipedia Page: https://en.wikipedia.org/wiki/CHIP-8
- Reddit r/EmuDev commmunity: https://reddit.com/r/EmuDev
License
Copyright (c) 2021-present Daniel Gatis
Licensed under MIT License
Buy me a coffee
Liked some of my work? Buy me a coffee (or more likely a beer)
Owner
- Name: Daniel Gatis
- Login: danielgatis
- Kind: user
- Location: Recife - PE
- Repositories: 37
- Profile: https://github.com/danielgatis
GitHub Events
Total
- Watch event: 4
Last Year
- Watch event: 4
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
