This has, depending on the archive format, several advantages over storing the files directly on the ISO-9660 file system:
- - Possibility to use longer and more complex file names
- Ability to "multiplex", effectively increasing the maximum file count
- Professional looking disk contents, even if you are using plain TIMs for graphics
- - Maximum virtual file size of 0xFFFF bytes (shouldn't be hard to increase)
- Default file name size of up to 64-3 characters (can be changed at compile-time)
- A maximum of 255 virtual files
- No hierarchy/directories
- - Fairly low memory footprint
- Can be "instanciated" to allow for multiple open archives at once
- Up to 16 concurrently open virtual files (can be changed at compile-time)
- Portable (requires only fairly standard C functions)
- Completely static memory usage (doesn't allocate or free memory at run-time)
It works with Tails92's PSXSDK and natively on Linux with a standard GNU toolchain though.
It's not fully tested but should at least work partially.
You can get the latest version over on GitHub: https://github.com/rsoft-/libspk
It's currently released under GPLv3 but that might change in the future. (Maybe zlib, but I'm not sure as of yet.)