Hva er CHD-filformatet?
.chd - forkortelse for Compressed Hunks of Data - er en binær diskbilde-beholder utviklet av MAME-prosjektet. Den lagrer harddisker fra arkademaskiner, CD-ROM-er, DVD-er og LaserDisc-medier i en komprimert form som emulatorer kan strømme effektivt.
Formatet deler kildemediet inn i enheter med fast størrelse kalt *hunks*. Hver hunk komprimeres uavhengig, slik at emulatoren bare dekomprimerer den hunken den trenger i stedet for hele bildet. Opptil fire komprimeringskodeker kan være aktive i en enkelt fil: Deflate (cdzl), LZMA (cdlz), tilpasset Huffman (huff), og FLAC (cdfl) for CD-lydspor. En typisk .chd er 30-60 % mindre enn den tilsvarende .iso eller .cue+.bin-kilden.
Hver .chd starter med den 8-byte lange magiske strengen MComprHD ved filforskyvning (offset) 0, etterfulgt av en big-endian-header som registrerer:
- formatversjon (v4 eller gjeldende v5)
- liste over aktive kodeker og total ukomprimert størrelse
- SHA-1-hasher av både rådataene og den fullstendige filen
MAME validerer begge hashene ved innlasting og avviser bilder der hashen ikke samsvarer med databaseoppføringen.
Kommandolinjeverktøyet chdman, som følger med MAME, oppretter, verifiserer og konverterer .chd-filer. Konvertering tilbake til et .bin råbilde er helt tapsfritt (lossless). Å arkivere en .chd på nytt inne i en ZIP sparer ubetydelig med plass og ødelegger emulatorens gjenkjenning, så det frarådes.
Sikkerhet og trygghet
RISIKO: LOWCHD er inerte bildedata uten eksekverbar kode, og den inneholder SHA-1-hasher slik at en manipulert eller korrupt fil oppdages ved innlasting. Den praktiske forsiktigheten er juridisk, ikke teknisk: distribusjon eller nedlasting av CHD-filer av opphavsrettsbeskyttede spill er vanligvis piratkopiering - dump disker du selv eier med chdman. Unngå tvilsomme «CHD-konverteringsnettsider» som inkluderer reklamevare; chdman fra mamedev.org er gratis.
Formatdetaljer
i et nøtteskallProgrammer som åpner CHD-filer
Tekniske detaljer
dyp spesifikasjon| Magiske bytes | MComprHD (8 ASCII-bytes) ved filforskyvning 0, etterfulgt av en 4-byte big-endian header-lengde |
| Byterekkefølge | Big-endian |
| Koding | Binær |
| Beholderstruktur | Header → hunk-kart → komprimerte datablokker per hunk → taggede metadata-oppføringer |
| Komprimeringskodeker | Opptil fire samtidige kodeker per fil: Deflate (cdzl), LZMA (cdlz), Huffman (huff), FLAC (cdfl) for CD-lyd |
| Hunk-størrelse | Antall bytes i potenser av to, fastsatt ved opprettelse (typisk 4 KB - 512 KB); lik for hver hunk i filen |
| Integritetssjekksummer | SHA-1 av rått ukomprimert innhold + SHA-1 av den komplette CHD-filen, begge lagret i headeren; MAME håndhever begge ved innlasting |
| Medietyper | Harddiskbilder, CD-ROM, DVD, LaserDisc og rå sektormedier |
| Metadatablokker | Taggede nøkkel-verdi-oppføringer innebygd etter hunk-kartet: CD-sporlayout, HDD-geometri, stasjonsidentitetsstrenger |
| Typisk komprimeringsgrad | 30-60 % mindre enn en tilsvarende ISO eller CUE+BIN-kilde |
| Utvikler | MAMEdev (MAME-prosjektet) |
| Støttede plattformer | Windows, macOS, Linux, Android |
| Tapsfri konvertering | chdman kan rekonstruere den nøyaktige originale ISO, BIN, GDI eller råbildet uten datatap |
| Formatversjoner | v4 og v5 er i vanlig bruk; versjon kodet som et 4-byte big-endian heltall umiddelbart etter den magiske taggen |
| Utgitt | 2002 (MAME, originally for hard-disk-based arcade games) |
| Siste versjon | CHD v5 (current header/map format) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | docs.mamedev.org |
CHD-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om CHD-filer.