10 releases

0.0.10 Aug 10, 2022
0.0.9 Jul 25, 2022
0.0.7 Nov 9, 2021
0.0.6 Oct 21, 2021

#169 in Emulators


Used in termin-8

MIT license

25KB
509 lines

Deca

crates.io docs.rs dependency status

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, which runs in a terminal).
  • has full CHIP-8, SUPER-CHIP and XO-CHIP support (multiple colors!)
  • aims to behave as closely to Octo/C-Octo as possible

Future plans

  • Support for various CHIP-8 extensions and variations, so it can run as many historical CHIP-8 programs as possible
  • Other crates that can compile Octo programs (decasm) and read/write Octocarts (decart), inspired by the components of C-Octo (possibly even an IDE (decade) inspired by Octode??)

Why "Deca"?

Deca is inspired by (heavily based on) 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 as well.

Dependencies

~8.5MB
~158K SLoC