Crates.io | decart |
lib.rs | decart |
version | 0.0.9 |
source | src |
created_at | 2021-10-11 10:51:07.078974 |
updated_at | 2022-07-25 20:04:56.738355 |
description | Octo cartridge encoder/decoder |
homepage | |
repository | https://github.com/tobiasvl/decart |
max_upload_size | |
id | 463513 |
size | 71,254 |
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.
decasm
. The runtime settings can be given to a CHIP-8 interpreter like Octo or
deca
, or saved as JSON for the CHIP-8
Archive or an .octo.rc
file for C-Octo or termin-8
, etc.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.