diff options
author | B. Watson <yalhcru@gmail.com> | 2017-09-07 08:07:36 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2017-09-09 06:56:14 +0700 |
commit | 5528773b70839c4612672eda520656075fb35624 (patch) | |
tree | ca63146624f3d758146a33aa31427314f40a8329 /system/pucrunch/pucrunch.rst | |
parent | a95c301d2b782772e5a2704809ca4ee00758955f (diff) |
system/pucrunch: Added (Hybrid Compressor).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system/pucrunch/pucrunch.rst')
-rw-r--r-- | system/pucrunch/pucrunch.rst | 205 |
1 files changed, 205 insertions, 0 deletions
diff --git a/system/pucrunch/pucrunch.rst b/system/pucrunch/pucrunch.rst new file mode 100644 index 0000000000000..92abd479bdfa5 --- /dev/null +++ b/system/pucrunch/pucrunch.rst @@ -0,0 +1,205 @@ +.. RST source for pucrunch(1) man page. Convert with: +.. rst2man.py pucrunch.rst > pucrunch.1 +.. rst2man.py comes from the SBo development/docutils package. + +.. |version| replace:: 20081122 +.. |date| date:: + +.. converting from pod: +.. s/B<\([^>]*\)>/**\1**/g +.. s/I<\([^>]*\)>/*\1*/g + +======== +pucrunch +======== + +--------------------------------------------------- +compressor optimized for low-resource decompression +--------------------------------------------------- + +:Manual section: 1 +:Manual group: SlackBuilds.org +:Date: |date| +:Version: |version| + +SYNOPSIS +======== + +pucrunch [*-options*] [*infile]* [*outfile*]] + +DESCRIPTION +=========== + +Pucrunch is a Hybrid LZ77 and RLE compressor, uses an Elias Gamma Code +for lengths, mixture of Gamma Code and linear for LZ77 offset, and +ranked RLE bytes indexed by the same Gamma Code. Uses no extra memory +in decompression. + +Input files can be arbitrary data (with *-d* option) or executables for +Commodore 64, VIC-20, C16, or Plus/4. Output is either a self-extracting +compressed Commodore executable, or a compressed data file suitable for +extracting via *pucrunch -u* or the included decompressor routines. See +/usr/doc/pucrunch-|version|/examples/\*.asm for 6502, 6809, and Z80 +assembly code implementations of the decompressor. + +Note: Because pucrunch contains both RLE and LZ77 and they are +specifically designed to work together, DO NOT RLE-pack your files +first, because it will decrease the overall compression ratio. + +OPTIONS +======= + +Pucrunch expects any number of options and up to two filenames. If you +only give one filename, the compressed file is written to the stardard +output. If you leave out both filenames, the input is in addition +read from the standard input. Options needing no value can be grouped +together. All values can be given in decimal (no prefix), octal (prefix +0), or hexadecimal (prefix $ or 0x). [*Note*: escape the *$* with quotes +or a backslash, to avoid your shell treating it as a metacharacter] + +Example: pucrunch demo.prg demo.pck -m6 -fs -p2 -x0xc010 + +**-c<machine>** + Selects the machine. Possible values are 128 (C128), 64 (C64), + 20 (VIC20), 16 (C16/Plus4), 0 (standalone). The default is 64, i.e. + Commodore 64. + + If you use -c0, a file without the embedded decompression code + is produced. This can be decompressed with a standalone routine + and of course with pucrunch itself. Options marked with [*SFX*] + have no effect if -c0 is used. + + The 128-mode is not fully developed yet. Currently it overwrites + memory locations $f7-$f9 (Text mode lockout, Scrolling, and Bell + settings) without restoring them later. + +**-a** + [*SFX*] Avoids video matrix if possible. Only affects VIC20 mode. + +**-d** + [*SFX*] Indicates that the file does not have a load address. A load + address can be specified with -l option. The default load + address if none is specified is 0x258. + +**-l<addr>** + [*SFX*] Overrides the file load address or sets it for data files. + +**-x<addr>** + [*SFX*] Sets the execution address or overrides automatically detected + execution address. Pucrunch checks whether a SYS-line is present + and tries to decode the address. Plain decimal addresses and + addresses in parenthesis are read correctly, otherwise you need + to override any incorrect value with this option. + +**-e<val>** + Fixes the number of escape bits used. You don't usually need or + want to use this option. + +**-r<val>** + Sets the LZ77 search range. By specifying 0 you get only RLE. + You don't usually need or want to use this option. + +**+f** + Disables 2MHz mode for C128 and 2X mode in C16/+4. + +**-fbasic** + [*SFX*] Selects the decompressor for basic programs. This version + performs the RUN function and enters the basic interpreter + automatically. Currently only C64 and VIC20 are supported. + +**-ffast** + [*SFX*] Selects the faster, but longer decompressor version, if such + version is available for the selected machine and selected + options. Without this option the medium-speed and medium-size + decompressor is used. + +**-fshort** + [*SFX*] Selects the shorter, but slower decompressor version, if such + version is available for the selected machine and selected + options. Without this option the medium-speed and medium-size + decompressor is used. + +**-flist** + List all available decompressors (the *-f* options above), for all + supported machines. The list may contain more decompressors than are + shown above (the extras might be experimental, use at your own risk). + +**-fdelta** + Allows delta matching. In this mode only the waveforms in the + data matter, any offset is allowed and added in the + decompression. Note that the decompressor becomes 22 bytes + longer if delta matching is used and the short decompressor + can't be used (24 bytes more). This means that delta matching + must get more than 46 bytes of total gain to get any net + savings. So, always compare the result size to a version + compressed without -fdelta. + + Also, the compression time increases because delta matching is + more complicated. The increase is not 256-fold though, somewhere + around 6-7 times is more typical. So, use this option with care + and do not be surprised if it doesn't help on your files. + +**-n** + Disables RLE and LZ77 length optimization. You don't usually + need or want to use this option. + +**-s** + Display full statistics instead of a compression summary. + +**-p<bits>** + Fixes the number of extra LZ77 position bits used for the low + part. If pucrunch tells you to to use this option, see if the + new setting gives better compression. + +**-m<bits>** + Sets the maximum length value. The value should be 5, 6, or 7. + The lengths are 64, 128 and 256, respectively. If pucrunch tells + you to to use this option, see if the new setting gives better + compression. The default value is 7. + +**-i<0|1>** + Defines the interrupt enable state to be used after + decompression. Value 0 disables interrupts, other values enable + interrupts. The default is to enable interrupts after + decompression. + +**-g<byte>** + Defines the memory configuration to be used after decompression. + Only used for C64 mode (-c64). The default value is $37. + +**-u** + Unpacks/decompresses a file instead of compressing it. The file + to decompress must have a decompression header compatible with + one of the decompression headers in the current version. + +**-h** + Print built-in help and exit. + + +COPYRIGHT +========= + +As of 21.12.2005 Pucrunch is under GNU LGPL. See\: + + http://creativecommons.org/licenses/LGPL/2.1/ + http://www.gnu.org/copyleft/lesser.html + +AUTHORS +======= + +pucrunch was written by Pasi Ojala <a1bert@iki.fi>. + +This man page consists of excerpts from the author's documentation. It +was written for the SlackBuilds.org project by B. Watson, and is licensed +under the same terms as the original docs. + +SEE ALSO +======== + +cbmcombine(1), exomizer(1), vice(1) + +The pucrunch homepage: http://a1bert.kapsi.fi/Dev/pucrunch/ + +The full documentation and sample decompressor code\: + + /usr/doc/pucrunch-|version|/ |