Wat is het CSO-bestandsformaat?
Een .cso-bestand is een van de vroegste compressieformaten die zijn ontworpen voor het comprimeren van ISO-schijfkopieën. Ook bekend als CISO (Compressed ISO), past het compressie op blokniveau toe om opslagruimte te besparen, terwijl de schijfkopie nog steeds op aanvraag kan worden gelezen.
Het .cso-formaat wordt voornamelijk gebruikt om PlayStation Portable (PSP) gamedisc-images in gecomprimeerde vorm op te slaan. Een .cso-bestand kan op negen niveaus (1-9) worden gecomprimeerd, waarbij hogere niveaus een grotere compressie opleveren maar een tragere decompressie. Elke sector van 2 KB wordt afzonderlijk met DEFLATE gecomprimeerd - of onbewerkt opgeslagen als deze niet kleiner wordt - zodat aangepaste firmware en emulators alleen de blokken decomprimeren die op dat moment nodig zijn.
Elke .cso begint met de 4-byte ASCII-handtekening CISO op byte-offset 0, gevolgd door een header van 24 bytes (blokgrootte, totale ongecomprimeerde grootte, versie). Veelgebruikte tools zijn maxcso en ciso; de PPSSPP-emulator leest .cso-bestanden rechtstreeks op Windows, macOS, Linux en Android. Een nieuwere variant, .zso, vervangt DEFLATE door LZ4 voor snellere decompressie op hardware met weinig rekenkracht.
Beveiliging & veiligheid
RISICO: MEDIUMHet CSO-formaat zelf bestaat uit passieve gegevens. De risico's hebben betrekking op de inhoud en de bron: CSO-bestanden die in omloop zijn, zijn bijna altijd auteursrechtelijk beschermde PSP/PS2-spellen - het dumpen van schijven die u bezit is één ding, het downloaden van spellen van anderen is piraterij. Downloadsites voor game-ROM's zijn ook een veelvoorkomende bron van malware, waarbij vaak valse „installatieprogramma's” of decompressors worden meegeleverd. Houd het bij maxcso (open-source) voor compressie/decompressie en PPSSPP (officiële site) voor het afspelen; vermijd de verouderde hulpprogramma's uit het pspgen.com-tijdperk en elk „CSO converter”-downloadportaal.
Formaatdetails
in een notendopProgramma's die CSO-bestanden openen
Technische details
diepe specificaties| Bestandshandtekening | CISO (hex 43 49 53 4F) op byte-offset 0 |
| Headergrootte | 24 bytes (binaire header met vaste lengte) |
| Blokgrootte | 2.048 bytes per blok (komt overeen met ISO 9660 / UDF-sectorgrootte) |
| Compressie-algoritme | DEFLATE (zlib), onafhankelijk toegepast op elk blok van 2 KB |
| Compressieniveaus | 1 (snelste, minste compressie) tot 9 (langzaamste, maximale compressie) |
| Opslagvlag per blok | Elke blokindex-ingang geeft aan of het blok gecomprimeerd of onbewerkt (ongecomprimeerd) is opgeslagen |
| Byte-volgorde | Little-endian (alle header-velden met gehele getallen van meerdere bytes) |
| Codering | Binair |
| Typische gecomprimeerde grootte | 50-70% van de bron-ISO, afhankelijk van het compressieniveau en het type inhoud |
| Typisch bestandsgroottebereik | 200 MB - 1,5 GB (PSP UMD-game-images) |
| Formaatversies | v1 (originele CISO) en v2 (maxcso; voegt ondersteuning toe voor images groter dan 2 GB en extra blokvlaggen) |
| MIME-type | application/octet-stream; ook application/x-compressed-iso |
| Ingepakt bronformaat | ISO 9660 / UDF optische schijfkopie |
| Integriteit | Geen checksum voor het hele bestand; integriteit per blok is afhankelijk van de DEFLATE-stroom |
| Primair gebruik | Distribueren en draaien van PSP UMD-game-images onder aangepaste firmware en emulators zoals PPSSPP |
| Gerelateerde compressievarianten | ZSO (.zso) gebruikt LZ4 in plaats van DEFLATE; DAX (.dax) is een afzonderlijk PSP-formaat; CSOv2 via maxcso breidt de originele header uit voor grotere images |
| Uitgebracht | circa 2005 (ciso tool for PSP homebrew); CSOv2 added later for larger/PS2 images |
| Laatste versie | CSO v2 (extends the original CISO header for >2 GB images and additional block flags); ZSO is a Zlib→LZ4 variant |
| Specificatie | github.com |
CSO conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over CSO-bestanden.