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).