O que é o formato de ficheiro CHD?
.chd - abreviação de Compressed Hunks of Data - é um contêiner binário de imagem de disco desenvolvido pelo projeto MAME. Ele armazena discos rígidos de máquinas de arcade, CD-ROMs, DVDs e mídias LaserDisc em um formato compactado que os emuladores podem transmitir de forma eficiente.
O formato divide a mídia de origem em unidades de tamanho fixo chamadas *hunks*. Cada hunk é compactado de forma independente, de modo que o emulador descompacta apenas o hunk de que precisa, em vez da imagem inteira. Até quatro codecs de compactação podem estar ativos em um único arquivo: Deflate (cdzl), LZMA (cdlz), Huffman personalizado (huff) e FLAC (cdfl) para faixas de áudio de CD. Um .chd típico é 30-60 % menor que a fonte equivalente .iso ou .cue+.bin.
Todo .chd começa com a string mágica de 8 bytes MComprHD no deslocamento de arquivo 0, seguida por um cabeçalho big-endian que registra:
- versão do formato (v4 ou a atual v5)
- lista de codecs ativos e tamanho total descompactado
- hashes SHA-1 tanto dos dados brutos quanto do arquivo completo
O MAME valida ambos os hashes no momento do carregamento e rejeita imagens cujo hash não corresponda à sua entrada no banco de dados.
A ferramenta de linha de comando chdman, incluída no MAME, cria, verifica e converte arquivos .chd. A conversão de volta para uma imagem bruta .bin é totalmente lossless (sem perdas). Recompactar um .chd dentro de um ZIP economiza um espaço insignificante e quebra a detecção do emulador, por isso é desencorajado.
Segurança e proteção
RISCO: LOWO CHD contém dados de imagem inertes sem código executável e carrega hashes SHA-1 para que um arquivo adulterado ou corrompido seja detectado no carregamento. A cautela prática é legal, não técnica: distribuir ou baixar CHDs de jogos protegidos por direitos autorais geralmente é pirataria - extraia discos que você possui com o chdman. Evite sites obscuros de «conversor de CHD» que incluam adware; o chdman do mamedev.org é gratuito.
Detalhes do formato
em resumoProgramas que abrem arquivos CHD
Detalhes técnicos
especificação profunda| Bytes mágicos | MComprHD (8 bytes ASCII) no deslocamento de arquivo 0, seguido por um comprimento de cabeçalho big-endian de 4 bytes |
| Ordem dos bytes | Big-endian |
| Codificação | Binário |
| Estrutura do contêiner | Cabeçalho → mapa de hunks → blocos de dados compactados por hunk → registros de metadados etiquetados |
| Codecs de compactação | Até quatro codecs simultâneos por arquivo: Deflate (cdzl), LZMA (cdlz), Huffman (huff), FLAC (cdfl) para áudio de CD |
| Tamanho do hunk | Contagem de bytes em potência de dois fixada no momento da criação (geralmente 4 KB - 512 KB); uniforme para cada hunk no arquivo |
| Checksums de integridade | SHA-1 do conteúdo bruto descompactado + SHA-1 do arquivo CHD completo, ambos armazenados no cabeçalho; o MAME impõe ambos no carregamento |
| Tipos de mídia | Imagens de disco rígido, CD-ROM, DVD, LaserDisc e mídias de setor bruto |
| Blocos de metadados | Registros de chave-valor etiquetados incorporados após o mapa de hunks: layout de trilha de CD, geometria de HDD, strings de identidade da unidade |
| Taxa de compactação típica | 30-60 % menor que uma fonte ISO ou CUE+BIN equivalente |
| Desenvolvedor | MAMEdev (o projeto MAME) |
| Plataformas suportadas | Windows, macOS, Linux, Android |
| Conversão lossless | O chdman pode reconstruir a imagem exata original ISO, BIN, GDI ou bruta sem perda de dados |
| Versões do formato | v4 e v5 em uso comum; versão codificada como um inteiro big-endian de 4 bytes imediatamente após a tag mágica |
| Lançado | 2002 (MAME, originally for hard-disk-based arcade games) |
| Versão mais recente | CHD v5 (current header/map format) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | docs.mamedev.org |
Conversões de CHD
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos CHD.