Pile de disques optiques vierges à côté d'un lecteur externe fin et fermé

Eine vollständige PlayStation-1-Sammlung belegt im BIN/CUE-Format mehrere hundert Gigabyte. Dieselbe Sammlung im CHD-Format passt oft auf eine halb so große Karte, mit einer einzigen Datei pro Spiel statt einer .cue-Datei plus einem Stapel .bin-Dateien. Das Format stammt von MAME, es ist verlustfrei, und nahezu alle Emulatoren für CD-basierte Konsolen lesen es heute.

Die Konvertierung erfolgt mit einem Kommandozeilenwerkzeug, chdman, oder mit einer grafischen Oberfläche. Das ist nicht kompliziert, aber drei Fallstricke kosten einen ganzen Abend, wenn man sie nicht kennt: geschützte PAL-Spiele, Spiele mit mehreren Discs und einige Emulatoren, die bestimmte Varianten des Formats ablehnen.

Was eine CHD-Datei wirklich ist

CHD steht für Compressed Hunks of Data. Das Format wurde entwickelt, um die Festplatten von Arcade-Automaten in MAME zu archivieren, und später auf CD- und DVD-Images erweitert. Zwei Eigenschaften sind für Sie wichtig.

Erstens ist die Kompression verlustfrei. Die wiederhergestellten Daten sind bitgenau identisch mit dem Original-Image. Es handelt sich nicht um eine Neukodierung: Die Musik wird nicht verschlechtert, die Videos ebenso wenig.

Zweitens ist CHD ein einzelner Container. Ein Saturn-Spiel, das aus einer .cue- und dreiundzwanzig .bin-Dateien besteht, wird zu einer einzigen .chd. Ihre Ordner werden übersichtlich, und Cover-Scraper finden sich viel besser zurecht. Ist Ihre Ordnerstruktur bereits eine Baustelle, behandelt unser Leitfaden zur Ordnerorganisation je nach Firmware das Thema ausführlich.

Technisch zerlegt chdman das Image in Blöcke (die Hunks) und wendet auf jeden den besten der zugelassenen Codecs an. Für eine CD sind die Standard-Codecs cdlz, cdzl und cdfl: LZMA, Deflate und FLAC, getrennt angewendet auf Daten, Audio und Subkanäle. Diese Mischung erklärt die Unterschiede bei der Ersparnis von Spiel zu Spiel.

Welche Systeme profitieren und welche nicht

CHD lohnt sich nur für optische Datenträger. Ein Cartridge-Spiel ist bereits eine kompakte Datei und oft schon vom Core selbst komprimiert: Eine Super-Nintendo-ROM zu konvertieren bringt nichts, und kein Emulator kann sie dann lesen.

System Empfohlenes Format Kommentar
PlayStation 1 CHD Der lohnendste Fall. Gelesen von DuckStation, Beetle PSX, SwanStation.
Sega Saturn CHD Beetle Saturn und Yabause akzeptieren .chd. Schluss mit Ordnern voller zwanzig Tracks.
Dreamcast CHD Konvertierung aus GDI oder CUE, gelesen von Flycast.
Mega CD, PC Engine CD, Neo Geo CD, 3DO, CD32 CHD Aktuelle libretro-Cores. Der Core Opera (3DO) akzeptiert .chd.
PlayStation 2 CHD Funktioniert, aber lesen Sie weiter unten den Abschnitt über Android-Emulatoren.
PSP CHD oder CSO CHD wird seit PPSSPP 1.17 unterstützt, etwas besser als CSO.
GameCube, Wii RVZ Dolphins eigenes Format, hier effizienter. CHD wird von Dolphin nicht gelesen.
Cartridges (NES, SNES, Mega Drive, GBA, N64…) Keines Bei Bedarf ZIP- oder 7z-Archiv, niemals CHD.

Für GameCube und Wii erfolgt die Konvertierung in Dolphin: Rechtsklick auf das Spiel, Convert File, dann das Format RVZ. Die genaue Bezeichnung variiert je nach Version des Emulators.

Die tatsächliche Ersparnis und warum sie so stark schwankt

Die allgemein beobachtete Größenordnung liegt zwischen 30 und 60 % zurückgewonnenem Speicherplatz. Einige veröffentlichte Messungen geben einen Eindruck: Resident Evil 2 (PS1, Disc 1) schrumpft von 656 MB auf 370 MB, Devil May Cry (PS2) von 4,69 GB auf 1,84 GB, Summon Night 5 (PSP) von 912 MB auf 337 MB. Bei einer gemischten Sammlung ist eine Halbierung ein realistisches Ziel.

