Skip to main content

Pure-Python decompressor for Commodore exomizer data (raw, mem, level, sfx).

Project description

pydexomizer

Pure-Python decompressor ("decrunch") for Commodore exomizer data. Decompression only, no cruncher.

Install

pip install pydexomizer
pip install pydexomizer[speedup]   # optional numba accelerator

Formats

  • raw - raw exomizer streams (all -P proto variants)
  • mem - exomizer mem PRGs
  • level - exomizer level segments
  • sfx - self-extracting PRGs, via 6502 emulation

Usage

from pydexomizer import (
    decrunch_raw, decrunch_mem, decrunch_level, decrunch_sfx,
)

data = decrunch_raw(raw_bytes)                 # -> bytes

res = decrunch_mem(mem_prg_bytes)              # -> DecrunchResult(start, data, entry)
res = decrunch_level(level_bytes)              # -> DecrunchResult(start, data, entry)
res = decrunch_sfx(sfx_prg_bytes)              # -> SfxResult(start, data, entry, cycles)
res.start, res.data

CLI

pydexomizer input.prg -f sfx -o output.prg

Development

See docs/.

Acknowledgements

Algorithm derived from Magnus Lind's exomizer (zlib licence), used as the reference implementation.

Licence

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydexomizer-0.1.0.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydexomizer-0.1.0-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file pydexomizer-0.1.0.tar.gz.

File metadata

  • Download URL: pydexomizer-0.1.0.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pydexomizer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0ada8d8d731f1e3fa967d3c518c2ac4de5458d014579819d095e3e04cd5bd5e8
MD5 09dfe94b9c206950c218e0b498606574
BLAKE2b-256 0df7ec4cff87971eaa875b1e83d1a0a440c8b335dda52d3c603fc6880c321c40

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydexomizer-0.1.0.tar.gz:

Publisher: ci.yml on anarkiwi/pydexomizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydexomizer-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pydexomizer-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pydexomizer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ba9d9dc3e803d270bc4eb279955337e03b33ca2e07c7e5a29c31e2bfe10ce358
MD5 ef67116eb27c0ab14ecf647b357e554b
BLAKE2b-256 503b0f1ec0565ada94918a3b9c2fe0382de2495346ba849ae62e10a536d37204

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydexomizer-0.1.0-py3-none-any.whl:

Publisher: ci.yml on anarkiwi/pydexomizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page