Co to jest format pliku CSO?
Plik .cso to jeden z najwcześniejszych formatów kompresji zaprojektowanych do zmniejszania rozmiaru obrazów płyt ISO. Znany również jako CISO (Compressed ISO), stosuje kompresję na poziomie bloków, aby zredukować zajmowane miejsce, jednocześnie pozwalając na odczyt obrazu płyty na żądanie.
Format .cso jest używany głównie do przechowywania obrazów płyt z grami na PlayStation Portable (PSP) w formie skompresowanej. Plik .cso może być skompresowany na dziewięciu poziomach (1-9), gdzie wyższe poziomy zapewniają większą kompresję, ale wolniejszą dekompresję. Każdy sektor o rozmiarze 2 KB jest indywidualnie kompresowany algorytmem DEFLATE - lub przechowywany w formie surowej, jeśli nie ulegnie zmniejszeniu - dzięki czemu niestandardowe oprogramowanie (custom firmware) i emulatory dekompresują tylko te bloki, które są potrzebne w danej chwili.
Każdy plik .cso zaczyna się od 4-bajtowej sygnatury ASCII CISO na offsecie 0, po której następuje 24-bajtowy nagłówek (rozmiar bloku, całkowity rozmiar po dekompresji, wersja). Typowe narzędzia to maxcso i ciso; emulator PPSSPP odczytuje pliki .cso bezpośrednio w systemach Windows, macOS, Linux i Android. Nowszy wariant, .zso, zastępuje algorytm DEFLATE przez LZ4 w celu szybszej dekompresji na słabszym sprzęcie.
Bezpieczeństwo
RYZYKO: MEDIUMSam format CSO to pasywne dane. Ryzyko wiąże się z zawartością i źródłem: pliki CSO w obiegu to niemal zawsze chronione prawem autorskim gry na PSP/PS2 - tworzenie kopii zapasowych własnych płyt to jedno, ale pobieranie gier innych osób to piractwo. Strony z obrazami gier są również częstym źródłem złośliwego oprogramowania, często dołączając fałszywe „instalatory” lub dekompresory. Do kompresji i dekompresji używaj wyłącznie maxcso (open-source), a do odtwarzania PPSSPP (oficjalna strona); unikaj nieaktywnych narzędzi z ery pspgen.com oraz wszelkich portali oferujących „CSO converter” do pobrania.
Szczegóły formatu
w pigułceProgramy otwierające pliki CSO
Szczegóły techniczne
specyfikacja| Sygnatura pliku | CISO (hex 43 49 53 4F) na offsecie 0 |
| Rozmiar nagłówka | 24 bajty (nagłówek binarny o stałej długości) |
| Rozmiar bloku | 2 048 bajtów na blok (zgodnie z rozmiarem sektora ISO 9660 / UDF) |
| Algorytm kompresji | DEFLATE (zlib), stosowany niezależnie do każdego bloku 2 KB |
| Poziomy kompresji | Od 1 (najszybszy, najmniejsza kompresja) do 9 (najwolniejszy, maksymalna kompresja) |
| Flaga przechowywania bloku | Każdy wpis w indeksie bloków zawiera flagę określającą, czy blok jest skompresowany, czy surowy (nieskompresowany) |
| Kolejność bajtów | Little-endian (wszystkie wielobajtowe pola całkowitoliczbowe nagłówka) |
| Kodowanie | Binarne |
| Typowy rozmiar po kompresji | 50-70% źródłowego ISO, zależnie od poziomu kompresji i typu zawartości |
| Typowy zakres rozmiaru pliku | 200 MB - 1,5 GB (obrazy gier PSP UMD) |
| Wersje formatu | v1 (oryginalne CISO) oraz v2 (maxcso; dodaje obsługę obrazów większych niż 2 GB i dodatkowe flagi bloków) |
| Typ MIME | application/octet-stream; również application/x-compressed-iso |
| Format źródłowy | Obraz płyty optycznej ISO 9660 / UDF |
| Integralność | Brak sumy kontrolnej dla całego pliku; integralność poszczególnych bloków opiera się na strumieniu DEFLATE |
| Główne zastosowanie | Dystrybucja i uruchamianie obrazów gier PSP UMD pod niestandardowym oprogramowaniem oraz emulatorami takimi jak PPSSPP |
| Powiązane warianty kompresji | ZSO (.zso) używa LZ4 zamiast DEFLATE; DAX (.dax) to oddzielny format PSP; CSOv2 przez maxcso rozszerza oryginalny nagłówek dla większych obrazów |
| Wydano | circa 2005 (ciso tool for PSP homebrew); CSOv2 added later for larger/PS2 images |
| Najnowsza wersja | CSO v2 (extends the original CISO header for >2 GB images and additional block flags); ZSO is a Zlib→LZ4 variant |
| Specyfikacja | github.com |
Konwersje CSO
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki CSO.