Die Schwankung ergibt sich aus dem Inhalt der Disc. Eine PS2-DVD ist ganz überwiegend mit Leerraum oder redundanten Daten gefüllt: Diese Füllung lässt sich enorm komprimieren. Eine CD dagegen, deren Oberfläche zur Hälfte mit Audiotracks belegt ist, gewinnt deutlich weniger. Diese Tracks werden mit FLAC verarbeitet, das hervorragend ist, aber eben verlustfreie Audiokompression bleibt: Man gewinnt typischerweise ein Drittel bis die Hälfte zurück, nicht 90 %.

Dieselbe Logik gilt für Spiele voller Zwischensequenzen. Die Videos sind bereits an der Quelle komprimiert; sie erneut zu komprimieren bringt fast nichts. Ein kurzes, schlankes PS1-Jump-’n’-Run kann um 70 % schrumpfen, ein Mega-CD-Rollenspiel mit vollständigem Redbook-Soundtrack verliert kaum 20 %. Planen Sie den Kauf einer Speicherkarte nicht nach dem besten Fall; unser Ratgeber zu microSD-Karten nennt die Kapazitäten, die sinnvoll sind.

Die Methode mit chdman

Das Werkzeug beschaffen

chdman wird mit MAME ausgeliefert. Unter Windows befindet es sich im offiziellen MAME-Archiv unter dem Namen chdman.exe, und es liegt auch der Oberfläche namDHC bei. Unter macOS mit Homebrew:

brew install rom-tools

Unter Debian und Ubuntu heißt das Paket mame-tools:

sudo apt install mame-tools

Starten Sie anschließend chdman ohne Argumente: Das Programm zeigt seine Version und die Liste der Befehle an. Linux-Repositorys enthalten manchmal eine Version, die weit hinter MAME zurückliegt; wenn Sie PSP oder PS2 im Blick haben, greifen Sie besser zu einer aktuellen Binärdatei.

Eine CD konvertieren

Für ein CD-Image, unabhängig vom System (PS1, Saturn, Dreamcast, Mega CD, PC Engine CD, 3DO):

chdman createcd -i "spiel.cue" -o "spiel.chd"

Der Befehl akzeptiert als Eingabe auch .gdi-, .toc- und .iso-Images. Die .cue-Datei muss korrekt sein und die darin referenzierten .bin-Dateien müssen im selben Ordner liegen, sonst bricht die Konvertierung sofort ab.

Eine DVD konvertieren (PS2, PSP)

Für ein DVD-Image lautet der Befehl anders, und die Blockgröße spielt eine Rolle:

chdman createdvd -hs 2048 -i "spiel.iso" -o "spiel.chd"

Die Option -hs 2048 legt die Hunk-Größe auf 2.048 Byte fest. Die Dokumentation von PPSSPP empfiehlt sie ausdrücklich für PSP-Images: Mit den Standardwerten mancher chdman-Versionen bricht die Leseleistung ein. Seit PPSSPP 1.17.1 steht außerdem ein Zstandard-Modus zur Verfügung, der etwas schneller sein kann:

chdman createdvd -hs 2048 -i "spiel.iso" -o "spiel.chd" -c zstd

Verwenden Sie createraw nicht für ein Spiel: Dieser Befehl ist für Festplatten-Images von Arcade-Automaten gedacht.

Einen ganzen Ordner verarbeiten

Unter Linux und macOS eine Schleife über die .cue-Dateien im aktuellen Ordner:

for f in *.cue; do chdman createcd -i "$f" -o "${f%.cue}.chd"; done

Um auch Unterordner einzubeziehen:

find . -type f -name "*.cue" -exec sh -c 'chdman createcd -i "$1" -o "${1%.cue}.chd"' _ {} \;

Unter Windows in einer .bat-Datei, die neben chdman.exe liegt:

for /r %%i in (*.cue) do chdman createcd -i "%%i" -o "%%~dpni.chd"

Wenn Sie dieselbe Zeile direkt in die Eingabeaufforderung eingeben, ersetzen Sie %%i durch %i. Die Konvertierung beansprucht den Prozessor stark: Rechnen Sie mit einigen Sekunden bis mehreren Minuten pro Spiel, bei einer PS2-DVD mit deutlich mehr.

