Exactly two years after the last release (because it's such a nice date today):
Shrinkler 4.7!
Various new features and improvements this time:
- The Amiga Shrinkler executable is now built using
Amiga-GCC. This makes it compress about 15% faster, and it longer needs ixemul.library.
- A new option (--commandline, -c) to support commandline parameters. This was always supposed to work, but only actually worked with the default header. It now works with all headers when you specify the option, and the header is a few bytes smaller if you don't.
- A new option (--bytes, -b) to disable the parity context for data compression. This usually gives better results for data that is not word-oriented. The
6502 decruncher already supports this format and points to a special Shrinkler build for this. Now you can use the standard Shrinkler.
- The output size for data crunching is no longer rounded up to a multiple of 4 bytes, as the decompressor now reads the data one byte at a time. This also means that the data no longer has to be word-aligned on 68000.
- A new option (--header, -w) to write a header before the crunched data. This header contains imformation about compressed and uncompressed size, safety margin and whether parity context were enabled for the compression. To accompany this, the decompressor source code is extended with some utility code to load a Shrinkler-compressed file from disk, automatically allocating the right amount of memory for overlapped decompression.
Finally, the default compression preset was upped from -2 to -3, since this is usually a more suitable sweet spot between size and speed, and it's the maximum number of iterations that can be printed in an Amiga console with a width of 77 characters. :)