CSO ファイル形式とは?
.csoファイルは、ISOディスクイメージを圧縮するために設計された初期の圧縮形式の一つです。CISO(Compressed ISO)とも呼ばれ、ディスクイメージをオンデマンドで読み取り可能に保ちながら、ストレージ容量を削減するためにブロックレベルの圧縮を適用します。
.cso形式は主に、PlayStation Portable(PSP)のゲームディスクイメージを圧縮状態で保存するために使用されます。.csoファイルは9段階(1〜9)のレベルで圧縮でき、レベルが高いほど圧縮率は高くなりますが、展開速度は遅くなります。各2 KBのセクタブロックは個別にDEFLATE圧縮されますが、圧縮してもサイズが小さくならない場合は生のまま保存されます。これにより、カスタムファームウェアやエミュレータはその瞬間に必要なブロックだけを展開できます。
すべての.csoは、バイトオフセット0にある4バイトのASCIIシグネチャCISOで始まり、その後に24バイトのヘッダー(ブロックサイズ、展開後の合計サイズ、バージョン)が続きます。一般的なツールにはmaxcsoやcisoがあります。PPSSPPエミュレータは、Windows、macOS、Linux、Androidで.csoファイルを直接読み取ることができます。より新しい派生形式である.zsoは、低電力ハードウェアでの展開を高速化するためにDEFLATEをLZ4に置き換えています。
セキュリティと安全性
リスク: MEDIUMCSO形式自体は受動的なデータです。リスクはコンテンツとソースにあります。流通しているCSOファイルはほとんどの場合、著作権で保護されたPSP/PS2ゲームです。所有しているディスクをダンプすることは一つの方法ですが、他人のゲームをダウンロードすることは海賊行為です。また、ゲームROMのダウンロードサイトはマルウェアの温床となることが多く、偽の«インストーラー»や展開ツールが同梱されていることがよくあります。圧縮・展開にはmaxcso(オープンソース)を、再生にはPPSSPP(公式サイト)を使用し、開発が止まったpspgen.com時代のユーティリティや、怪しい«CSO変換»ダウンロードポータルは避けてください。
形式の詳細
概要CSO ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルシグネチャ | バイトオフセット0にCISO(hex 43 49 53 4F) |
| ヘッダーサイズ | 24バイト(固定長バイナリヘッダー) |
| ブロックサイズ | 1ブロックあたり2,048バイト(ISO 9660 / UDFのセクタサイズに一致) |
| 圧縮アルゴリズム | DEFLATE (zlib)、各2 KBブロックに独立して適用 |
| 圧縮レベル | 1(最速、最小圧縮)から9(最低速、最大圧縮) |
| ブロックごとのストレージフラグ | 各ブロックのインデックスエントリに、ブロックが圧縮されて保存されているか、生(未圧縮)で保存されているかを示すフラグがあります |
| バイト順序 | リトルエンディアン(すべてのマルチバイト整数ヘッダーフィールド) |
| エンコーディング | バイナリ |
| 典型的な圧縮サイズ | 圧縮レベルとコンテンツの種類に応じて、元のISOの50〜70% |
| 典型的なファイルサイズ範囲 | 200 MB - 1.5 GB (PSP UMDゲームイメージ) |
| 形式バージョン | v1(オリジナルのCISO)およびv2(maxcso。2 GBを超えるイメージのサポートと追加のブロックフラグを追加) |
| MIMEタイプ | application/octet-stream; または application/x-compressed-iso |
| ラップされたソース形式 | ISO 9660 / UDF 光学ディスクイメージ |
| 整合性 | ファイル全体のチェックサムはありません。ブロックごとの整合性はDEFLATEストリームに依存します |
| 主な用途 | カスタムファームウェアやPPSSPPなどのエミュレータでのPSP UMDゲームイメージの配布と実行 |
| 関連する圧縮バリアント | ZSO (.zso) はDEFLATEの代わりにLZ4を使用。DAX (.dax) は別のPSP形式。maxcsoによるCSOv2は、より大きなイメージのために元のヘッダーを拡張しています |
| リリース日 | circa 2005 (ciso tool for PSP homebrew); CSOv2 added later for larger/PS2 images |
| 最新バージョン | CSO v2 (extends the original CISO header for >2 GB images and additional block flags); ZSO is a Zlib→LZ4 variant |
| 仕様書 | github.com |
CSO の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。CSO ファイルについて最初の質問をしてみましょう。