Co to jest format pliku CHD?
.chd - skrót od Compressed Hunks of Data - to binarny kontener obrazów dysków opracowany przez projekt MAME. Przechowuje on dyski twarde automatów, płyty CD-ROM, DVD i nośniki LaserDisc w skompresowanej formie, którą emulatory mogą wydajnie przesyłać strumieniowo.
Format dzieli nośnik źródłowy na jednostki o stałym rozmiarze zwane *hunks* (kawałkami). Każdy kawałek jest kompresowany niezależnie, więc emulator dekompresuje tylko ten fragment, którego potrzebuje, a nie cały obraz. W jednym pliku mogą być aktywne maksymalnie cztery kodeki kompresji: Deflate (cdzl), LZMA (cdlz), niestandardowy Huffman (huff) oraz FLAC (cdfl) dla ścieżek audio CD. Typowy plik .chd jest o 30-60% mniejszy niż odpowiedni plik źródłowy .iso lub .cue+.bin.
Każdy plik .chd zaczyna się od 8-bajtowego ciągu magicznego MComprHD pod offsetem 0, po którym następuje nagłówek w formacie big-endian, zapisujący:
- wersję formatu (v4 lub obecną v5)
- listę aktywnych kodeków i całkowity rozmiar po dekompresji
- skróty SHA-1 zarówno dla surowych danych, jak i pełnego pliku
MAME weryfikuje oba skróty w momencie ładowania i odrzuca obrazy, których skrót nie zgadza się z wpisem w bazie danych.
Narzędzie wiersza poleceń chdman, dołączone do MAME, służy do tworzenia, weryfikacji i konwersji plików .chd. Konwersja z powrotem do surowego obrazu .bin jest całkowicie bezstratna. Ponowne archiwizowanie pliku .chd wewnątrz ZIP oszczędza znikomą ilość miejsca i uniemożliwia wykrywanie przez emulator, dlatego jest odradzane.
Bezpieczeństwo
RYZYKO: LOWCHD to obojętne dane obrazu bez kodu wykonywalnego i zawiera skróty SHA-1, więc zmanipulowany lub uszkodzony plik jest wykrywany przy ładowaniu. Praktyczna ostrożność ma charakter prawny, a nie techniczny: dystrybucja lub pobieranie plików CHD z grami chronionymi prawem autorskim to zazwyczaj piractwo - zrzucaj posiadane płyty za pomocą chdman. Unikaj podejrzanych stron „CHD converter”, które dołączają oprogramowanie reklamowe; chdman z mamedev.org jest darmowy.
Szczegóły formatu
w pigułceProgramy otwierające pliki CHD
Szczegóły techniczne
specyfikacja| Magiczne bajty | MComprHD (8 bajtów ASCII) pod offsetem 0, a następnie 4-bajtowa długość nagłówka big-endian |
| Kolejność bajtów | Big-endian |
| Kodowanie | Binarne |
| Struktura kontenera | Nagłówek → mapa kawałków → skompresowane bloki danych kawałków → otagowane rekordy metadanych |
| Kodeki kompresji | Do czterech jednoczesnych kodeków na plik: Deflate (cdzl), LZMA (cdlz), Huffman (huff), FLAC (cdfl) dla audio CD |
| Rozmiar kawałka (hunk) | Liczba bajtów będąca potęgą dwójki, ustalana w momencie tworzenia (zazwyczaj 4 KB - 512 KB); jednolita dla każdego kawałka w pliku |
| Sumy kontrolne integralności | SHA-1 surowej nieskompresowanej zawartości + SHA-1 kompletnego pliku CHD, oba przechowywane w nagłówku; MAME wymusza oba przy ładowaniu |
| Typy nośników | Obrazy dysków twardych, CD-ROM, DVD, LaserDisc i surowe nośniki sektorowe |
| Bloki metadanych | Otagowane rekordy klucz-wartość osadzone po mapie kawałków: układ ścieżek CD, geometria HDD, ciągi identyfikacyjne napędu |
| Typowy stopień kompresji | 30-60% mniejszy niż odpowiednie źródło ISO lub CUE+BIN |
| Deweloper | MAMEdev (projekt MAME) |
| Obsługiwane platformy | Windows, macOS, Linux, Android |
| Bezstratna konwersja zwrotna | chdman może zrekonstruować dokładny oryginalny obraz ISO, BIN, GDI lub surowy obraz bez utraty danych |
| Wersje formatu | v4 i v5 w powszechnym użyciu; wersja zakodowana jako 4-bajtowa liczba całkowita big-endian bezpośrednio po tagu magicznym |
| Wydano | 2002 (MAME, originally for hard-disk-based arcade games) |
| Najnowsza wersja | CHD v5 (current header/map format) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | docs.mamedev.org |
Konwersje CHD
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki CHD.