Wat is het CHD-bestandsformaat?
.chd - kort voor Compressed Hunks of Data - is een binaire schijfkopie-container ontwikkeld door het MAME-project. Het slaat harde schijven van arcademachines, CD-ROM's, DVD's en LaserDisc-media op in een gecomprimeerde vorm die emulators efficiënt kunnen streamen.
Het formaat verdeelt de bronmedia in eenheden van vaste grootte, genaamd *hunks*. Elke hunk wordt onafhankelijk gecomprimeerd, zodat de emulator alleen de hunk decomprimeert die hij nodig heeft in plaats van de volledige image. Er kunnen maximaal vier compressie-codecs actief zijn in een enkel bestand: Deflate (cdzl), LZMA (cdlz), aangepaste Huffman (huff) en FLAC (cdfl) voor CD-audiotracks. Een typische .chd is 30-60 % kleiner dan de equivalente .iso of .cue+.bin bron.
Elke .chd begint met de 8-byte magic string MComprHD op bestandsoffset 0, gevolgd door een big-endian header die het volgende vastlegt:
- formaatversie (v4 of de huidige v5)
- lijst met actieve codecs en totale ongecomprimeerde grootte
- SHA-1-hashes van zowel de ruwe data als het volledige bestand
MAME valideert beide hashes tijdens het laden en weigert images waarvan de hash niet overeenkomt met de database-vermelding.
De chdman command-line tool, gebundeld met MAME, creëert, verifieert en converteert .chd-bestanden. Conversie terug naar een .bin ruwe image is volledig verliesvrij (lossless). Het opnieuw archiveren van een .chd in een ZIP bespaart verwaarloosbare ruimte en verstoort de detectie door emulators, dus dit wordt afgeraden.
Beveiliging & veiligheid
RISICO: LOWCHD bevat inerte image-gegevens zonder uitvoerbare code, en het bevat SHA-1-hashes zodat een gemanipuleerd of corrupt bestand bij het laden wordt gedetecteerd. De praktische waarschuwing is juridisch, niet technisch: het verspreiden of downloaden van CHD's van auteursrechtelijk beschermde spellen is meestal piraterij - dump schijven die je bezit met chdman. Vermijd dubieuze „CHD converter”-websites die adware bevatten; chdman van mamedev.org is gratis.
Formaatdetails
in een notendopProgramma's die CHD-bestanden openen
Technische details
diepe specificaties| Magic bytes | MComprHD (8 ASCII-bytes) op bestandsoffset 0, gevolgd door een 4-byte big-endian headerlengte |
| Byte-volgorde | Big-endian |
| Codering | Binair |
| Containerstructuur | Header → hunk-map → gecomprimeerde datablokken per hunk → getagde metadata-records |
| Compressie-codecs | Tot vier gelijktijdige codecs per bestand: Deflate (cdzl), LZMA (cdlz), Huffman (huff), FLAC (cdfl) voor CD-audio |
| Hunk-grootte | Macht-van-twee byte-aantal vastgesteld bij creatie (meestal 4 KB - 512 KB); uniform voor elke hunk in het bestand |
| Integriteitscontroles | SHA-1 van ruwe ongecomprimeerde inhoud + SHA-1 van het volledige CHD-bestand, beide opgeslagen in de header; MAME dwingt beide af bij het laden |
| Mediatypen | Hardeschijf-images, CD-ROM, DVD, LaserDisc en ruwe sectormedia |
| Metadatablokken | Getagde sleutel-waarde-records ingebed na de hunk-map: CD-tracklay-out, HDD-geometrie, schijfidentificatie-strings |
| Typische compressieratio | 30-60 % kleiner dan een equivalente ISO of CUE+BIN bron |
| Ontwikkelaar | MAMEdev (het MAME-project) |
| Ondersteunde platforms | Windows, macOS, Linux, Android |
| Verliesvrije cyclus | chdman kan de exacte originele ISO, BIN, GDI of ruwe image reconstrueren zonder gegevensverlies |
| Formaatversies | v4 en v5 in algemeen gebruik; versie gecodeerd als een 4-byte big-endian integer direct na de magic tag |
| Uitgebracht | 2002 (MAME, originally for hard-disk-based arcade games) |
| Laatste versie | CHD v5 (current header/map format) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | docs.mamedev.org |
CHD conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over CHD-bestanden.