decart

crates.io docs.rs dependency status

decart is a library and a command-line tool for reading and (in the future) generating "Octocarts", CHIP-8 game cartridges for the Octo environment, written in Rust.

Use cases

Octocarts

Octo cartridge files, or Octocarts, are GIF89a images with a payload steganographically embedded in one or more animation frames. Data is stored in the least significant bits of colors, 1 from the red/blue channels and 2 from the green channel, allowing us to pack a hidden byte into every 2 successive pixels.

The payload consists of a 32-bit length, followed by a sequence of ASCII bytes consisting of the JSON-encoded options dictionary and source text.

An Octo cartridge contains the source code of an Octo program, and a set of configuration options (parsed by octopt for the CHIP-8 interpreter telling it how to run the program.

See also