[Anleitung] DatUtil



  • Einleitung

    Da vermehrt Fragen auftauchen, wie man sich "gefilterte" DATS aus bestehenden heraus erstellen kann, habe ich hier mal eine kleine Zusammenfassung geschrieben, die die Benutzung von DatUtil anhand eines Beispiels erklärt.

    Beschreibung

    DatUtil ist ein Kommandozeilentool, mit dem man DAT Dateien auf unterschiedlichste Art und Weise anpassen kann. Es öffnet DAT Dateien beliebiger Größe und macht es somit praktischer, bzw. benutzbarer, als DatWorkshop Pro

    Beispiel

    • Ihr wollt euch eine DAT erstellen, die NUR NeoGeo Spiele enthält.
    • Zusätzlich sollen NUR die Parents enthalten sein, sprich keine Clones.
    • Dazu wollt ihr die aktuellste DAT für MAME benutzen ("MAME - ROMs (v0.176_XML).dat")

    Inhalt

    Das Tool bringt eine readme.txt mit sich, die allerdings - meiner Meinung nach - recht unübersichtlich ist und dazu noch auf Englisch verfasst ist, was wiederum einigen Menschen Probleme bereitet

    Den wichtigen Teil der readme.txt habe ich hier einmal abgebildet:

    Defaults:
    fix merging (used to be the -m option)
    remove duplicate ROMs/disks/samples

    Saving:
    -f output format (listinfo, listxml, romcenter2, delimited, sublist, etc)
    -q always use quotes around strings (only applies to listinfo output)
    -k keep as much information as possible from the source file
    -j Nebula Jukebox - only load Z80 and Sample ROMs from romdata
    -o output to file
    -a append to file
    -t test mode - no data file is actually saved (just loaded and cleansed)

    Header text:
    -A author
    -V version
    -C category
    -R ref name
    -F full name (i.e. description)
    -T date
    -E e-mail
    -H homepage
    -U url
    -O comment
    -M merging (none, split or full)
    -P packing (zip or unzip)
    -N nodump (obsolete, required or ignore)

    Game selection:
    -g individual game selection. use the @ symbol to specify a file of names
    -c include clones (for use with the -g option)
    -G select games from a specified sourcefile. The @ method is also supported
    -S select games using substring of description. The @ method is supported
    -! changes the -g, -G, -S options (including the -c option) to exclude games
    -r remove clones

    Cleansing:
    -l lower case game names and ROM names
    -s sort games by parent (sorted by parent name then game name)
    -i include missing information from a 'reference' data file
    -I Incorporate games from a 'supplement' data file
    -X fix merging off (do not use unless you understand the consequences!)
    -D remove duplicate ROMs/disks/samples (as above in terms of usage)
    -p prune (remove) ROMs, disks and/or samples (e.g. '-p disk,sample')

    MD5/SHA1:
    -x Calculate SHA1/MD5 when scanning files or ZIPs in a directory
    -m Use MD5 checksums rather than SHA1 (e.g. when using -x, -m can be used)

    Information:
    -v Verbose logging
    -d Show debug messages

    Anleitung am Beispiel

    1. Die MAME - ROMs (v0.176_XML).dat in das DatUtil Verzeichnis kopieren
    2. CMD als Administrator öffnen
    3. In das Verzeichnis von DatUtil wechseln
    4. Folgenden Befehl ausführen: datutil.exe -g neogeo -c -r -f generic -A Nachtgarm -C "Standard DatFile" -F NeoGeoOnlyNoClones -R NeoGeo_only_NO_clones -V "1.0" -o NeoGeoOnlyNoClones.dat "MAME - ROMs (v0.176_XML).dat"

    Das Ergebnis ist eine neue .datmit dem Namen NeoGeoOnlyNoClones.dat, die dann in ROMulus, oder clrmamepro geöffnet werden kann. Enthalten sind dann 159 Spiele und ein Bios.

    Hier ein Ausschnitt aus der fertigen Datei:

    <?xml version="1.0"?>
    <!DOCTYPE datafile PUBLIC "-//Logiqx//DTD ROM Management Datafile//EN" "http://www.logiqx.com/Dats/datafile.dtd">
    <datafile>
    	<header>
    		<name>NeoGeo_only_NO_clones</name>
    		<description>NeoGeoOnlyNoClones</description>
    		<category>Standard DatFile</category>
    		<version>1.0</version>
    		<author>Nachtgarm</author>
    	</header>
    	<game name="2020bb" romof="neogeo">
    		<description>2020 Super Baseball (set 1)</description>
    		<year>1991</year>
    		<manufacturer>SNK / Pallas</manufacturer>
    		<rom name="sp-s2.sp1" merge="sp-s2.sp1" size="131072" crc="9036d879" sha1="4f5ed7105b7128794654ce82b51723e16e389543"/>
    		<rom name="sp-s.sp1" merge="sp-s.sp1" size="131072" crc="c7f2fa45" sha1="09576ff20b4d6b365e78e6a5698ea450262697cd"/>
    		<rom name="sp-u2.sp1" merge="sp-u2.sp1" size="131072" crc="e72943de" sha1="5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb"/>
    		<rom name="sp-e.sp1" merge="sp-e.sp1" size="131072" crc="2723a5b5" sha1="5dbff7531cf04886cde3ef022fb5ca687573dcb8"/>
    		<rom name="v2.bin" merge="v2.bin" size="131072" crc="62f021f4" sha1="62d372269e1b3161c64ae21123655a0a22ffd1bb"/>
    		<rom name="asia-s3.rom" merge="asia-s3.rom" size="131072" crc="91b64be3" sha1="720a3e20d26818632aedf2c2fd16c54f213543e1"/>
    		<rom name="vs-bios.rom" merge="vs-bios.rom" size="131072" crc="f0e8f27d" sha1="ecf01eda815909f1facec62abf3594eaa8d11075"/>
    		<rom name="sp-j2.sp1" merge="sp-j2.sp1" size="131072" crc="acede59c" sha1="b6f97acd282fd7e94d9426078a90f059b5e9dd91"/>
    		<rom name="sp1.jipan.1024" merge="sp1.jipan.1024" size="131072" crc="9fb0abe4" sha1="18a987ce2229df79a8cf6a84f968f0e42ce4e59d"/>
    		<rom name="sp-45.sp1" merge="sp-45.sp1" size="524288" crc="03cc9f6a" sha1="cdf1f49e3ff2bac528c21ed28449cf35b7957dc1"/>
    		<rom name="japan-j3.bin" merge="japan-j3.bin" size="131072" crc="dff6d41f" sha1="e92910e20092577a4523a6b39d578a71d4de7085"/>
    		<rom name="sp-1v1_3db8c.bin" merge="sp-1v1_3db8c.bin" size="131072" crc="162f0ebe" sha1="fe1c6dd3dfcf97d960065b1bb46c1e11cb7bf271"/>
    		<rom name="uni-bios_3_2.rom" merge="uni-bios_3_2.rom" size="131072" crc="a4e8b9b3" sha1="c92f18c3f1edda543d264ecd0ea915240e7c8258"/>
    		<rom name="uni-bios_3_1.rom" merge="uni-bios_3_1.rom" size="131072" crc="0c58093f" sha1="29329a3448c2505e1ff45ffa75e61e9693165153"/>
    		<rom name="uni-bios_3_0.rom" merge="uni-bios_3_0.rom" size="131072" crc="a97c89a9" sha1="97a5eff3b119062f10e31ad6f04fe4b90d366e7f"/>
    		<rom name="uni-bios_2_3.rom" merge="uni-bios_2_3.rom" size="131072" crc="27664eb5" sha1="5b02900a3ccf3df168bdcfc98458136fd2b92ac0"/>
    		<rom name="uni-bios_2_3o.rom" merge="uni-bios_2_3o.rom" size="131072" crc="601720ae" sha1="1b8a72c720cdb5ee3f1d735bbcf447b09204b8d9"/>
    		<rom name="uni-bios_2_2.rom" merge="uni-bios_2_2.rom" size="131072" crc="2d50996a" sha1="5241a4fb0c63b1a23fd1da8efa9c9a9bd3b4279c"/>
    		<rom name="uni-bios_2_1.rom" merge="uni-bios_2_1.rom" size="131072" crc="8dabf76b" sha1="c23732c4491d966cf0373c65c83c7a4e88f0082c"/>
    		<rom name="uni-bios_2_0.rom" merge="uni-bios_2_0.rom" size="131072" crc="0c12c2ad" sha1="37bcd4d30f3892078b46841d895a6eff16dc921e"/>
    		<rom name="uni-bios_1_3.rom" merge="uni-bios_1_3.rom" size="131072" crc="b24b44a0" sha1="eca8851d30557b97c309a0d9f4a9d20e5b14af4e"/>
    		<rom name="uni-bios_1_2.rom" merge="uni-bios_1_2.rom" size="131072" crc="4fa698e9" sha1="682e13ec1c42beaa2d04473967840c88fd52c75a"/>
    		<rom name="uni-bios_1_2o.rom" merge="uni-bios_1_2o.rom" size="131072" crc="e19d3ce9" sha1="af88ef837f44a3af2d7144bb46a37c8512b67770"/>
    		<rom name="uni-bios_1_1.rom" merge="uni-bios_1_1.rom" size="131072" crc="5dda0d84" sha1="4153d533c02926a2577e49c32657214781ff29b7"/>
    		<rom name="uni-bios_1_0.rom" merge="uni-bios_1_0.rom" size="131072" crc="0ce453a0" sha1="3b4c0cd26c176fc6b26c3a2f95143dd478f6abf9"/>
    		<rom name="030-p1.p1" size="524288" crc="d396c9cb" sha1="47ba421d14d05b965a8d44e7475b227a208e5a07"/>
    		<rom name="030-s1.s1" size="131072" crc="7015b8fc" sha1="8c09bc3e6c62e0f7c9557c1e10c901be325bae7f"/>
    		<rom name="sfix.sfix" merge="sfix.sfix" size="131072" crc="c2ea0cfd" sha1="fd4a618cdcdbf849374f0a50dd8efe9dbab706c3"/>
    		<rom name="000-lo.lo" merge="000-lo.lo" size="131072" crc="5a86cff2" sha1="5992277debadeb64d1c1c64b0a92d9293eaf7e4a"/>
    		<rom name="sm1.sm1" merge="sm1.sm1" size="131072" crc="94416d67" sha1="42f9d7ddd6c0931fd64226a60dc73602b2819dcf"/>
    		<rom name="030-m1.m1" size="131072" crc="4cf466ec" sha1="6a003b53c7a4af9d7529e2c10f27ffc4e58dcda5"/>
    		<rom name="030-v1.v1" size="1048576" crc="d4ca364e" sha1="b0573744b0ea2ef1e2167a225f0d254883f5af04"/>
    		<rom name="030-v2.v2" size="1048576" crc="54994455" sha1="76eb62b86e8ed51a77f44313d5cc8091b3f58d57"/>
    		<rom name="030-c1.c1" size="1048576" crc="4f5e19bd" sha1="ef7975c4b33a7aea4a25a385f604799f054d3200"/>
    		<rom name="030-c2.c2" size="1048576" crc="d6314bf0" sha1="0920cc580d7997fcb0170dd619af2f305d635577"/>
    		<rom name="030-c3.c3" size="1048576" crc="47fddfee" sha1="297c505a63448c999a2510c27bf4549102134db8"/>
    		<rom name="030-c4.c4" size="1048576" crc="780d1c4e" sha1="2e2cf9de828e3b48642dd2203637103438c62142"/>
    	</game>
    [...]
    </datafile>
    

    Erklärung des Befehls:

    datutil.exe = Der Befehl, dass Programm auszuführen
    -g = Bestimmt ein Spiel, oder ein System. In diesem Fall neogeo
    neogeo = Siehe oben
    -c = Bezieht alle Spiele mit ein (die "Doku" ist hier etwas komisch formuliert). Benutzt Du die Option nicht, wird nur das BIOS in die DAT übernommen
    -r = entfernt alle Clones
    -f = bestimmt das Format der neuen Datei. In diesem Fall generic
    -A = bestimmt den Autor. In diesem Fall Nachtgarm
    -C = bestimmt den DAT Typ (Category). In diesem Fall "Standard DatFile". Beachte die " ", die notwendig sind, da Leerzeichen enthalten sind
    -F = bestimmt den Namen (Beschreibung) der DAT innerhalb eines ROM-Managers. In diesem Fall NeoGeoOnlyNoClones
    -R = bestimmt den Namen, wie er im ROM-Manager angezeigt wird. In diesem Fall NeoGeo_only_NO_clones
    -V = bestimmt die Version des DAT Files. In diesem Fall "1.0". Auch hier sind die " " notwendig, da ein Punkt vorhanden ist
    -o = bestimmt, wie das neue File heißen soll. In diesem Fall NeoGeoOnlyNoClones.dat

    Häufig genutzte Strings

    Jeder der folgenden Strings geht immer davon aus, dass die Original DAT (vollständig) im gleichen Verzeichnis liegt, wie das Tool datutil.exe selbst

    Man will eine DAT erzeugen, die NUR NEO-GEO Spiele enthält (inklusive deren Clones)

    datutil.exe -g neogeo -c -f generic -C "Standard DatFile" -o NeuerDateiname.dat "OriginalFile.dat"

    Man will eine DAT erzeugen, die NUR NEO-GEO Spiele enthält (OHNE deren Clones)

    datutil.exe -g neogeo -c -r -f generic -C "Standard DatFile" -o NeuerDateiname.dat "OriginalFile.dat"

    Man will eine DAT erzeugen, die NUR Parents enthält (OHNE NEO-GEO Spiele und OHNE Clones)

    datutil.exe -g neogeo -c -! -r -f generic -C "Standard DatFile" -o NeuerDateiname.dat "OriginalFile.dat"



Want to support us ?

Join us on :

419
Online

31208
Users

15136
Topics

113859
Posts

Looks like your connection to Recalbox Forum was lost, please wait while we try to reconnect.