Che cos'è il formato di file CSO?
Un file .cso è uno dei primi formati di compressione progettati per comprimere le immagini disco ISO. Conosciuto anche come CISO (Compressed ISO), applica una compressione a livello di blocco per ridurre lo spazio di archiviazione consentendo comunque la lettura dell'immagine disco su richiesta.
Il formato .cso viene utilizzato principalmente per memorizzare immagini disco di giochi PlayStation Portable (PSP) in forma compressa. Un file .cso può essere compresso in nove livelli (1-9), dove i livelli più alti offrono una compressione maggiore ma una decompressione più lenta. Ogni blocco di settore da 2 KB è compresso singolarmente con DEFLATE - o memorizzato grezzo se non si riduce - in modo che il firmware personalizzato e gli emulatori decomprimano solo i blocchi necessari in ogni momento.
Ogni .cso inizia con la firma ASCII a 4 byte CISO all'offset di byte 0, seguita da un'intestazione di 24 byte (dimensione del blocco, dimensione totale non compressa, versione). Gli strumenti comuni includono maxcso e ciso; l'emulatore PPSSPP legge i file .cso direttamente su Windows, macOS, Linux e Android. Una variante più recente, .zso, sostituisce DEFLATE con LZ4 per una decompressione più rapida su hardware a bassa potenza.
Sicurezza e incolumità
RISCHIO: MEDIUMIl formato CSO in sé è un dato passivo. I rischi riguardano il contenuto e la fonte: i file CSO in circolazione sono quasi sempre giochi PSP/PS2 protetti da copyright - fare il dump di dischi di proprietà è una cosa, scaricare giochi altrui è pirateria. I siti di download di ROM di gioco sono anche un comune vettore di malware, spesso includendo finti «installer» o decompressori. Affidati a maxcso (open-source) per la compressione/decompressione e a PPSSPP (sito ufficiale) per la riproduzione; evita le utility defunte dell'era pspgen.com e qualsiasi portale di download di «convertitori CSO».
Dettagli del formato
in sintesiProgrammi che aprono file CSO
Dettagli tecnici
specifiche approfondite| Firma del file | CISO (hex 43 49 53 4F) all'offset di byte 0 |
| Dimensione intestazione | 24 byte (intestazione binaria a lunghezza fissa) |
| Dimensione blocco | 2.048 byte per blocco (corrisponde alla dimensione del settore ISO 9660 / UDF) |
| Algoritmo di compressione | DEFLATE (zlib), applicato indipendentemente a ogni blocco da 2 KB |
| Livelli di compressione | da 1 (più veloce, meno compressione) a 9 (più lento, massima compressione) |
| Flag di archiviazione per blocco | Ogni voce dell'indice dei blocchi segnala se il blocco è memorizzato compresso o grezzo (non compresso) |
| Ordine dei byte | Little-endian (tutti i campi dell'intestazione con numeri interi multi-byte) |
| Codifica | Binario |
| Dimensione compressa tipica | 50-70% dell'ISO sorgente, a seconda del livello di compressione e del tipo di contenuto |
| Intervallo tipico dimensioni file | 200 MB - 1,5 GB (immagini di giochi PSP UMD) |
| Versioni del formato | v1 (CISO originale) e v2 (maxcso; aggiunge il supporto per immagini superiori a 2 GB e flag di blocco extra) |
| Tipo MIME | application/octet-stream; anche application/x-compressed-iso |
| Formato sorgente racchiuso | Immagine disco ottico ISO 9660 / UDF |
| Integrità | Nessun checksum dell'intero file; l'integrità per blocco si affida allo stream DEFLATE |
| Uso primario | Distribuzione ed esecuzione di immagini di giochi PSP UMD sotto firmware personalizzati ed emulatori come PPSSPP |
| Varianti di compressione correlate | ZSO (.zso) usa LZ4 invece di DEFLATE; DAX (.dax) è un formato PSP separato; CSOv2 tramite maxcso estende l'intestazione originale per immagini più grandi |
| Rilasciato | circa 2005 (ciso tool for PSP homebrew); CSOv2 added later for larger/PS2 images |
| Ultima versione | CSO v2 (extends the original CISO header for >2 GB images and additional block flags); ZSO is a Zlib→LZ4 variant |
| Specifica | github.com |
Conversioni CSO
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file CSO.