Löschen Sie nicht sofort etwas. Konvertieren Sie, probieren Sie mindestens ein Spiel pro System auf dem Zielgerät aus und löschen Sie erst danach die Originale. Eine aus Sicht des Werkzeugs erfolgreiche Konvertierung garantiert nicht, dass Ihr Emulator das Ergebnis akzeptiert.

Ohne Kommandozeile

Drei gängige Lösungen, alle rund um dasselbe chdman aufgebaut:

  • namDHC (Windows, kostenlos, GPL-3.0): Drag-and-drop, Stapelkonvertierung, Extraktion und Überprüfung. Es benötigt chdman.exe im selben Ordner; die veröffentlichten Versionen liefern es mit.
  • CHDroid (Android, erhältlich im Play Store und auf GitHub): konvertiert direkt auf dem Smartphone oder auf einer Android-Konsole. Praktisch auf einer Retroid Pocket oder einer AYN, aber langsam bei großen DVDs.
  • Swift-CHD (macOS): kleine Oberfläche, die das mit Homebrew installierte chdman aufruft.

Diese Oberflächen bieten dieselben Optionen wie die Kommandozeile, einschließlich der Hunk-Größe. Achten Sie darauf, dass sie für PS2 und PSP den DVD-Modus verwenden.

Die Fallstricke, die einen Abend kosten

Geschützte PAL-Spiele für die PS1 und ihre .sbi-Datei

Ein Teil der europäischen PlayStation-1-Spiele enthält einen Kopierschutz namens LibCrypt, der auf Subkanal-Daten beruht, die in einem klassischen BIN/CUE-Dump fehlen. Diese Daten werden separat in einer kleinen .sbi-Datei bereitgestellt.

chdman bettet sie nicht in die CHD ein. Bewahren Sie die .sbi neben der .chd auf, mit exakt demselben Basisnamen: Ape Escape (Europe).chd und Ape Escape (Europe).sbi. DuckStation und Beetle PSX laden sie dann automatisch. Für ein geschütztes PAL-Spiel auf mehreren Discs gibt die Dokumentation von Beetle PSX die Benennung [Name]_[Discnummer].sbi an. Ohne diese Datei startet das Spiel und friert dann ein oder hängt in einer Schleife auf einem Bildschirm fest, was zum Verwechseln einem beschädigten Image ähnelt.

Spiele mit mehreren Discs und die .m3u-Datei

Wenn Sie jede Disc einzeln konvertieren, erhalten Sie entsprechend viele .chd-Dateien. Damit der Emulator sie als ein einziges Spiel erkennt und den Discwechsel verwaltet, legen Sie im selben Ordner eine Textdatei mit der Endung .m3u und dem Namen des Spiels an, die pro Zeile einen Dateinamen ohne Pfad enthält:

  • Final Fantasy VII (France) (Disc 1).chd
  • Final Fantasy VII (France) (Disc 2).chd
  • Final Fantasy VII (France) (Disc 3).chd

Anschließend starten Sie die .m3u, niemals direkt Disc 1. Das sorgt auch dafür, dass die virtuelle Memory Card von allen Discs gemeinsam genutzt wird.

Emulatoren, die es nicht akzeptieren

Der heute häufigste Fall betrifft die PlayStation 2 unter Android: AetherSX2 und NetherSX2 lehnen CHDs ab, die mit createdvd erstellt wurden. Die bekannte Umgehung besteht darin, diese Images mit createcd zu erzeugen, um den Preis einer etwas größeren Datei. Beide Apps werden nicht mehr gepflegt, eine Korrektur wird es nicht geben. Am PC hat PCSX2 dieses Problem nicht. Das Thema wird in unserem Artikel über PS2-Emulatoren auf Handhelds ausführlich behandelt.

Der andere Fall betrifft alte Cores, die mit manchen Original-Firmwares von Einsteigerkonsolen ausgeliefert werden: Die CHD-Unterstützung kam schrittweise in die libretro-Cores, und ein Build von 2019 kennt sie womöglich nicht. Typisches Symptom: Das Spiel erscheint nicht in der Liste, oder der Emulator schließt sich ohne Meldung. Ein Firmware-Update löst das Problem in neun von zehn Fällen – siehe unsere Firmware-Kompatibilitätstabelle und, falls das Spiel sich weiterhin sträubt, die Liste der Ursachen, warum ein Spiel nicht startet.

Den Schritt rückgängig machen

Eine CHD ist keine Einbahnstraße. So stellen Sie das Original-Image wieder her:

