Vad är filformatet CHD?
.chd - förkortning för Compressed Hunks of Data - är en binär diskavbildningscontainer utvecklad av MAME-projektet. Den lagrar arkadmaskiners hårddiskar, CD-ROM-skivor, DVD-skivor och LaserDisc-media i ett komprimerat format som emulatorer kan strömma effektivt.
Formatet delar upp källmediet i enheter med fast storlek som kallas *hunks*. Varje hunk komprimeras oberoende av varandra, så emulatorn dekomprimerar endast den hunk den behöver istället för hela avbildningen. Upp till fyra komprimerings-codecs kan vara aktiva i en enda fil: Deflate (cdzl), LZMA (cdlz), anpassad Huffman (huff) och FLAC (cdfl) för CD-ljudspår. En typisk .chd är 30-60 % mindre än motsvarande .iso eller .cue+.bin-källa.
Varje .chd börjar med den 8 byte långa magiska strängen MComprHD vid filoffset 0, följt av en big-endian-header som registrerar:
- formatversion (v4 eller nuvarande v5)
- lista över aktiva codecs och total okomprimerad storlek
- SHA-1-hashar för både rådata och hela filen
MAME validerar båda hasharna vid laddning och avvisar avbildningar vars hash inte matchar dess databaspost.
Kommandoradsverktyget chdman, som medföljer MAME, skapar, verifierar och konverterar .chd-filer. Konvertering tillbaka till en .bin råavbildning är helt förlustfri. Att arkivera om en .chd inuti en ZIP sparar försumbart utrymme och förstör emulatorns detektering, så det avråds.
Säkerhet & trygghet
RISK: LOWCHD är inert avbildningsdata utan exekverbar kod, och den innehåller SHA-1-hashar så att en manipulerad eller korrupt fil upptäcks vid laddning. Den praktiska försiktigheten är juridisk, inte teknisk: att distribuera eller ladda ner CHD-filer av upphovsrättsskyddade spel är vanligtvis piratkopiering - dumpa skivor du själv äger med chdman. Undvik skumma «CHD converter»-webbplatser som skickar med annonsprogram; chdman från mamedev.org är gratis.
Formatdetaljer
i ett nötskalProgram som öppnar CHD-filer
Tekniska detaljer
djup specifikation| Magiska byte | MComprHD (8 ASCII-byte) vid filoffset 0, följt av en 4-byte big-endian header-längd |
| Byterordning | Big-endian |
| Kodning | Binär |
| Containerstruktur | Header → hunk-karta → komprimerade datablock per hunk → taggade metadataposter |
| Komprimerings-codecs | Upp till fyra samtidiga codecs per fil: Deflate (cdzl), LZMA (cdlz), Huffman (huff), FLAC (cdfl) för CD-ljud |
| Hunk-storlek | Antal byte i jämna tvåpotenser fastställt vid skapandet (vanligtvis 4 KB - 512 KB); enhetligt för varje hunk i filen |
| Integritetskontroll | SHA-1 för rått okomprimerat innehåll + SHA-1 för den kompletta CHD-filen, båda lagrade i headern; MAME tvingar kontroll av båda vid laddning |
| Mediatyper | Hårddiskavbildningar, CD-ROM, DVD, LaserDisc och råa sektor-media |
| Metadatablock | Taggade nyckel-värde-poster inbäddade efter hunk-kartan: CD-spårlayout, HDD-geometri, enhetsidentifieringssträngar |
| Typisk komprimeringsgrad | 30-60 % mindre än en motsvarande ISO- eller CUE+BIN-källa |
| Utvecklare | MAMEdev (MAME-projektet) |
| Plattformar som stöds | Windows, macOS, Linux, Android |
| Förlustfri konvertering | chdman kan rekonstruera den exakta ursprungliga ISO, BIN, GDI eller råavbildningen utan dataförlust |
| Formatversioner | v4 och v5 används allmänt; versionen är kodad som ett 4-byte big-endian-heltal omedelbart efter den magiska taggen |
| Släppt | 2002 (MAME, originally for hard-disk-based arcade games) |
| Senaste version | CHD v5 (current header/map format) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | docs.mamedev.org |
CHD-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om CHD-filer.