add support for xz-compressed roms
commit5056b238a2e38cbc67f2c8b5ed34b421a369d343
authorrofl0r <retnyg@gmx.net>
Wed, 22 Nov 2017 17:17:22 +0000 (22 17:17 +0000)
committerrofl0r <retnyg@gmx.net>
Wed, 22 Nov 2017 17:24:58 +0000 (22 17:24 +0000)
tree99bdf90cb8781dccfdf75558995a4d8575fa328e
parentced1c9287924916edede2cced2097a3ce900d87b
add support for xz-compressed roms

using xz embedded (public domain code).
in order to be enable to use ordinary xz files, support for crc64
was activated. (if using crc32 only, one would need to use a command
like

    xz --check=crc32 --lzma2=preset=6e,dict=64KiB

to create the files.

with crc64, one can use files that have been compressed with settings
up to -9 (however, those need 64+1MB for decompression).
since gb/gbc files are small anyway, using compression level 6-8 might
be preferable to keep client memory consumption down.
every step in xz compression level downwards decreases decomp mem usage
by 50% (so level 8 would need 32+1 MB, etc).
14 files changed:
Makefile.in
Rules
loader.c
xz/COPYING [new file with mode: 0644]
xz/xz.h [new file with mode: 0644]
xz/xz_config.h [new file with mode: 0644]
xz/xz_crc32.c [new file with mode: 0644]
xz/xz_crc64.c [new file with mode: 0644]
xz/xz_dec_bcj.c [new file with mode: 0644]
xz/xz_dec_lzma2.c [new file with mode: 0644]
xz/xz_dec_stream.c [new file with mode: 0644]
xz/xz_lzma2.h [new file with mode: 0644]
xz/xz_private.h [new file with mode: 0644]
xz/xz_stream.h [new file with mode: 0644]