exomizer

Crates.ioexomizer
lib.rsexomizer
version0.5.0
created_at2025-07-13 20:09:37.521218+00
updated_at2025-07-13 20:09:37.521218+00
descriptionExomizer raw de-/crunching library
homepage
repository
max_upload_size
id1750757
size237,211
Alex Kazik (alexkazik)

documentation

README

Dependency status crates.io Downloads Github stars License

crate exomizer

Exomizer is a program that compresses files in a way that tries to be as efficient as possible but still allows them to be decompressed in environments where CPU speed and RAM are limited.

While the original project has a binary which not only allows de-/crunching it is also capable to create self-extracting programs for some popular 8-bit computers.

This library only supports de-/crunching in "raw" mode. There are two modules:

  • original: Routines for de-/crunching, converted from the original C code. Requires alloc.
  • simple: Routines for decrunching only, also only a subset of all possible parameters are supported (is no_std).

Features

For original:

  • alloc (default): enables the original routines.
  • std: provides logging to io (incl. stdio) (you can write your own without it).

For simple:

  • clz (default): enable the use of clz (usize::leading_zeros), please diable if using simple and your cpu does not support it (the function is always available but emulated on cpus which doesn't have it).

Unless std is activates the library is no_std.

Usage

With defaults (alloc and clz):

[dependencies]
lzss = "0.5"

Without alloc:

[dependencies]
lzss = { version = "0.5", default-features = false, features = ["clz"] }
Commit count: 0

cargo fmt