レトロゲームがお好きな方なら、CHDという拡張子のファイルに出くわしたことがあるかもしれません。これらのファイルには通常、アーケードシーンでヒットした最も古いゲームの保存とカタログ化に使用される小さな宝石が含まれています。CHDファイルは通常、MAMEとして知られるオープンソースのアーケードマシンエミュレータと連携して動作しますが、用途はそれだけではありません!
CHDファイルとは?
Compact Hunks of Dataとして知られるこれらのファイルには、MAMEとして知られるエミュレータによって複製される、古いアーケードマシンで使用されるあらゆるアセットが含まれています。特にMAMEでは、これらのファイルはアーケードマシンのハードディスクの内容の完全なレプリカです。このため、ファイルサイズが非常に大きくなります。
最近では、CHDファイルは、ISOファイルやBIN/CUEペアの代わりに、CD-ROMで動作する大規模なゲームをエミュレートするニッチな選択肢となっています。これには、RetroArchのPlayStation Libretroコアのようなエミュレータや、Raspberry Piシリーズのマイクロコンピュータ用の、人気のあるエミュレーション指向のディストリビューションが含まれます。
あなたのCHDがMAME ROMの場合、MAME ROMsディレクトリ内の、エミュレートするアーケードマシンの実際のファームウェアを含むzipアーカイブと同じ名前のフォルダに保存する必要があります。Linuxでは、MAMEのROMsディレクトリは通常~/.mame/romsです。Windowsでは、ポータブルインストーラーでMAMEを解凍したディレクトリ内のromsフォルダです。
オリジナルのPlayStationや光ディスクを使う他のゲーム機のゲームのバックアップであれば、エミュレータのROMサブディレクトリに直接置くべきです。
コンソールエミュレータの場合、CHDファイルは通常ゲーム全体を含んでいるので、エミュレータで「開いて」プレイを始めることができます。しかし、MAMEでは、MAMEは主にアーケードマシンをエミュレートするため、それらはゲームのアセットだけです。 ゲーム機とは異なり、80年代半ば以降のアーケードマシンは通常、1つのゲームを実行するための特定のハードウェアプロファイルを持っていました。ゲーム内の実行コードはすべてROMチップに保存され、ビジュアルアセットはすべてCDか、より一般的なハードディスクドライブに保存されるというモデルです。このモデルのため、MAMEはCHDを単独で開くことはできません。覚えておいてほしいのは、それらはアーケードマシンのハードディスク部分であるということです。MAMEは最初に実行コードを含むROMファイル(ほぼ一般的にzipファイル)を開かなければなりません。ROMファイルと同じ名前のフォルダを探し、その中からCHDを探します。ROMフォルダ内のディレクトリ構造は次のようになっていなければなりません:
- game
- game.chd
- game.zip
CHDファイルしかない場合、使用しているMAMEのバージョンで動作するゲームの正しいファームウェアを見つける必要があります。
CHDファイルの内容を確認する
CHDファイルを扱うための最高の(そして私たちの知る限り唯一の)ツールは、MAME自身のソースから入手できます。chdmanと
呼ばれています。あなたのMAMEセットアップによりますが、すでにインストールされているか、あなたがインストールすることができます:
sudo apt installmame-tools
Fedora/RHELベースの場合:
sudo dnf installmame-tools
Arch Linuxの場合
sudopacman-Smame-tools
Windowsにはプリインストールされているはずです。MAMEルートディレクトリにchdman.exeという名前で存在します。
CHD イメージをチェックしたり、構造に関する情報を見るには
chdman info-iIMAGE_FILENAME.chd
Windowsを使用している場合は、MAMEルートフォルダを右クリックし、ターミナルで開くをクリックし、次のように入力します:
.♪chdman.exe info-iIMAGE_FILENAME.chd
CHDを変換する
同じツールを使って、CHDファイルの内容を抽出したり、CHDファイルを作成することができます。
ハードディスクドライブのバックアップの場合はIMG、CDのバックアップの場合はBINとCUEの組み合わせのように、CHDをよりアクセスしやすいフォーマットに変換するのは、CHDフォーマットをサポートしていない別のエミュレータでそれらのファイルを使用する場合にのみ意味があります。ハードディスクのイメージファイルの場合は、次のようにします:chdman extracthd-iIMAGE_FILE.CHD-oOUTPUT_FILE.IMG
または Windows の場合:
.∕chdman extracthd-iIMAGE_FILE.CHD-oOUTPUT_FILE.IMG
CDバックアップの場合は、上記のコマンドでextracthdを
extractcdに置き換えて
ください。
PCSX ReARMedやDemul、RetroArch、あるいはRaspberry Pi用のエミュレータ・ディストリビューションを使用している場合、理論的には、エミュレータのROMパスにファイルを置くだけで、エミュレータがファイルを検出し、使用できるようになります。
ROMs フォルダは、以下のような複数のゲームのバックアップを含んでいる場合、混沌として見えます:- 元はCDフォーマット
- BINとCUEの組み合わせで保存されている
- 複数のオーディオトラックを含む
CUEとBINの組み合わせでは、オリジナルCDの各トラックが別々のBINファイルとして保存されるため、1つのゲームを数十のファイルに分割することができます。
CHDファイルフォーマットは、このようなROMを保存する、より現代的な方法として作成されたため、あらゆる点で優れています。すべてを1つのファイルに収めることができ、内容に応じてロスレス圧縮がスマートに適用され、最適な結果が得られます。例えば、典型的なデータはzlib
アルゴリズムで圧縮できるが、個々のオーディオトラックはFlacで圧縮される。これは、使用される圧縮の種類が "ロスレス "であるため、データ損失ゼロで大きな圧縮率につながります。
chdman createcd-i "FILENAME.cue" -o "OUTPUT_FILENAME.chd"です。
またはWindowsの場合:
. \chdman.exe createcd-i "FILENAME.cue" -o "OUTPUT_FILENAME.chd"です。
圧縮パラメータを調整する必要はありませんが、最適なものが自動的に選択されます。変換中、chdman はそれぞれのケースで使用する圧縮の種類などを表示します。
変換が完了したら、最初にそのゲームをロードするのに使ったのと同じエミュレータで新しい CHD ファイルをロードしてみてください。うまくいったら、元のファイルを削除し、次のゲームに移ります。
ファイルを確認すると、新しく作成された CHD ファイルが、変換した BIN、IMG、または ISO ファイルよりもかなり小さいことに気づくかもしれません。これは、これらの ROM の多くには、設計されたゲーム システムからのアーティファクトが含まれており、データの特定のビットがまだディスク上の特定の位置を占める必要があるかのように動作するためです。エミュレータを使用しているため、圧縮によって、エミュレータで楽しむコンテンツの全体的な品質に影響を与えることなく、このような肥大化を取り除くことができます。
多くのレトロゲームを保存している場合、最大容量のゲームをCHDフォーマットに変換すると、少なくともそれをサポートするエミュレータでは、数ギガバイトの容量を節約することができます!レトロゲームをプレイするのが好きなら、以前の状態に巻き戻す方法を学ぼう。
すべての画像とスクリーンショットはMiguel Leiva-Gomezによるものです。