MAXCSO(1) | General Commands Manual | MAXCSO(1) |
NAME
MAXCSO
— Fast cso
compressor
SYNOPSIS
maxcso |
[--args ] [input.iso]
[-o output.cso] |
DESCRIPTION
A fast ISO to CSO compression program for use with PSP and PS2 emulators, which uses multiple algorithms for best compression ratio.
FEATURES
- Can use as many CPU cores as you want.
- Can use zlib(3), 7-zip's deflate, and Zopfli.
- Processes multiple files in one command.
- Can take a CSO or DAX file as a source.
- Able to output at larger block sizes.
- Support for experimental CSO v2 and ZSO formats using lz4(1) (faster decompression).
- Tuning of deflate or lz4(1) compression threshold.
- Decompression of all supported inputs (including DAX and CSO v2).
Compression
maxcso
always uses compression level 9.
Decompression speed is about the same regardless of level, and disk access
is faster with smaller files.
Using 7-zip's deflate and Zopfli improves compression ratios, but don't expect a lot. Usual results are between 0.5% to 1.0% smaller.
Larger block sizes than the default will help compression, in the
range of 2-3%. However, the files may not be compatible with some software.
For example, ppsspp
versions released after
2014-10-26 will support larger block sizes.
Avoid DAX where CSOs using larger block sizes are supported, since DAX is less efficient.
lz4(1) support is mostly for experimentation.
Speed
Compared to other tools like ciso and CisoPlus,
maxcso
can run much faster and achieve the same
compression. Use --fast
to get the fastest
compression, which matches level 9 in other tools.
Additionally, if you have better than a dual core processor,
maxcso
will use all of your cores, and perform even
better.
In usage, CSOs typically perform well in all known emulators. Some versions of PSP firmware with support for CSOs have bugs in their CSO support, but this doesn't affect emulators.
OPTIONS
Multiple files may be specified. Inputs can be iso or cso files.
--threads=N
- Specify N threads for I/O and compression.
--quiet
- Suppress status output.
--crc
- Log CRC32 checksums, ignore output files and methods.
--fast
- Use only basic zlib(3) or lz4 for fastest result.
--decompress
- Write out to raw ISO, decompressing as needed.
--block=N
- Specify a block size (default depends on iso size). Many readers only support the 2048 size.
--format=VER
cso1, cso2, zso, dax- Specify cso version. These are experimental, default is cso1.
--usr-zlib
- Enable trials with zlib(3) for deflate compression.
--use-zopli
- Enable trials with Zopfli for deflate compression. Because Zopfli is significantly slower than the other methods and uses a lot more memory, it is disabled by default. Use for maximum compression.
--use-7zdeflate
- Enable trials with 7-zip's deflate compression.
--use-lz4
- Enable trials with lz4hc for lz4(1) compression.
--use-lz4brute
- Enable bruteforce trials with lz4hc for lz4(1) compression.
--only-METHOD
- Only allow a certain compression method ( zlib(3), etc. above).
--no-METHOD
- Disable a certain compression method ( zlib(3), etc. above).
--lz4-cost=N
- Allow lz4(1) to increase block size by N% at most (cso2 only).
--orig-cost=N
- Allow uncompressed to increase block size by N% at most.
---output-path=X
- Output to path X/, use basename for default outputs.
The cost arguments allow you to allow each block to be N% bigger by using lz4(1) or no compression. This makes the file read faster (less cpu power), but take more space.
EXAMPLES
maxcso
myfile.iso- Compress myfile.iso and create myfile.cso.
maxcso
myfile.iso-o
output.cso- Compress myfile.iso and create output.cso.
SEE ALSO
BUGS
November 22, 2018 | Linux 6.10.10-arch1-1 |