Was ist das CHD-Dateiformat?
.chd - kurz für Compressed Hunks of Data - ist ein binärer Disk-Image-Container, der vom MAME-Projekt entwickelt wurde. Er speichert Festplatten von Arcade-Automaten, CD-ROMs, DVDs und LaserDisc-Medien in einer komprimierten Form, die Emulatoren effizient streamen können.
Das Format unterteilt das Quellmedium in Einheiten fester Größe, sogenannte *Hunks*. Jeder Hunk wird unabhängig komprimiert, sodass der Emulator nur den benötigten Hunk dekomprimiert und nicht das gesamte Abbild. Bis zu vier Kompressions-Codecs können in einer einzigen Datei aktiv sein: Deflate (cdzl), LZMA (cdlz), benutzerdefiniertes Huffman (huff) und FLAC (cdfl) für CD-Audiospuren. Eine typische .chd ist 30-60 % kleiner als die entsprechende .iso oder .cue+.bin-Quelle.
Jede .chd beginnt mit der 8-Byte-Magic-String MComprHD am Dateioffset 0, gefolgt von einem Big-Endian-Header, der Folgendes aufzeichnet:
- Formatversion (v4 oder aktuell v5)
- Liste der aktiven Codecs und unkomprimierte Gesamtgröße
- SHA-1-Hashes sowohl der Rohdaten als auch der vollständigen Datei
MAME validiert beide Hashes beim Laden und weist Abbilder ab, deren Hash nicht mit dem Datenbankeintrag übereinstimmt.
Das Kommandozeilen-Tool chdman, das mit MAME ausgeliefert wird, erstellt, verifiziert und konvertiert .chd-Dateien. Die Konvertierung zurück in ein .bin-Rohabbild ist vollständig verlustfrei. Das erneute Archivieren einer .chd innerhalb einer ZIP-Datei spart nur vernachlässigbar wenig Platz und bricht die Erkennung durch den Emulator, weshalb davon abgeraten wird.
Sicherheit
RISIKO: LOWCHD besteht aus inerten Bilddaten ohne ausführbaren Code und enthält SHA-1-Hashes, sodass eine manipulierte oder beschädigte Datei beim Laden erkannt wird. Die praktische Vorsicht ist rechtlicher, nicht technischer Natur: Das Verteilen oder Herunterladen von CHDs urheberrechtlich geschützter Spiele ist in der Regel Piraterie - dumpen Sie Discs, die Sie besitzen, mit chdman. Vermeiden Sie dubiose «CHD-Konverter»-Websites, die Adware enthalten; chdman von mamedev.org ist kostenlos.
Formatdetails
kurz gefasstProgramme zum Öffnen von CHD-Dateien
Technische Details
technische Spezifikation| Magic Bytes | MComprHD (8 ASCII-Bytes) bei Dateioffset 0, gefolgt von einer 4-Byte Big-Endian-Header-Länge |
| Byte-Reihenfolge | Big-endian |
| Kodierung | Binär |
| Container-Struktur | Header → Hunk-Map → komprimierte Datenblöcke pro Hunk → getaggte Metadaten-Datensätze |
| Kompressions-Codecs | Bis zu vier simultane Codecs pro Datei: Deflate (cdzl), LZMA (cdlz), Huffman (huff), FLAC (cdfl) für CD-Audio |
| Hunk-Größe | Zweierpotenz-Bytezahl, die zum Erstellungszeitpunkt festgelegt wird (typischerweise 4 KB - 512 KB); einheitlich für jeden Hunk in der Datei |
| Integritätsprüfsummen | SHA-1 des unkomprimierten Rohinhalts + SHA-1 der vollständigen CHD-Datei, beide im Header gespeichert; MAME erzwingt beide beim Laden |
| Medientypen | Festplatten-Abbilder, CD-ROM, DVD, LaserDisc und Roh-Sektor-Medien |
| Metadaten-Blöcke | Getaggte Key-Value-Datensätze, die nach der Hunk-Map eingebettet sind: CD-Track-Layout, HDD-Geometrie, Laufwerksidentifikations-Strings |
| Typisches Kompressionsverhältnis | 30-60 % kleiner als eine entsprechende ISO- oder CUE+BIN-Quelle |
| Entwickler | MAMEdev (das MAME-Projekt) |
| Unterstützte Plattformen | Windows, macOS, Linux, Android |
| Verlustfreier Round-Trip | chdman kann die exakte Original-ISO, BIN, GDI oder das Rohabbild ohne Datenverlust rekonstruieren |
| Formatversionen | v4 und v5 sind gebräuchlich; Version kodiert als 4-Byte Big-Endian-Integer unmittelbar nach dem Magic-Tag |
| Veröffentlicht | 2002 (MAME, originally for hard-disk-based arcade games) |
| Neueste Version | CHD v5 (current header/map format) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | docs.mamedev.org |
CHD-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu CHD-Dateien.