Che cos'è il formato di file CHD?
.chd - abbreviazione di Compressed Hunks of Data - è un contenitore binario di immagini disco sviluppato dal progetto MAME. Memorizza hard disk di macchine arcade, CD-ROM, DVD e supporti LaserDisc in una forma compressa che gli emulatori possono trasmettere in streaming in modo efficiente.
Il formato divide il supporto sorgente in unità a dimensione fissa chiamate *hunks*. Ogni hunk è compresso indipendentemente, quindi l'emulatore decomprime solo l'hunk di cui ha bisogno invece dell'intera immagine. In un singolo file possono essere attivi fino a quattro codec di compressione: Deflate (cdzl), LZMA (cdlz), Huffman personalizzato (huff) e FLAC (cdfl) per le tracce audio CD. Un tipico .chd è più piccolo del 30-60 % rispetto alla sorgente equivalente .iso o .cue+.bin.
Ogni .chd inizia con la stringa magica di 8 byte MComprHD all'offset 0 del file, seguita da un'intestazione big-endian che registra:
- versione del formato (v4 o l'attuale v5)
- elenco dei codec attivi e dimensione totale non compressa
- hash SHA-1 sia dei dati grezzi che dell'intero file
MAME convalida entrambi gli hash al momento del caricamento e rifiuta le immagini il cui hash non corrisponde alla voce nel suo database.
Lo strumento a riga di comando chdman, incluso in MAME, crea, verifica e converte i file .chd. La conversione inversa in un'immagine grezza .bin è completamente lossless. Archiviare nuovamente un .chd all'interno di un ZIP risparmia uno spazio trascurabile e interrompe il rilevamento dell'emulatore, pertanto è sconsigliato.
Sicurezza e incolumità
RISCHIO: LOWIl formato CHD contiene dati immagine inerti senza codice eseguibile e include hash SHA-1, quindi un file manomesso o corrotto viene rilevato al caricamento. La cautela pratica è legale, non tecnica: distribuire o scaricare CHD di giochi protetti da copyright è solitamente pirateria - effettua il dump dei dischi di tua proprietà con chdman. Evita siti web sospetti di «convertitori CHD» che includono adware; chdman da mamedev.org è gratuito.
Dettagli del formato
in sintesiProgrammi che aprono file CHD
Dettagli tecnici
specifiche approfondite| Magic bytes | MComprHD (8 byte ASCII) all'offset 0 del file, seguiti da una lunghezza dell'intestazione big-endian di 4 byte |
| Ordine dei byte | Big-endian |
| Codifica | Binaria |
| Struttura del contenitore | Intestazione → mappa degli hunk → blocchi di dati compressi per hunk → record di metadati etichettati |
| Codec di compressione | Fino a quattro codec simultanei per file: Deflate (cdzl), LZMA (cdlz), Huffman (huff), FLAC (cdfl) per audio CD |
| Dimensione hunk | Conteggio byte in potenza di due fissato al momento della creazione (tipicamente 4 KB - 512 KB); uniforme per ogni hunk nel file |
| Checksum di integrità | SHA-1 del contenuto grezzo non compresso + SHA-1 del file CHD completo, entrambi memorizzati nell'intestazione; MAME li verifica entrambi al caricamento |
| Tipi di supporto | Immagini hard-disk, CD-ROM, DVD, LaserDisc e supporti a settori grezzi |
| Blocchi di metadati | Record chiave-valore etichettati incorporati dopo la mappa degli hunk: layout tracce CD, geometria HDD, stringhe di identità dell'unità |
| Rapporto di compressione tipico | 30-60 % più piccolo rispetto a una sorgente ISO o CUE+BIN equivalente |
| Sviluppatore | MAMEdev (il progetto MAME) |
| Piattaforme supportate | Windows, macOS, Linux, Android |
| Conversione lossless | chdman può ricostruire l'esatta immagine originale ISO, BIN, GDI o grezza senza alcuna perdita di dati |
| Versioni del formato | v4 e v5 in uso comune; versione codificata come intero big-endian a 4 byte immediatamente dopo il tag magico |
| Rilasciato | 2002 (MAME, originally for hard-disk-based arcade games) |
| Ultima versione | CHD v5 (current header/map format) |
| Standard aperto | Sì · royalty-free |
| Specifica | docs.mamedev.org |
Conversioni CHD
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file CHD.