github pacnpal/compressatorium v4.2.0-beta-2

latest releases: v4.5.0-beta-3, v4.5.0-beta-2, v4.5.0-beta-1...
pre-release4 months ago

v4.2.0-beta-2: PS3 folders and one-step CSO→CHD

Second beta of 4.2.0. No functional changes from beta-1 — this re-cut rolls up a docs sync (README, AGENTS, and the design docs now cover the PS3 ISO tool and the CSO→CHD chain). The features are unchanged: the first tool that takes a folder instead of a file, and the first conversion that chains two tools into one job. This rolls up everything since 4.1.0.

This is a pre-release. If you want the stable cut, stay on v4.1.0.

What's new

PS3 ISO: pack a decrypted folder into a .iso

A new PS3 ISO tool takes a folder you've already decrypted (a PS3_GAME/ root, plus PS3_DISC.SFB for disc rips) and packages it into a single .iso that RPCS3 mounts directly, using makeps3iso.

This is the first conversion whose input is a folder, not a file. Browse to or search for a PS3 folder, switch to the PS3 ISO tool, and the folder becomes selectable like any source row. The output is <folder>.iso next to the source, or in your chosen output directory. After a build it does a light PARAM.SFO TITLE_ID readback from the produced ISO and flags a mismatch in the job message.

Decryption and keys are out of scope. This only repackages folders you already decrypted, and it never deletes the source folder.

Optional 4 GB split for FAT32

FAT32 can't hold a single file over 4 GB, so most PS3 discs won't fit as one .iso. A per-job Split into 4 GB parts (FAT32) toggle runs makeps3iso with -s, so an image over ~4 GB is written as Game.iso.0, Game.iso.1, and so on (RPCS3 mounts the .0). A title under 4 GB still produces a single file. The file browser folds a split set into one entry: it shows Game.iso with the combined size and a part count, not a row per chunk. Default off, since ext4/NTFS/exFAT targets don't need it.

Folder builds are protected while they run

While a PS3 folder is being built into an ISO, its whole subtree is locked. A per-file job that was already queued and whose input or output lands inside that folder is deferred, re-queued and retried once the folder build finishes, instead of failing. A new request submitted mid-build is rejected up front like any output collision (HTTP 409 for a single job, skipped in a batch). Rename and delete inside an in-flight folder are blocked too, and every subtree check resolves symlinks so a symlinked path can't slip past.

CSO → CHD in one step

A new Convert to CHD mode on the CSO tool runs the full PSP/PS2 pipeline in one job: maxcso decompresses the .cso/.zso/.dax to a temporary .iso, then chdman packages that to a .chd. PPSSPP, PCSX2, and RetroArch read the result. The intermediate .iso lives in a private temp dir and is cleaned up automatically, so only the source and the final .chd remain.

Delete-on-verify works end to end: the original .cso is removed only after the final .chd passes chdman verification. Disc-ID GAME/NAME tags are embedded into the CHD just like a direct Create DVD.

Notes

  • The makeps3iso binary (GPL-3.0, bucanero/ps3iso-utils, pinned commit) is built unmodified in the Docker image, mirroring maxcso, and builds on both linux/amd64 and linux/arm64.
  • Both new features are in the Web UI and the REST API, with live progress and verify.
  • The full per-PR notes are in docs/RELEASE_NOTES.md.

Don't miss a new compressatorium release

NewReleases is sending notifications on new releases.