DAT File

Emulators usually require files with ROM Images to run games. All files must have the right contents and be correctly named so that the emulator is able to find and use them.

A DAT file is a list of all archives (and files inside them) that are required by a specific emulator. The list usually contains file names, sizes and hashes.

ROM Managers use DAT files to accordingly organize required archives and files in a device.

Because they are pure text files, every DAT file can be opened and edited by Windows' Notepad, for example. They have the standard .dat extension, or the .xml extension.

It is currently written in XML language and is defined by the Document Type Definition (DTD) that can be downloaded from Logiqx - datafile.dtd.


Sample

Below is a sample:


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE datafile PUBLIC "-//Logiqx//DTD ROM Management Datafile//EN" "http://www.logiqx.com/Dats/datafile.dtd">
<datafile debug="no">
    <header>
        <name>MAME 0.226 ROMs (merged)</name>
        <description>MAME 0.226 ROMs (merged)</description>
        <version></version>
        <author></author>
    </header>
    <machine name="1on1gov">
        <description>1 on 1 Government (Japan)</description>
        <year>2000</year>
        <manufacturer>Tecmo</manufacturer>
        <rom name="1on1.u119" size="1048576" crc="10aecc19" sha1="ad2fe6011551935907568cc3b4028f481034537c" />
        <rom name="1on1.u120" size="1048576" crc="eea158bd" sha1="2b2a56fcce46557201bbbab7b170ee64549ddafe" />
        <rom name="at28c16" size="2048" crc="fe992f29" sha1="73c9c4d40abd8f3a95d4eb20f3c65f3a5cdd1203" />
        <rom name="mg10" size="8" crc="8a73da40" sha1="d6803a4c1d240dec2a4d8ac43aa6d7e9df947026" />
        <rom name="ooo-0.u0217" size="4194304" crc="8b42f365" sha1="6035a370f477f0f33894f642717fa0b012540d36" />
        <rom name="ooo-1.u0218" size="4194304" crc="65162f46" sha1="db420a2f0d996b32cd4b6e9352d46a36fa31eaaa" />
        <rom name="ooo-2.u0219" size="4194304" crc="14cf3a84" sha1="60175a1fb2c765e4c3d0e30e77961f84cfa8485c" />
        <rom name="ooo-3.u0220" size="4194304" crc="9a45f6ff" sha1="e0ee90c545c821bf1d6b4709b1e40f93314c51a6" />
        <rom name="ooo-4.u0221" size="4194304" crc="ba20a1fd" sha1="7893f50de730624b8447f39fc7e25e4e334df845" />
        <rom name="ooo-5.u0222" size="4194304" crc="eed1953d" sha1="8d3e738a07b9c6b6ca55be7b47444b5e3725065c" />
        <rom name="ooo-6.u0223" size="4194304" crc="f74f38b6" sha1="ff7f0ebff85fc982f8d1c13d6649d4c7c5da6c45" />
        <rom name="ooo-7.u0323" size="4194304" crc="0e58777c" sha1="9f8ee3c6d6d8b1482522500e18217577056d8c98" />
    </machine>
    <machine name="2mindril" ismechanical="yes">
        <description>Two Minute Drill (Ver 2.93A 1994/02/16)</description>
        <year>1993</year>
        <manufacturer>Taito America Corporation</manufacturer>
        <rom name="d58-08.ic27" size="2097152" crc="9f5a3f52" sha1="7b696bd823819965b974c853cebc1660750db61e" />
        <rom name="d58-09.ic28" size="2097152" crc="d8f6a86a" sha1="d6b2ec309e21064574ee63e025ae4716b1982a98" />
        <rom name="d58-10.ic29" size="2097152" crc="74c87e08" sha1="f39b3a64f8338ccf5ca6eb76cee92a10fe0aad8f" />
        <rom name="d58-11.ic31" size="2097152" crc="dc26d58d" sha1="cffb18667da18f5367b02af85a2f7674dd61ae97" />
        <rom name="d58-37.ic9" size="262144" crc="19e5cc3c" sha1="04ac0eef893c579fe90d91d7fd55c5741a2b7460" />
        <rom name="d58-38.ic11" size="262144" crc="c58e8e4f" sha1="648db679c3bfb5de1cd6c1b1217773a2fe56f11b" />
    </machine>


How to get a DAT file

Below are some possible ways to get a DAT file:


Additional information

Using a DAT file with a ROM Manager will ensure that the files inside archives are exactly those required by the emulator. Torrentzipping the archives (with their matching files inside) goes one step further, making the archives match exactly with what the .torrent file expects.

A collection of MAME DAT files is available at http://www.progettosnaps.net/dats/

To know what are the differences between two DAT files, use an application to compare pure text files such as Beyond Compare or UltraCompare. For other similar applications, check Wikipedia - Comparison of file comparison tools.

The differences between a regular DAT file and a SuperDAT follows:

DAT File Type Comment
Regular One DAT file per folder
SuperDAT One DAT file for the whole folder tree (supported by RomVault and ROMba only)