CHD形式(Compressed Hunks of Dataの略らしい)は、CD-ROMやその派生の形式のゲームのイメージデータをロスレス圧縮して保管・使用するためのフォーマットである。
もともとMAMEでCD形式のゲームを圧縮するのに用いられていたらしいが、現在では色んなエミュレーターで互換フォーマット的に使用されている。
基本はコマンドラインのツールになっていて、WindowsにはGUIのフロントエンドとかもあるらしい。
よほどのコレクターでもなければ圧縮の必要性はあまりないと思うし、圧縮されていることによるパフォーマンスへの影響とかが気になったりもするのだが、単純にCD1枚が1ファイルになるのはありがたい。
現代では性能問題はあまり気にしなくていいと思うし……。
で、macOSでこれを作成(というか変換)したいとき、Homebrew環境を整えている場合はかなり簡単だが、変換用のワンライナーコマンドを忘れてしまいがちなので、自分用のメモとして残しておく。
まずHomebrewのrom-toolsというパッケージにまとまっているので、インストール作業は以下のみでよい。
brew install rom-tools
cue+bin等の場合の変換は
chdman createcd -i "元ファイル名.cue" -o "書き出しファイル名.chd"
とすればよいので、 ディレクトリ内のcueファイルをすべて順次変換するのであれば、こうするとよい。(BashやZshの場合)
for file in *.cue; do chdman createcd -i "${file%.*}.cue" -o "${file%.*}.chd"; done
cueファイルからの参照先を読んでくれるので、相対的な参照位置が正しくなるようにカレントディレクトリを変更しておけばよい。
なおISOの変換は.isoを指定すればできるらしいが未検証。
特に難しいこともないし、cue+binでファイルが2つ以上必要だったのが1つにまとまって(ついでに容量も削減できて)便利という話でした。