Cosa Sono i File CHD e Come Puoi Usarli?

Se sei appassionato di giochi retro, potresti essere venuto a conoscenza di file con un’estensione CHD. Questi file contengono tipicamente piccoli tesori usati per preservare e catalogare alcuni dei giochi più antichi che hanno colpito la scena delle sale giochi. I file CHD funzionano di solito a stretto contatto con un emulatore di macchine arcade open-source conosciuto come MAME, ma questo non è il loro unico utilizzo!
Indice
- Cosa Sono i File CHD?
- Controlla i Contenuti del File CHD
- Converti i Tuoi CHD
Cosa Sono i File CHD?
Conosciuti come Compact Hunks of Data, questi file contengono l’intero spettro di asset utilizzati nelle vecchie macchine arcade replicate da un emulatore conosciuto come MAME. Specificamente in MAME, questi file sono repliche complete dei contenuti dei dischi rigidi trovati nelle macchine arcade. Questo spiega perché sono così grandi.
Recentemente, i file CHD sono diventati un’alternativa di nicchia ai file ISO o alle coppie BIN/CUE per emulare grandi giochi che solitamente funzionavano su CD-ROM. Ciò include emulatori come alcuni dei core Libretro di PlayStation in RetroArch e, per estensione, tutte le popolari distribuzioni orientate all’emulazione per la serie di microcomputer Raspberry Pi.

Se i tuoi CHD sono ROM MAME, dovranno essere memorizzati in una cartella all’interno della directory delle ROM MAME con lo stesso nome di un archivio zip che contiene il firmware reale della macchina arcade emulata. In Linux, la directory delle ROM di MAME è solitamente ~/.mame/roms. In Windows, si trova nella cartella roms all’interno della directory in cui hai estratto MAME utilizzando l’installer portatile.

Se sono backup di giochi per la PlayStation originale o altre console che utilizzavano dischi ottici, devono essere posizionati direttamente nella sottocartella ROM dell’emulatore.
Nel caso degli emulatori per console, i file CHD di solito contengono l’intero gioco, quindi puoi “aprirli” nell’emulatore e iniziare a giocare. In MAME, però, sono solo gli asset del gioco, poiché MAME emula principalmente macchine arcade.
A differenza delle console di gioco, le macchine arcade dalla metà degli anni ‘80 in poi avevano di solito un profilo hardware specifico che permetteva loro di eseguire un singolo gioco. Seguivano praticamente universali un modello, in cui tutto il codice esecutivo di un gioco sarebbe memorizzato in un chip ROM, e tutti gli asset visivi sarebbero memorizzati su un CD o, più comunemente, su un disco rigido.

MAME non può aprire i CHD da soli a causa di questo modello. Ricorda, sono la porzione del disco rigido delle macchine arcade di cui fanno parte. MAME deve prima aprire un file ROM contenente il codice esecutivo (quasi universalmente un file zip). Cercherà una cartella con lo stesso nome del file ROM e cercherà il CHD lì. La struttura della directory all’interno della cartella ROMs deve quindi apparire così:
- gioco - game.chd
- game.zip
Se hai solo il file CHD, dovrai trovare il firmware corretto per il gioco che funzioni con la versione di MAME che stai usando.
Controlla i Contenuti del File CHD
Il miglior (e, per quanto ne sappiamo, unico) strumento per lavorare con i file CHD proviene dalla loro origine, da MAME stesso. Si chiama chdman. A seconda della tua configurazione di MAME, è già installato, oppure puoi installarlo:
Su Ubuntu/Debian/Mint:
sudo apt install mame-toolsSu distribuzioni basate su Fedora/RHEL:
sudo dnf install mame-toolsSu Arch Linux:
sudo pacman -S mame-toolsDovrebbe essere preinstallato su Windows. Si chiamerà chdman.exe all’interno della directory principale di MAME.

Per controllare un’immagine CHD e vedere alcune informazioni sulla sua struttura, usa:
chdman info -i IMAGE_FILENAME.chdSe stai usando Windows, fai clic destro sulla cartella principale di MAME, clicca su Apri in Terminale, quindi digita:
.\chdman.exe info -i IMAGE_FILENAME.chd
Converti i Tuoi CHD
Puoi utilizzare lo stesso strumento per estrarre i contenuti di un file CHD e per crearne uno.
Convertire un CHD in un formato più accessibile, come IMG per backup di dischi rigidi o una combinazione BIN e CUE per backup CD, ha senso solo se intendi utilizzare quei file in un emulatore diverso che non supporta il formato CHD. Nel caso di file immagine di dischi rigidi, usa:
chdman extracthd -i IMAGE_FILE.CHD -o OUTPUT_FILE.IMGOppure per Windows:
.\chdman extracthd -i IMAGE_FILE.CHD -o OUTPUT_FILE.IMGPer i backup CD, sostituisci extracthd con extractcd nel comando sopra.
Se stai usando un emulatore come PCSX ReARMed o Demul, RetroArch, o qualche distribuzione di emulatori per il tuo Raspberry Pi, teoricamente, devi solo posizionare i tuoi file nel percorso ROM dell’emulatore affinché venga rilevato e utilizzato.
La tua cartella ROM può sembrare caotica se contiene backup di più di un gioco che:
- Era originariamente in formato CD
- È ora memorizzato in combinazioni BIN e CUE
- Contiene più tracce audio
Con la combinazione CUE e BIN, ogni traccia del CD originale è salvata come un file BIN separato, quindi un singolo gioco può essere suddiviso in dozzine di file.
Il formato di file CHD è stato creato come un modo più moderno per memorizzare tali ROM, eccellendo in ogni aspetto. Tutto può essere contenuto in un singolo file e la compressione senza perdita è applicata in modo intelligente a seconda del contenuto per risultati ottimali. Ad esempio, i dati tipici potrebbero essere compressi con l’algoritmo zlib, ma le singole tracce audio sono compresse con Flac. Questo porta a grandi tassi di compressione senza perdita di dati, poiché i tipi di compressione utilizzati sono “senza perdita”.
Per convertire un gioco suddiviso tra un CUE e una serie di file BIN in un singolo file CHD, usa:
chdman createcd -i"FILENAME.cue"-o"OUTPUT_FILENAME.chd"Oppure in Windows:
.\chdman.exe createcd -i "FILENAME.cue"-o "OUTPUT_FILENAME.chd"Anche se puoi, non devi modificare i parametri di compressione: le opzioni ottimali verranno scelte automaticamente per te. Durante la conversione, chdman presenterà, tra le altre informazioni, i diversi tipi di compressione utilizzati in ciascun caso.

Dopo il completamento della conversione, prova a caricare il tuo nuovo file CHD nello stesso emulatore che hai usato inizialmente per caricare quel gioco. Se funziona, elimina i file originali e passa al gioco successivo.

Quando controlli i file, potresti notare che il nuovo file CHD creato è significativamente più piccolo dei file BIN, IMG o ISO che hai convertito, poiché molti di questi ROM contengono artefatti dai sistemi di gioco per cui sono stati progettati e agiscono come se alcuni pezzi dei loro dati dovessero ancora occupare determinate posizioni sul disco. Poiché stai usando un emulatore, la compressione eliminerà gran parte di questo ingombro senza influire sulla qualità complessiva del contenuto che stai godendo.
Se hai molti giochi retro, quando converti i più grandi di loro nel formato CHD, almeno per gli emulatori che lo supportano, puoi finire per salvare diversi gigabyte di spazio - gigabyte che potresti poi usare per memorizzare ancora più giochi retro! Se ti piace giocare ai giochi retro, impara come riavvolgerli a uno stato precedente.
Tutte le immagini e gli screenshot di Miguel Leiva-Gomez.