chdman extractcd -i "spiel.chd" -o "spiel.cue"

Sie erhalten eine .cue und die zugehörigen .bin-Dateien. Die Endung der Ausgabedatei bestimmt das erzeugte Format: Geben Sie .gdi für ein als GDI gedumptes Dreamcast-Spiel an. Für eine DVD:

chdman extractdvd -i "spiel.chd" -o "spiel.iso"

Zwei nützliche Befehle, bevor Sie etwas löschen: chdman info -i "spiel.chd" zeigt die Container-Version und die verwendeten Codecs an, chdman verify -i "spiel.chd" prüft die Integrität der Datei. Der extrahierte Inhalt ist identisch mit dem Original; lediglich die Aufteilung der Tracks kann von Ihrem ursprünglichen Dump abweichen, ohne Folgen für die Emulation.

Zur Erinnerung: Die Konvertierung in CHD ändert nichts an der Frage, woher die Dateien stammen. Sie betrifft Images, die Sie bereits rechtmäßig besitzen. Wir stellen weder Spiele noch BIOS noch Download-Links bereit. Die legalen Möglichkeiten, eine Sammlung aufzubauen, finden Sie auf unserer Seite Wo legal spielen.

In der Praxis

Beginnen Sie mit einem einzigen Spiel per createcd, probieren Sie es auf der betreffenden Konsole aus und starten Sie dann den Stapel über Nacht. Behalten Sie die Originale bis zur vollständigen Freigabe und vergessen Sie beim Kopieren auf die Karte die .sbi- und .m3u-Dateien nicht. Ist die Sammlung konvertiert, fasst eine 128-GB-Karte problemlos, was vorher 256 GB benötigte – und falls Sie dennoch mehr Kapazität brauchen, werden unsere microSD-Karten vor dem Versand durch einen vollständigen Schreib- und Lesedurchlauf geprüft.

Verschlechtert CHD die Audio- oder Videoqualität des Spiels?

Nein. Die Kompression ist streng verlustfrei, auch bei den Audiotracks, die mit FLAC verarbeitet werden. Die wiederhergestellten Daten sind identisch mit denen des Original-Images. Das lässt sich mit dem Befehl chdman verify und anschließend durch erneutes Extrahieren der Datei überprüfen.

Sollte ich auch meine Game-Boy-Advance- oder Super-Nintendo-Spiele konvertieren?

Nein, das bringt nichts. CHD ist für Images optischer Discs gedacht. Cartridges sind bereits kleine Dateien, und kein Emulator für Cartridge-Konsolen liest CHD. Wenn Sie Platz sparen möchten, akzeptieren die meisten libretro-Cores ZIP-Archive direkt.

Warum stürzt mein europäisches PS1-Spiel nach der Konvertierung ab?

Das liegt fast immer am LibCrypt-Schutz. Die .sbi-Datei, die zum Original-Image gehörte, muss im selben Ordner wie die .chd bleiben und denselben Basisnamen tragen. Sie wird bei der Konvertierung nicht in die CHD eingebettet, und viele vergessen sie beim Kopieren.

createcd oder createdvd für ein PlayStation-2-Spiel?

Am PC mit PCSX2 liefert createdvd das beste Ergebnis. Unter Android mit AetherSX2 oder NetherSX2 werden diese CHDs abgelehnt, und Sie müssen createcd verwenden. Da beide Apps nicht mehr gepflegt werden, dürfte sich daran nichts ändern.

Wie lange dauert die Konvertierung einer ganzen Sammlung?

Das hängt ganz von Ihrem Prozessor und der Anzahl seiner Kerne ab. Rechnen Sie mit einigen Dutzend Sekunden für eine PS1-CD auf einem aktuellen Rechner und mit mehreren Minuten für eine PS2-DVD. Bei einer Sammlung von mehreren hundert Spielen starten Sie die Stapelverarbeitung am Abend und holen das Ergebnis am nächsten Tag ab.

Kann ich direkt auf meiner Android-Handheld-Konsole konvertieren?

Ja, mit CHDroid. Für einige Titel ist das praktisch, aber der Prozessor einer Handheld-Konsole ist viel langsamer als ein Desktop-PC, und die Konvertierung belastet die microSD-Karte stark durch Schreibvorgänge. Für einen großen Stapel erledigen Sie das am Computer und kopieren die Dateien anschließend.

Chd, Chdman, Émulation, Playstation, Rubrique-technique, Stockage

Kommentar hinterlassen