CiSOMT_20090323.zip ※2009/07/03再アップロード
標準的なISOフォーマットファイルを、CiSO(CSO-Compressed ISO)ファイルに変換するソフトをつくってみました。この手のソフトは以前よりフリーウェアでながれているものもおおいのですが、圧縮速度がいまいちかなぁとか、CSO作ったときに同時にコンペアで確認してくれへんかなぁ とかいったことをかなえてくれるものです(*'-')
具体的には、ドラッグ&ドロップだけで、ISO/CSOを相互変換してくれるわけですが、ISO>CSOの場合には規定でコンペア確認をするようになっています(圧縮後、圧縮ファイルを解凍しつつISOファイルと1バイト単位で同じかどうか確認)。※チェック機能なしも可
また、昨今のマルチコアCPUを生かすべく、最大512スレッドまで分散して圧縮/解凍処理を行います。この値は分散処理の効率とリードライトキャッシュなどからバランスをとってみた数値です。キャッシュの大きさはコア数にあまり依存しないことと(むしろストレージ速度に影響される)、コア数に対しておおきめに設定しているため(クアッドコアではこの値が最適であった)、コア数に依存しない形になっています(2009/03/23でこの形式に変更)。
圧縮に関してはZLIB 1.2.3を使用しております。圧縮率・圧縮速度・解凍速度などから、圧縮レベルを9にしました。
出力先については、実行時のフォルダか、ドロップされたファイルと同じフォルダにするかを選択できるようになっています。通常はこれで十分でしょう。デスクトップなど、既定のフォルダを設定できるようにするかも、今後の検討といたします。
※自分のISOファイルをCSOファイルとして使うことを目的としています。
20090323では、要望のありましたコマンドラインパラメータからの実行に対応させました。細かな不具合があるかもしれませんが、そのときは修正版をだすと思います。コマンドラインパラメータの実行では、かなり細かな圧縮パラメータ設定が可能になっています。詳細はドキュメントをご覧ください。
20080616で未解決の高速化もほぼ完成しました。大きなバグなどがなければ、次のバージョンはださないかもしれませんが、現時点で機能的にも速度などの最適化なども、やれることはほぼおわったと考えています。
CSOといえばPSPとまず頭にでてくるとは思います。ですがPSP専用とするのもなんなので汎用的なISO>CSO変換(でもPSPで解凍できるぐらい解凍に必要なメモリーは少ないように設定)を念頭において作成しています。特に、単純に圧縮するのではなく、圧縮効率の悪い部分はあえて圧縮しないというアルゴリズムで、非力なデバイスでの読み込み速度改善を出力されるCSOファイル側からしています。
とりあえず、なんらかの進展があったり、更新すべき内容(バグフィクスなど)がでれば更新はしますが、次のバージョンの予定は未定です(´∀`)ノシ
20090323 更新内容
・コマンドラインパラメータでの実行に対応
・圧縮/解答/比較中のアプリケーション終了動作に制限(メッセージ出力)を追加