Introduction to DATs
From the RetroPie docs:
Once you begin working with software tools to help validate, rebuild, or filter your ROM collection, you will quickly encounter the need for "DAT" files, so named because they usually (but not always!) have the file extension
.dat.DATs describe the ROM contents including filenames, file sizes, and checksums to verify contents are not incorrect or corrupt. DATs are usually maintained either by emulator developers (such as with MAME or FinalBurn Neo) or digital preservation organizations like TOSEC and No-Intro.
DATs are catalog files of every known ROM that exists per game system, complete with enough information to uniquely identify each file.
These DAT files ("DATs") help Igir distinguish known ROM files in input directories from other files (see the ROM matching docs). Because DATs typically contain the complete catalog for a console, Igir also uses them to generate reports for you on what ROMs were found and which are missing.
See the DAT scanning page for details about how to supply DATs to Igir, and the DAT processing page for information on how Igir processes those DATs.
DAT release groups
A number of different release groups maintain sets of DATs, the most popular are:
- No-Intro (cartridge-based consoles)
- Redump (optical media-based consoles)
- MAME (official "full driver" MAME ListXML)
And some less popular release groups are:
- The Old School Emulation Center (TOSEC)
- GoodTools (home computers, gen 1-5 consoles)
- libretro (RetroArch):
- Custom DATs (specific games, some optical media-based consoles)
- Mirrored DATs
- FinalBurn NEO (arcade, gen 1-4 consoles)
- ADVANsCEne (GBA, DS, 3DS, PSP, PS Vita)
- Arcade:
- progetto-SNAPS (MAME ListXMLs with some unnecessary metadata removed, e.g. inputs, DIP switches, and ports)
- pleasuredome (MAME merged, non-merged, and split sets without parent/clone information)
Parent/clone (P/C) DATs
DATs that include "parent" and "clone" information help Igir understand what game releases are actually the same game (are "clones" of each other). Frequently, a game will be released in many regions or with different revisions, usually with only localization differences and minor bug fixes. For example, No-Intro has 6+ "clones" of Pokémon Blue cataloged.
Being able to know that many releases are actually the same game gives Igir the ability to produce "one game, one ROM" (1G1R) sets with the --single option. 1G1R sets include only one of these "clone" releases, usually filtered to a language and region of your choosing, because many people don't care about ROMs they can't understand.
Note
If you have the option to download "parent/clone" or "P/C" versions of DATs, you should always choose those as they contain the most amount of game information.
Arcade DATs
Building a ROM set that works with your exact version of MAME or FinalBurn Alpha / Neo is necessarily complicated. Arcade machines vary wildly in hardware, they contain many more ROM chips than cartridge-based consoles, their ROM dumps are sometimes imperfect, and arcade emulators prefer "mostly working" emulation over perfect emulation.
The rule-of-thumb with DATs and arcade emulation is: your emulator probably has a companion DAT that describes the exact ROM files it needs and the exact way you have to organize those ROMs. That means:
- ROMs organized with a MAME v0.258 DAT will likely not work with MAME 2003 (v0.78)
- ROMs organized with a MAME v0.258 DAT will likely not work with MAME 2016 (v0.174)
- ROMs organized with a MAME v0.258 DAT will likely not work with FinalBurn
- ROMs organized with a FinalBurn Neo v1.0.0.2 DAT will likely not work with FinalBurn Neo v1.0.0.0
- ROMs organized with a FinalBurn Neo v1.0.0.2 DAT will likely not work with FinalBurn Alpha v0.2.97.29
- ROMs organized with a FinalBurn Alpha v0.2.97.29 DAT will likely not work with FinalBurn Alpha v0.2.96.71
If you are using a desktop frontend such as RetroArch, it may come with multiple versions of the same emulator, and it is unlikely that any of them is the most recent version. Follow the frontend's documentation to locate or download the correct DAT to use with each emulator.
See the arcade usage page for more information on building & re-building arcade ROM sets.
Just tell me what to do
DATs can get fairly complicated, and there are many release groups, each with their own focus areas and naming patterns. If all you want to do is organize your ROMs with Igir in some consistent way, follow these instructions:
- Go to the No-Intro DAT-o-MATIC daily download page.
- Select the "P/C XML" radio option (as opposed to "standard DAT"), and download the
.zipto wherever you store your ROMs. -
Every time you run Igir, specify the
.zipfile you downloaded with the--dat <path|glob|url>option: