https://github.com/tobiasvl/deca
A CHIP-8/Octo interpreter core written in Rust
https://github.com/tobiasvl/deca
chip-8 chip-8-emulator chip-8-interpreter chip8 chip8-emulator chip8-interpreter
Last synced: about 1 year ago
JSON representation
A CHIP-8/Octo interpreter core written in Rust
- Host: GitHub
- URL: https://github.com/tobiasvl/deca
- Owner: tobiasvl
- License: mit
- Created: 2021-09-29T19:35:52.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-09-25T11:17:01.000Z (over 2 years ago)
- Last Synced: 2025-03-16T23:47:49.784Z (about 1 year ago)
- Topics: chip-8, chip-8-emulator, chip-8-interpreter, chip8, chip8-emulator, chip8-interpreter
- Language: Rust
- Homepage: https://crates.io/crates/deca
- Size: 32.2 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Deca
====
[](https://crates.io/crates/deca)
[](https://docs.rs/deca)
[](https://deps.rs/crate/deca)
Deca is basically just another CHIP-8 emulator written in Rust, but it
* is a backend library with no I/O, which can be embedded into a UI (like [Termin-8](https://crates.io/crates/termin-8), which runs in a terminal).
* has full CHIP-8, SUPER-CHIP and XO-CHIP support (multiple colors!)
* aims to behave as closely to [Octo](https://github.com/JohnEarnest/Octo)/[C-Octo](https://github.com/JohnEarnest/c-octo) as possible
Future plans
------------
- [ ] Support for various [CHIP-8 extensions and variations](https://chip-8.github.io/extensions/), so it can run as many historical CHIP-8 programs as possible
- [ ] Other crates that can compile Octo programs ([decasm](https://github.com/tobiasvl/decasm)) and read/write Octocarts ([decart](https://github.com/tobiasvl/decart)), inspired by the components of [C-Octo](https://github.com/JohnEarnest/c-octo#project-structure) (possibly even an IDE ([decade](https://github.com/tobiasvl/decade)) inspired by Octode??)
Why "Deca"?
-----------
Deca is inspired by (heavily based on) [Octo](https://github.com/JohnEarnest/Octo), which has an octopus as a mascot (as a reference to CHIP-8). Octopi are eight-limbed molluscs belonging to the order Octopoda. Deca is written in Rust, which has a crab as its mascot. Crabs are ten-limbed crustaceans of the order Decapoda.
To further justify the silly name, I plan to add support for [CHIP-10](https://chip-8.github.io/extensions/#chip-10) as well.