All Projects → emmanuel-marty → salvador

emmanuel-marty / salvador

Licence: other
A free, open-source compressor for the ZX0 format

Programming Languages

c
50402 projects - #5 most used programming language
assembly
5116 projects
CMake
9771 projects
Makefile
30231 projects

Projects that are alternatives of or similar to salvador

apultra
Free open-source compressor for apLib with 5-7% better ratios
Stars: ✭ 84 (+140%)
Mutual labels:  amstrad-cpc, compression, amiga, c64, zx-spectrum, compression-algorithm, 8-bit, atari-st
VolksForth
volksFORTH is a 16bit Forth System maintained by the German Forth Gesellschaft e.V.
Stars: ✭ 41 (+17.14%)
Mutual labels:  amiga, c64, atari, atari-st
6502.Net
A .Net-based Cross-Assembler for Several 8-Bit Microprocessors
Stars: ✭ 44 (+25.71%)
Mutual labels:  amstrad-cpc, zx-spectrum, atari, 8-bit
zpacker
very simple LZ77-based compression
Stars: ✭ 15 (-57.14%)
Mutual labels:  compression, amiga, atari
Lepton
Lepton is a tool and file format for losslessly compressing JPEGs by an average of 22%.
Stars: ✭ 4,918 (+13951.43%)
Mutual labels:  compression, compression-algorithm
image-comp-lib-rust
Image Compression Algorithm
Stars: ✭ 30 (-14.29%)
Mutual labels:  compression, compression-algorithm
retrore
A curated list of original and reverse-engineered vintage 6502 game sourcecode.
Stars: ✭ 22 (-37.14%)
Mutual labels:  c64, atari
brieflz
Small fast Lempel-Ziv compression library
Stars: ✭ 84 (+140%)
Mutual labels:  compression, compression-algorithm
jetpac-disassembly
JETPAC: annotated source code disassembly of this classic 8-bit game (1983, ZX Spectrum)
Stars: ✭ 36 (+2.86%)
Mutual labels:  zx-spectrum, 8-bit
Mad-Pascal
Mad Pascal Compiler for 6502 (Atari XE/XL, C64, C4Plus)
Stars: ✭ 46 (+31.43%)
Mutual labels:  c64, 8-bit
zxtune
Mirror of http://bitbucket.org/zxtune/zxtune repository with robot-only issues tracker
Stars: ✭ 118 (+237.14%)
Mutual labels:  amiga, zx-spectrum
lzbase62
LZ77(LZSS) based compression algorithm in base62 for JavaScript.
Stars: ✭ 38 (+8.57%)
Mutual labels:  compression, compression-algorithm
django-brotli
Django middleware that compresses response using brotli algorithm.
Stars: ✭ 16 (-54.29%)
Mutual labels:  compression, compression-algorithm
Huffman-Coding
A C++ compression program based on Huffman's lossless compression algorithm and decoder.
Stars: ✭ 81 (+131.43%)
Mutual labels:  compression, compression-algorithm
x-compressor
x – minimalist data compressor
Stars: ✭ 42 (+20%)
Mutual labels:  compression, compression-algorithm
kickoff
Open Kick-Off is a fun rewriting attempt of the cult football game Kick Off 2 designed by Dino Dini and released in 1990 by Anco for the Atari ST and the Commodore Amiga. It is written in Java with the help of libGDX.
Stars: ✭ 32 (-8.57%)
Mutual labels:  amiga, atari-st
mt32-pi-control
MT32-PI.EXE/MT32-PI.TTP/mt32-pi-ctl is a control program for the mt32-pi MIDI synthesizer available for DOS PCs, Atari ST and Amiga computers as well as modern systems running Linux and Windows.
Stars: ✭ 22 (-37.14%)
Mutual labels:  amiga, atari-st
blz4
Example of LZ4 compression with optimal parsing using BriefLZ algorithms
Stars: ✭ 24 (-31.43%)
Mutual labels:  compression, compression-algorithm
TommyGun
A retro development IDE for the creation of games on 8-bit computers.
Stars: ✭ 37 (+5.71%)
Mutual labels:  c64, zx-spectrum
Re-Pair
Offline Dictionary-based Compression (Re-Pair, Recursive Pairing)
Stars: ✭ 21 (-40%)
Mutual labels:  compression, compression-algorithm

salvador -- a fast, near-optimal compressor for the ZX0 format

salvador is a command-line tool and a library that compresses bitstreams in the ZX0 format.

The tool outputs compressed files that are within 0.02% on average, of the files produced by the zx0 packer itself. The compressor is, however, several orders of magnitude faster, with compression speed similar to apultra.

The compressor can pack files of any size, however, due to the 31.5 KB window size, files larger than 128-256 KB will get a better ratio with apultra. This will not be an issue when compressing for the main target, 8-bit micros. By default, salvador compresses for the modern (V2) format. The classic, legacy format is also supported; use the -classic flag on the command line.

salvador is written in portable C. It is fully open-source under a liberal license. You can use the ZX0 decompression libraries for your target environment. As with LZSA and apultra, you can do whatever you like with it.

The output is fully compatible with the ZX0 compressor by Einar Saukas.

Check out Dali by Bitbreaker, that uses Salvador to compress for the C64, including self, in-place decompression and proper handling of load-addresses. The tool is part of the Bitfire C64 loading system.

Included 8-bit decompression code:

  • 8088 by Emmanuel Marty.
  • 68000 by Emmanuel Marty.
  • z80 by spke and uniabis. Use the -classic flag to compress data for the Z80.
  • 6502 by John Brandwood. Use the -classic flag to compress data for the 6502.
  • HuC6280 by John Brandwood. Use the -classic flag for this platform as well.

External decompression code:

  • 6803 by Simon Jonassen and Doug Masten. Use the -classic flag to compress data for the 6803.
  • 6809 and 6309 by Doug Masten. Use the -classic flag to compress data for the 6809 or 6309 depackers.

License:

  • The salvador code is available under the Zlib license.
  • The match finder (matchfinder.c) is available under the CC0 license due to using portions of code from Eric Bigger's Wimlib in the suffix array-based matchfinder.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].