Skip to content

DAT Scanning

DATs are provided to Igir with the --dat <path|glob|url> option. The option behaves like all other file scanning options in that:

  • You can provide a path to a file or a directory.
  • You can provide a glob pattern.
  • Files can be archived (in a supported format) or unarchived.

Tip

Igir will work the best with every available command if you provide it DATs. Without DATs, Igir has to make educated guesses about folder structures and naming patterns.

Supported DAT formats

There have been many DAT-like formats developed over the years. Igir supports the following:

  • Logiqx XML (most common) (No-Intro, Redump, TOSEC, and more)
  • MAME ListXML (XML exported by the mame -listxml command)

    Tip

    Instead of exporting the ListXML to a file yourself, you can also specify a MAME executable for the DAT path and then Igir is smart enough to parse it:

    Windows is fairly easy, MAME is officially compiled for Windows and downloads can be found on many mirror sites.

    igir [commands..] --dat "mame0258b_64bit.exe" --input <input>
    

    MAME isn't officially compiled for macOS, you will have to use a third-party release such as SDL MAME.

    igir [commands..] --dat "mame0258-x86/mame" --input <input>
    

    Most distros (Ubuntu, Debian, Fedora, etc.) have MAME in their package repositories, but some will require you to compile MAME yourself. If the mame executable is in your $PATH, you can specify its path like this:

    igir [commands..] --dat "$(which "mame")" --input <input>
    

Tip

In case you come across a DAT in a format that Igir doesn't support, SabreTools supports reading a number of obscure formats and converting them to more standard formats such as Logiqx XML.

DAT URLs

The --dat <path|glob|url> option is unique in that it can download files from URLs, which can be helpful with files that keep a consistent URL but update on a regular basis. For example:

igir copy ^
  --dat "https://raw.githubusercontent.com/libretro/libretro-database/master/dat/DOOM.dat" ^
  --input ROMs ^
  --output ROMs-Sorted
igir copy \
  --dat "https://raw.githubusercontent.com/libretro/libretro-database/master/dat/DOOM.dat" \
  --input ROMs \
  --output ROMs-Sorted
igir copy \
  --dat "https://raw.githubusercontent.com/libretro/libretro-database/master/dat/DOOM.dat" \
  --input ROMs \
  --output ROMs-Sorted

Note

Because of the way DAT-o-MATIC prepares & serves downloads, you can't use this method for official No-Intro DATs.

Scanning exclusions

You can ignore certain DAT files from being scanned with the option:

--dat-exclude <path|glob>

This can help you exclude DATs that you don't want to process to cut down on processing time or to make your resulting collection smaller.