Czym są pliki CHD i jak można z nich korzystać?

Czym są pliki CHD i jak można z nich korzystać?
Gra uruchamiana z pliku CHD z towarzyszącą mu odpowiednią pamięcią ROM.

Jeśli lubisz gry retro, być może natknąłeś się na pliki z rozszerzeniem CHD. Pliki te zazwyczaj zawierają małe klejnoty, które służą do przechowywania i katalogowania niektórych z najstarszych gier, które trafiły na scenę salonów gier. Pliki CHD zazwyczaj współpracują z emulatorem automatów do gier typu open source znanym jako MAME, ale to nie jest ich jedyne zastosowanie!

Czym są pliki CHD?

Te pliki, znane jako Compact Hunks of Data, zawierają pełne spektrum zasobów używanych w starszych automatach do gier, które są replikowane przez emulator znany jako MAME. W szczególności w MAME pliki te są kompletnymi replikami zawartości dysków twardych znajdujących się w automatach do gier. To wyjaśnia, dlaczego są tak duże.

Od niedawna pliki CHD stały się niszową alternatywą dla plików ISO lub par BIN/CUE, umożliwiającą emulację dużych gier, które zwykle działają na dyskach CD-ROM. Obejmuje to emulatory, takie jak niektóre rdzenie PlayStation Libretro w RetroArch, a co za tym idzie, wszystkie popularne dystrybucje zorientowane na emulację dla serii mikrokomputerów Raspberry Pi.

Plik CHD znajdujący się w odpowiednim folderze dla MAME.

Jeśli Twoje pliki CHD są ROMami MAME, będą musiały być przechowywane w folderze w katalogu MAME ROMs o tej samej nazwie co archiwum zip, które zawiera aktualne oprogramowanie sprzętowe emulowanej maszyny do gier. W systemie Linux katalog ROM MAME to zwykle ~/.mame/roms. W systemie Windows jest to folder roms w katalogu, do którego rozpakowałeś MAME za pomocą przenośnego instalatora.

Strzałka wskazuje folder ROM w instalacji Windows MAME.

Jeśli są to kopie zapasowe gier na oryginalną konsolę PlayStation lub inną konsolę korzystającą z dysków optycznych, należy je umieścić bezpośrednio w podkatalogu ROM emulatora.

W przypadku emulatorów konsol pliki CHD zawierają zazwyczaj całą grę, więc można je „otworzyć” w emulatorze i rozpocząć grę. W MAME są to jednak tylko atuty gry, gdyż MAME emuluje przede wszystkim automaty zręcznościowe.

W przeciwieństwie do konsol do gier, automaty do gier począwszy od połowy lat 80. miały zwykle określony profil sprzętowy, który pozwalał na uruchomienie jednej gry. Niemal powszechnie stosowali model, w którym cały kod wykonawczy gry był przechowywany w chipie ROM, a wszystkie zasoby wizualne były przechowywane na płycie CD lub, częściej, na dysku twardym.

Struktura plików MAME, pliki CHD w folderach na obrazie.

MAME nie może samodzielnie otwierać plików CHD ze względu na ten model. Pamiętaj, że są to dysk twardy część automatów do gier, w których zamieszkują. MAME musi najpierw otworzyć plik ROM zawierający kod wykonawczy (prawie powszechnie jest to plik ZIP). Wyszuka folder o tej samej nazwie co plik ROM i poszuka w nim CHD. Struktura katalogów w folderze ROMs musi zatem wyglądać następująco:

  • gra
    • gra.chd
  • gra.zip

Jeśli posiadasz jedynie plik CHD, musisz znaleźć odpowiednie oprogramowanie sprzętowe dla gry, które będzie działać z wersją MAME, której używasz.

Sprawdź zawartość pliku CHD

Najlepsze (i z tego co wiemy jedyne) narzędzie do pracy z plikami CHD pochodzi od ich źródła, od samego MAME. Nazywa się chdman. W zależności od konfiguracji MAME jest już zainstalowany lub możesz go zabrać na pokład:

Na Ubuntu/Debianie/Mincie:

W dystrybucjach opartych na Fedorze/RHEL:

W Arch Linuxie:

Należy go preinstalować w systemie Windows. Będzie on nosił nazwę chdman.exe w katalogu głównym MAME.

Ekran terminala pokazujący instalację narzędzi MAME w Arch Linux przy użyciu pomocnika YAY AUR.

Aby sprawdzić obraz CHD i zobaczyć informacje o jego strukturze, użyj:

Jeśli używasz systemu Windows, kliknij prawym przyciskiem myszy folder główny MAME, kliknij Otwórz w terminalu, a następnie wpisz:

Demonstracja polecenia chdman wyświetlająca informacje o pliku CHD.

Konwertuj swoje CHD

Możesz użyć tego samego narzędzia, aby wyodrębnić zawartość pliku CHD i go utworzyć.

Konwertowanie pliku CHD na bardziej dostępny format, np. IMG w przypadku kopii zapasowych dysku twardego lub plik BIN & Kombinacja CUE do tworzenia kopii zapasowych płyt CD ma sens tylko wtedy, gdy zamierzasz używać tych plików w innym emulatorze, który nie obsługuje formatu CHD. W przypadku plików obrazów dysku twardego użyj:

Lub dla systemu Windows:

Konwersja pliku CHD do pliku IMG.

W przypadku kopii zapasowych płyt CD zamień extracthd na extractcd w powyższe polecenie.

Jeśli używasz emulatora takiego jak PCSX ReARMed lub Demul, RetroArch lub innej dystrybucji emulatora dla swojego Raspberry Pi, teoretycznie tylko musisz umieścić pliki w ścieżce ROM emulatora, aby je wykryć i wykorzystać.

Twój folder ROM może wyglądać chaotycznie, jeśli zawiera kopie zapasowe więcej niż jednej gry, która:

  • Pierwotnie był w formacie CD
  • Jest teraz przechowywany w BIN & Kombinacje CUE
  • Zawiera wiele ścieżek audio

Z CUE & Kombinacja BIN, każda ścieżka z oryginalnej płyty CD jest zapisana jako oddzielny plik BIN, dzięki czemu pojedynczą grę można podzielić na dziesiątki plików.

Format pliku CHD został stworzony jako nowocześniejszy sposób przechowywania takich ROM-ów, dzięki czemu jest doskonały pod każdym względem. Wszystko może być zawarte w jednym pliku, a kompresja bezstratna jest inteligentnie stosowana w zależności od zawartości, aby uzyskać optymalne rezultaty. Na przykład typowe dane można skompresować za pomocą algorytmu zlib, ale poszczególne ścieżki audio są kompresowane za pomocą Flac. Prowadzi to do doskonałych współczynników kompresji przy zerowej utracie danych, ponieważ stosowane typy kompresji są „bezstratne”.

Aby przekonwertować grę podzieloną pomiędzy CUE i kilka plików BIN na pojedynczy plik CHD, użyj:

Lub w systemie Windows:

Chociaż możesz, nie musisz zmieniać parametrów kompresji – optymalne opcje zostaną wybrane automatycznie. Podczas konwersji chdman zaprezentuje między innymi różne rodzaje kompresji stosowane w każdym przypadku.

Kompresja kombinacji CUE/BIN do pliku CHD.

Po zakończeniu konwersji spróbuj załadować nowy plik CHD do tego samego emulatora, którego użyłeś początkowo do załadowania tej gry. Jeśli to zadziała, usuń oryginalne pliki i przejdź do następnej gry.

Menedżer plików wyświetlający przekonwertowany plik CHD.

Podczas sprawdzania plików możesz zauważyć, że nowo utworzony plik CHD jest znacznie mniejszy niż przekonwertowane pliki BIN, IMG lub ISO, ponieważ wiele z tych pamięci ROM zawiera artefakty z systemów gier, dla których zostały zaprojektowane i działają tak, jakby pewne bity ich danych nadal muszą zajmować określone miejsca na dysku. Ponieważ używasz emulatora, kompresja pozbędzie się dużej części tego wzdęcia bez wpływu na ogólną jakość treści, które lubisz.

Jeśli masz wiele gier retro, konwertując największą z nich do formatu CHD, przynajmniej w przypadku emulatorów, które ją obsługują, możesz zaoszczędzić wiele gigabajtów miejsca – gigabajtów, które możesz następnie wykorzystać do przechowywania jeszcze większej liczby gier retro! Jeśli lubisz grać w gry retro, dowiedz się, jak przewinąć je do poprzedniego stanu.

Wszystkie zdjęcia i zrzuty ekranu wykonał Miguel Leiva-Gomez.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *