Wat zijn CHD-bestanden en hoe kunt u ze gebruiken?

Wat zijn CHD-bestanden en hoe kunt u ze gebruiken?
Een spel dat draait op een CHD-bestand met de bijbehorende ROM.

Als je van retro-gaming houdt, ben je misschien bestanden tegengekomen met een CHD-extensie. Deze bestanden bevatten meestal kleine juweeltjes die worden gebruikt om enkele van de oudste games in de arcadescene te bewaren en te catalogiseren. CHD-bestanden werken doorgaans hand in hand met een open-source arcade-machine-emulator die bekend staat als MAME, maar dat is niet hun enige gebruik!

Wat zijn CHD-bestanden?

Deze bestanden staan ​​bekend als Compact Hunks of Data en bevatten het volledige spectrum van de middelen die worden gebruikt in oudere speelautomaten en worden gerepliceerd door een emulator die bekend staat als MAME. Specifiek in MAME zijn deze bestanden complete replica’s van de inhoud van de harde schijven die te vinden zijn in speelautomaten. Dit verklaart waarom ze zo groot zijn.

Recentelijk zijn CHD-bestanden een niche-alternatief geworden voor ISO-bestanden of BIN/CUE-paren om grote games te emuleren die gewoonlijk op CD-ROM’s draaiden. Dit omvat emulators zoals enkele van de PlayStation Libretro-cores in RetroArch en, bij uitbreiding, alle populaire emulatiegerichte distributies voor de Raspberry Pi-serie microcomputers.

Een CHD-bestand dat zich in de juiste map voor MAME bevindt.

Als uw CHD’s MAME ROM’s zijn, moeten ze worden opgeslagen in een map binnen de MAME ROMs-map met dezelfde naam als een zip-archief dat de daadwerkelijke firmware bevat van de speelhalmachine die wordt geëmuleerd. In Linux is de ROMs-map van MAME meestal ~/.mame/roms. In Windows is dit de map roms in de map waarin u MAME hebt uitgepakt met het draagbare installatieprogramma.

Een pijl wijst naar de map ROMs binnen een Windows MAME-installatie.

Als het back-ups zijn van games voor de originele PlayStation of een andere console die optische schijven gebruikte, moeten ze rechtstreeks in de ROM-submap van de emulator worden geplaatst.

In het geval van console-emulators bevatten CHD-bestanden meestal het hele spel, dus je kunt ze in de emulator ‘openen’ en beginnen met spelen. In MAME zijn ze echter slechts de troeven van het spel, aangezien MAME voornamelijk arcade-machines emuleert.

In tegenstelling tot gameconsoles hadden arcademachines vanaf het midden van de jaren 80 meestal een specifiek hardwareprofiel waarmee ze één game konden draaien. Ze volgden vrijwel universeel een model waarbij alle uitvoeringscode in een spel zou worden opgeslagen op een ROM-chip, en alle visuele elementen zouden worden opgeslagen op een cd of, vaker, op een harde schijf.

MAME-bestandsstructuur, CHD-bestanden in de mappen in de afbeelding.

MAME kan vanwege dit model zelf geen CHD’s openen. Bedenk dat dit het harde schijf-gedeelte is van de speelautomaten waarin ze zich bevonden. MAME moet eerst een ROM-bestand openen met de uitvoeringscode (bijna universeel een zip-bestand). Het zoekt naar een map met dezelfde naam als het ROM-bestand en zoekt daarin naar de CHD. De mapstructuur in de map ROMs moet er dan als volgt uitzien:

  • spel
    • game.chd
  • game.zip

Als je alleen het CHD-bestand hebt, moet je de juiste firmware vinden voor de game die werkt met de versie van MAME die je gebruikt.

Controleer de inhoud van het CHD-bestand

Het beste (en, voor zover we weten, enige) hulpmiddel voor het werken met CHD-bestanden komt van de bron, van MAME zelf. Het heet chdman. Afhankelijk van je MAME-installatie is het al geïnstalleerd, of kun je het aan boord brengen:

Op Ubuntu/Debian/Mint:

Op Fedora/RHEL-gebaseerde distributies:

Op Arch Linux:

Het zou vooraf geïnstalleerd moeten zijn op Windows. Het heet chdman.exe in de MAME-hoofdmap.

Een terminaldisplay dat de installatie van MAME-tools op Arch Linux toont met behulp van de YAY AUR-helper.

Om een ​​CHD-afbeelding te controleren en wat informatie over de structuur ervan te zien, gebruikt u:

Als u Windows gebruikt, klikt u met de rechtermuisknop op de MAME-hoofdmap, klikt u op Openen in Terminal en typt u vervolgens:

Een demonstratie van de opdracht chdman met informatie over een CHD-bestand.

Converteer uw CHD’s

U kunt hetzelfde hulpmiddel gebruiken om de inhoud van een CHD-bestand te extraheren en er een te maken.

Het converteren van een CHD naar een toegankelijker formaat, zoals IMG voor back-ups van de harde schijf of een BIN & CUE-combinatie voor cd-back-ups heeft alleen zin als je die bestanden in een andere emulator gaat gebruiken die het CHD-formaat niet ondersteunt. In het geval van imagebestanden op de harde schijf gebruikt u:

Of voor Windows:

Conversie van een CHD-bestand naar een IMG-bestand.

Voor cd-back-ups vervangt u extracthd door extractcd in het bovenstaande commando.

Als je een emulator zoals PCSX ReARMed of Demul, RetroArch of een andere emulatordistributie voor je Raspberry Pi gebruikt, kun je theoretisch alleen moet uw bestanden in het ROM-pad van de emulator plaatsen zodat deze ze kan detecteren en gebruiken.

Uw ROMs-map kan er chaotisch uitzien als deze back-ups bevat van meer dan één game die:

  • Was oorspronkelijk in cd-formaat
  • Wordt nu opgeslagen in BIN & CUE-combinaties
  • Bevat meerdere audiotracks

Met de CUE & BIN-combinatie, elk nummer van de originele CD wordt opgeslagen als een afzonderlijk BIN-bestand, zodat een enkel spel in tientallen bestanden kan worden opgesplitst.

Het CHD-bestandsformaat is gemaakt als een modernere manier om dergelijke ROM’s op te slaan en blinkt dus in elk opzicht uit. Alles kan in één bestand worden opgeslagen en verliesvrije compressie wordt slim toegepast, afhankelijk van de inhoud, voor optimale resultaten. Typische gegevens kunnen bijvoorbeeld worden gecomprimeerd met het zlib-algoritme, maar individuele audiotracks worden gecomprimeerd met Flac. Dit leidt tot geweldige compressiesnelheden zonder gegevensverlies, omdat de gebruikte compressietypen ‘verliesvrij’ zijn.

Om een ​​game die is opgesplitst tussen een CUE en een aantal BIN-bestanden naar een enkel CHD-bestand te converteren, gebruikt u:

Of in Windows:

Hoewel dat wel kan, hoeft u de compressieparameters niet aan te passen; de optimale keuzes worden automatisch voor u gekozen. Tijdens de conversie zal chdman onder andere de verschillende soorten compressie presenteren die het in elk geval gebruikt.

Compressie van de CUE/BIN-combinatie in een CHD-bestand.

Nadat de conversie is voltooid, probeert u uw nieuwe CHD-bestand te laden in dezelfde emulator die u aanvankelijk gebruikte om dat spel te laden. Als het werkt, verwijder dan de originele bestanden en ga naar het volgende spel.

Bestandsbeheer dat het geconverteerde CHD-bestand weergeeft.

Wanneer u de bestanden controleert, merkt u mogelijk dat het nieuw gemaakte CHD-bestand aanzienlijk kleiner is dan de BIN-, IMG- of ISO-bestanden die u hebt geconverteerd, omdat veel van deze ROM’s artefacten bevatten van de spelsystemen waarvoor ze zijn ontworpen en zich gedragen alsof bepaalde bits van hun gegevens moeten nog steeds bepaalde posities op de schijf innemen. Omdat je een emulator gebruikt, zal compressie veel van deze opgeblazenheid wegnemen zonder de algehele kwaliteit van de inhoud die je erop leuk vindt te beïnvloeden.

Als je veel retro-games in de buurt hebt, kun je, als je de grootste daarvan naar het CHD-formaat converteert, tenminste voor de emulators die dit ondersteunen, uiteindelijk meerdere gigabytes aan ruimte besparen – gigabytes die je vervolgens zou kunnen gebruiken om nog meer retrospellen op te slaan! Als je graag retro-games speelt, leer dan hoe je ze terug kunt spoelen naar een vorige staat.

Alle afbeeldingen en screenshots door Miguel Leiva-Gomez.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *