Help with DatUtil...

All about datafiles.

Moderator: Wanderer

User avatar
MsZane
PacMan
PacMan
Posts: 4
Joined: Tue Nov 28, 2017 4:05 am
Contact:

Help with DatUtil...

Post by MsZane »

I'm trying to use DatUtil to help me create a custom .dat file, but I am having trouble. I want to scan my whole rom folder, but I either get a message about the directory not being found or that no files were detected. Here is my command-line:

Code: Select all

wine datutil.exe -f clrmamepro -V 1.0 -O "DAT for good Nintendo DS games" -A "MsZane" -E "siteowner@singfun.asia" -H "https://SingFun.asia" -U "https://SingFun.asia" -o clrmamepro.dat /Volumes/ROMs/Nintendo\ -\ DS
Executing that here is what I get:

Code: Select all

===============================================================================
DatUtil v2.46 (13 April 2009) - using DatLib v2.36 (13 April 2009)
Written by Logiqx (http://www.logiqx.com/)
===============================================================================
Processing /Volumes/ROMs/Nintendo - DS:
  Scanning directory and writing details to datlib.tmp...
  Loading the file into memory (0.3KB)...
  Identified the file as being 'Folder Scan' format.
  Specified the save format as being 'MAME ListInfo'.
  Calling the 'Folder Scan' pre-parser/tokenizer...
  Storing the tokenized dat within the actual dat structure...
  Error - No games were loaded.
Aborted processing due to errors!
Can someone help me?
---- telnet: SingFun.asia:23 - The Singapore Fun BBS
---- https://SingFun.asia - My gaming and emulator site
User avatar
Wanderer
Board master
Board master
Posts: 805
Joined: Wed Oct 03, 2001 10:37 am
Location: Milky way

Re: Help with DatUtil...

Post by Wanderer »

Hi there.
MsZane wrote: Tue Nov 28, 2017 4:24 am

Code: Select all

wine datutil.exe ...
So, Linux eh? Maybe the folder is not accessible by wine or not passed properly to datutil? Try copying some files locally and execute datutil passing the local folder as parameter, to see what happens. If it works that way, it's wine...

Also, perhaps try removing the spaces from "/Volumes/ROMs/Nintendo\ -\ DS", or quoting it before trying the local folder.
User avatar
MsZane
PacMan
PacMan
Posts: 4
Joined: Tue Nov 28, 2017 4:05 am
Contact:

Re: Help with DatUtil...

Post by MsZane »

I can try moving a few files, but I have over a tb of roms so I don't want to have to do that 😄 The directory does have spaces in it, and datutil is properly seeing the directory. For instance if I put a "/" on the end it complains the directory doesn't exist. Take it off and it properly sees that I am working with a directory and then just complains it is not seeing any files...
Last edited by MsZane on Tue Nov 28, 2017 10:46 am, edited 1 time in total.
---- telnet: SingFun.asia:23 - The Singapore Fun BBS
---- https://SingFun.asia - My gaming and emulator site
User avatar
MsZane
PacMan
PacMan
Posts: 4
Joined: Tue Nov 28, 2017 4:05 am
Contact:

Re: Help with DatUtil...

Post by MsZane »

Ok, I tried copying a few files into the wine drive C: directory and get the same results of "no files specified"...
---- telnet: SingFun.asia:23 - The Singapore Fun BBS
---- https://SingFun.asia - My gaming and emulator site
User avatar
MsZane
PacMan
PacMan
Posts: 4
Joined: Tue Nov 28, 2017 4:05 am
Contact:

Re: Help with DatUtil...

Post by MsZane »

I tried copying in just one file to the current directory and this is what I get:

Code: Select all

wine datutil.exe *.nds
===============================================================================
DatUtil v2.46 (13 April 2009) - using DatLib v2.36 (13 April 2009)
Written by Logiqx (http://www.logiqx.com/)
===============================================================================
Processing 0002 - Need for Speed - Underground 2 (U).nds:
  Loading the file into memory (first 8.0KB)...
Can't identify format of '0002 - Need for Speed - Underground 2 (U).nds'
Aborted processing due to errors!
Any ideas?
---- telnet: SingFun.asia:23 - The Singapore Fun BBS
---- https://SingFun.asia - My gaming and emulator site
Proffix
Galaga
Galaga
Posts: 29
Joined: Wed Sep 27, 2017 6:48 am

Re: Help with DatUtil...

Post by Proffix »

Hi, this may be helpfull for you, i translated this text for you with google translator, Greetz Proffix

introduction

As more and more questions arise on how to create "filtered" DATS from existing ones, here is a small summary that explains how to use DatUtil with an example.
description

DatUtil is a command-line tool that allows you to customize DAT files in a variety of ways. It opens DAT files of any size, making it more convenient or usable than DatWorkshop Pro
example

You want to create a DAT that contains ONLY NeoGeo games.
In addition, ONLY the parents should be included, say no clones.
You want to use the latest DAT for MAME ("MAME - ROMs (v0.176_XML) .dat")

content

The tool brings a readme.txt with it, which, however - in my opinion - is quite confusing and written in English, which in turn causes some people problems

The important part of the readme.txt I have shown here once:

Defaults:
fix merging (used to the 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)
Date
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 lowercase 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

Instructions on the example

Copy the MAME ROMs (v0.176_XML) .dat into the DatUtil directory
Open CMD as administrator
Change to the directory of DatUtil
Run the following command: datutil.exe -g neogeo -c -r -f generic -A Nightgarm -C "Standard DatFile" -F NeoGeoOnlyNoClones -R NeoGeo_only_NO_clones -V "1.0" -o NeoGeoOnlyNoClones.dat "MAME - ROMs (v0.176_XML ) .dat "

The result is a new .dat named NeoGeoOnlyNoClones.dat, which can then be opened in ROMulus, or clrmamepro. Included are 159 games and a bios.

Here is a section of the finished file:

<? xml version = "1.0"?>
<! DOCTYPE datafile PUBLIC "- // Logiqx // DTD ROM Management Datafile // EN" "http://www.logiqx.com/Dats/datafile.dtd">
<Data file>
<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" />
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
Proffix
Galaga
Galaga
Posts: 29
Joined: Wed Sep 27, 2017 6:48 am

Re: Help with DatUtil...

Post by Proffix »

introduction
Explanation of the command:

datutil.exe = The command to run the program
-g = Specifies a game or system. In this case neogeo
neogeo = See above
-c = Includes all games (the "docu" is a bit weird here). If you do not use this option, only the BIOS will be transferred to the DAT
-r = removes all clones
-f = determines the format of the new file. In this case generic
-A = determines the author. In this case Nachtgarm
-C = determines the DAT type (Category). In this case "Standard DatFile". Note the "", which are necessary because there are spaces
-F = determines the name (description) of the DAT within a ROM manager. In this case NeoGeoOnlyNoClones
-R = determines the name as displayed in the ROM manager. In this case NeoGeo_only_NO_clones
-V = determines the version of the DAT file. In this case "1.0". Again, the "" are necessary because there is a point
-o = determines what the new file should be called. In this case NeoGeoOnlyNoClones.dat
Frequently used strings

Each of the following strings assumes that the original DAT is (completely) in the same directory as the tool datutil.exe itself
You want to create a DAT containing ONLY NEO-GEO games (including their clones)

datutil.exe -g neogeo -c -f generic -C "default datfile" -o newfilename.dat "originalfile.dat"
You want to create a DAT that contains ONLY NEO-GEO games (WITHOUT their clones)

datutil.exe -g neogeo -c -r -f generic -C "default datfile" -o newfilename.dat "originalfile.dat"
You want to create a DAT that contains ONLY Parents (WITHOUT NEO-GEO games and WITHOUT clones)

datutil.exe -g neogeo -c -! -r -f generic -C "default datfile" -o newfilename.dat "originalfile.dat"
kimmysawi
Pong
Pong
Posts: 1
Joined: Wed Jun 20, 2018 4:07 pm

Re: Help with DatUtil...

Post by kimmysawi »

MsZane wrote: Tue Nov 28, 2017 10:36 am Ok, I tried copying a few files into the wine drive C: directory and get the same results of "no files specified"...
Try to check those properties with clicking right on it and save file to D drive.. It will works
Mac

Re: Help with DatUtil...

Post by Mac »

Worth noting that files must be in ZIP format.
To generate a DAT file for ZIPPED roms in a Test folder on E-drive

datutil.exe -f genericxml -R Acorn -F "Acorn - Archimedes" -V 1.00 -A Mac -x D:\Test
Mac

Re: Help with DatUtil...

Post by Mac »

The files need to be in ZIP format
Post Reply