Se você gosta de jogos retrô, pode ter encontrado arquivos com a extensão “.chd”. Na maioria dos casos, esses arquivos têm algumas coisas em comum: eles têm nomes crípticos, são (relativamente) grandes e não parecem ser úteis em nada.
O que são arquivos CHD?
Resumindo, os arquivos CHD são imagens de disco de jogos de arcade usadas pelo MAME. Isso explica por que eles são tão grandes em tamanho de arquivo. Hoje em dia, eles se tornaram bastante populares entre muitos emuladores que usam ROMs relativamente grandes. Isso inclui emuladores como alguns dos núcleos do PlayStation Libretro no Retroarch e, por extensão, todas as distribuições populares orientadas à emulação para a série Raspberry Pi de microcomputadores.
Se os seus CHDs forem MAME ROMs, eles devem (normalmente) ser armazenados em pastas com o mesmo nome na pasta ROM principal do MAME.
Se forem backups de jogos para o PlayStation original ou algum outro console que usava discos óticos, eles devem, na maioria dos casos, ser colocados diretamente no subdiretório ROM do emulador.
No caso de emuladores de console, os arquivos CHD geralmente contêm o jogo inteiro, então você pode “abri-los” no emulador e começar a jogar. No MAME, porém, eles são apenas parte do jogo porque o MAME emula principalmente máquinas de arcade.
Ao contrário dos consoles de jogos, os jogos de arcade geralmente tinham hardware e software dedicados que diferiam de jogo para jogo. A parte do software da equação era normalmente armazenada em chips ROM. Em algum momento, com os chips ROM ficando caros e os jogos ficando maiores e com visuais mais impressionantes, seus desenvolvedores começaram a usar CDs ou unidades de disco rígido. Eles os usavam para armazenar os ativos mais substanciais dos jogos – gráficos, áudio, música, animações – enquanto mantinham as “partes centrais” menores de um jogo nos chips ROM.

A razão pela qual mencionamos tudo isso é porque os CHDs por conta própria geralmente são inúteis com o MAME. Você precisará dos arquivos ROM reais que os acompanham para poder usá-los. Os próprios arquivos CHD contêm os ativos do jogo, mas não o jogo em si. Você terá que encontrar os ROMs que acompanham seu arquivo CHD específico e quaisquer arquivos extras relacionados ao hardware no qual o jogo foi executado. Por isso, como ainda é uma área cinzenta do direito, só podemos dizer que o Google é seu amigo.
Coloque essas ROMs no subdiretório ROM do MAME, coloque seus CHDs no mesmo local, mas em sub-subdiretórios com seus próprios nomes e, em seguida, tente executar a ROM com MAME. Se você não estiver usando uma linha de comando, mas uma variante baseada em GUI do MAME, pode ser necessário executar uma varredura / auditoria de seus ROMs primeiro.
Verifique o conteúdo dos arquivos CHD
A melhor (e, pelo que sabemos, única) ferramenta para trabalhar com arquivos CHD vem de sua fonte, do próprio MAME. É chamado chdman
. Dependendo da configuração do MAME, ele já está instalado ou você pode trazê-lo a bordo com o comando:
sudo apt install mame-tools

Para verificar uma imagem CHD e ver algumas informações sobre sua estrutura, use:
chdman info -i IMAGE_FILENAME.chd

Converta seus CHDs
Você pode usar a mesma ferramenta para extrair o conteúdo de um arquivo CHD e para criar um.
Extrair um CHD para um formato mais acessível, como IMG para backups de disco rígido ou uma combinação de BIN & CUE para backups de CD, tem um ponto apenas se você for usar esses arquivos em um emulador diferente que não suporta o CHD formato. No caso de arquivos de imagem de disco rígido, use:
chdman extracthd -i IMAGE_FILE.CHD -o OUTPUT_FILE.IMG

Para backups de CD, substitua extracthd
com extractcd
no comando acima.

Se você estiver usando um emulador como PCSX ReARMed ou Demul, RetroArch ou alguma distribuição de emulador para seu Raspberry Pi, teoricamente, você só precisa colocar seus arquivos CHD no caminho de ROM do emulador para detectá-los e usá-los.
Sua pasta de ROMs pode parecer caótica se contiver backups de mais de um jogo que:
- Estavam originalmente em formato de CD
- Agora são armazenados em combinações BIN e CUE
- Continha várias faixas de áudio
Isso porque, com a combinação CUE e BIN, cada faixa do CD original é salva como um arquivo BIN separado, então um único jogo pode ser dividido em dezenas de arquivos.

O formato de arquivo CHD foi criado como uma forma mais moderna de armazenamento de ROMs e, portanto, é excelente em todos os aspectos. Tudo pode estar contido em um único arquivo, e a compactação sem perdas é aplicada de maneira inteligente, dependendo do conteúdo, para resultados ideais. Por exemplo, dados típicos podem ser compactados com o zlib
algoritmo, mas as faixas de áudio individuais são compactadas com Flac. Isso leva a grandes taxas de compactação com perda zero de dados, uma vez que os tipos de compactação usados são “sem perdas”.

Para converter uma divisão do jogo entre um CUE e vários arquivos BIN em um único arquivo CHD, use:
chdman createcd -i "FILENAME.cue" -o "OUTPUT_FILENAME.chd"
Embora você possa, não é necessário ajustar os parâmetros de compressão – as escolhas ideais serão escolhidas automaticamente para você. Durante a conversão, o chdman apresentará, entre outras informações, os diferentes tipos de compressão que utiliza em cada caso.

Após a conclusão da conversão, tente carregar seu novo arquivo CHD no mesmo emulador usado inicialmente para carregar o jogo. Se funcionar, exclua os arquivos originais e vá para o próximo jogo.

Se você mantiver muitos jogos retrô por perto, convertendo o maior deles para o formato CHD, pelo menos para os emuladores que os suportam, você pode acabar economizando vários gigabytes de espaço – gigabytes que você poderia usar para armazenar ainda mais jogos retro!
Relacionado: