Arcade Cabinet


Valid XHTML 1.0!

Valid CSS!


News

CAESAR

Forum

Dats

Tools

DatFAQs

HowTo

Links


X-Arcade

X-Arcade


RomCenter Dats

Last updated: 30th June 2004

Version 1.92, 2.00 or 2.50?

There are three RomCenter file formats:

  • v1.92 for RomCenter 1 (discontinued).
  • v2.00 for RomCenter 2 (superceded).
  • v2.50 for RomCenter 2.

I would strongly urge you to create your data files in the 2.50 format because it includes some important information that is impossible to represent in the older formats. For example, 2.50 format has proper support for the MAME resources and also supports more complicated merging definitions. Everyone should use the latest version of RomCenter nowadays so nothing should hold you back from using the new format!

The main differences between the 1.92 and 2.00 formats are:

  • Three fields were removed from the 'EMULATOR' section of v1.92 dats ('exe', 'runcmd', 'romspaths').
  • A change in how merging is specified (the old format used ¬N¬O for normal ROMs and ¬N¬N for merged ROMs).
  • A change in the way Neo-Geo games are handled (the old format used ¬O¬O and ¬O¬N for Neo-Geo ROMs).
  • Resource ROMs needed removing from all games in the old format.
  • The old format needed sorting (so that parents and clones were contiguous) in order to avoid a strange bug.

The main differences between the 2.00 and 2.50 formats are:

  • New fields in the [CREDITS] section (email, homepage, url and date).
  • New fields in the [DAT] section (plugin, split, merge).
  • A new [RESOURCES] section.

Header

RomCenter data files have a header at the top to specify details such as the emulator name, description, category and the data file version.

[CREDITS]
author=Logiqx, http://www.logiqx.com/
version=20021031
comment=Laserdisk Emulator
[DAT]
version=2.50
plugin=arcade.dll
split=1
merge=1
[EMULATOR]
refname=Daphne
version=Daphne v0.99.5a

The meanings of these fields is as follows:

RomCenter
Element
CMPro
Equivelant
Description
CREDITS/author author Your name and e-mail/web address.
CREDITS/version version Version number of the data file. I would recommend using something like a date encoded version number (YYYYMMDD is preferable to DDMMYYYY as it can be sorted and is unambiguous).
CREDITS/comment category General comment about the emulator (e.g. the systems or game types it supports).
DAT/version N/A Format of the data file (1.92 or 2.00). Many 1.92 data files incorrectly show 2.00 and this confuses DatUtil!
DAT/plugin N/A Used to specify how the ROMs are interpreted by RomCenter. If you are using standard arcade ROMs or ROMs without headers, use arcade.dll
DAT/split forcemerging Used to specify whether parent and clones should be split (0 or 1).
DAT/merge forcemerging Used to specify whether common ROMs of parents and clones should be merged (0 or 1).
EMULATOR/refname name Name of the emulator without a version number. This field is used to identify the emulator from one version of the data file to another.
EMULATOR/version description Name of the emulator with a version number. This is the name displayed by RomCenter.

Game ROMs

Game details and ROM details are specified together as follows:

[GAMES]
¬invaders¬Space Invaders¬invaders¬Space Invaders¬invaders.h¬734f5ad8¬2048¬¬¬
¬invaders¬Space Invaders¬invaders¬Space Invaders¬invaders.g¬6bfaca4a¬2048¬¬¬
¬invaders¬Space Invaders¬invaders¬Space Invaders¬invaders.f¬0ccead96¬2048¬¬¬
¬invaders¬Space Invaders¬invaders¬Space Invaders¬invaders.e¬14e538b0¬2048¬¬¬

The fields are:

¬parent name¬parent description¬game name¬game description¬rom name¬rom crc¬rom size¬romof name¬merge name¬

In CMPro terms these are cloneof, description (from parent), name (game), description, name (rom), crc, size, romof, merge.

If you maintain RomCenter data files by hand it is very easy to make mistakes (due to the duplication of game details) so I recommend you create data files in CMPro format then convert them to RomCenter using DatUtil.

Merging is specified by having a different 'parent name/game name' and by using the last two fields of each line in the data file. No matter whether a ROM is available in the parent set or not, the 'romof' field should always be specified. The 'merge name' field should only be specified where the ROM exists in the parent game though. e.g.

¬invaders¬Space Invaders¬sisv¬Space Invaders (SV Version)¬sv0h.bin¬86bb8cb6¬1024¬invaders¬¬
¬invaders¬Space Invaders¬sisv¬Space Invaders (SV Version)¬sv02.bin¬0e159534¬1024¬invaders¬¬
¬invaders¬Space Invaders¬sisv¬Space Invaders (SV Version)¬invaders.g¬6bfaca4a¬2048¬invaders¬invaders.g¬
¬invaders¬Space Invaders¬sisv¬Space Invaders (SV Version)¬invaders.f¬0ccead96¬2048¬invaders¬invaders.f¬
¬invaders¬Space Invaders¬sisv¬Space Invaders (SV Version)¬tv04.m1¬cd2c67f6¬2048¬invaders¬¬

Disks and Samples

The RomCenter file format has no support for disks or samples at this time. If you convert a CMPro data file to RomCenter format then convert it back again you will lose the disk and sample information.


Resources

Resources are used by MAME for the sharing of common ROMs for a particular system (e.g. NeoGeo, PlayChoice-10, Deco Cassette, CVS).

resource (
	name neogeo
	description "Neo Geo BIOS"
	rom ( name neo-geo.rom size 131072 crc 9036d879 )
	rom ( name ng-sm1.rom size 131072 crc 97cf998b )
	rom ( name ng-sfix.rom size 131072 crc 354029fc )
)

Resources are included in the [RESOURCES] section of RomCenter data files. For example:

[RESOURCES]
¬neogeo¬Neo-Geo¬neogeo¬Neo-Geo¬sp-s2.sp1¬9036d879¬131072¬¬¬
¬neogeo¬Neo-Geo¬neogeo¬Neo-Geo¬sp-s.sp1¬c7f2fa45¬131072¬¬¬
¬neogeo¬Neo-Geo¬neogeo¬Neo-Geo¬usa_2slt.bin¬e72943de¬131072¬¬¬
¬neogeo¬Neo-Geo¬neogeo¬Neo-Geo¬sp-e.sp1¬2723a5b5¬131072¬¬¬
¬neogeo¬Neo-Geo¬neogeo¬Neo-Geo¬asia-s3.rom¬91b64be3¬131072¬¬¬
¬neogeo¬Neo-Geo¬neogeo¬Neo-Geo¬vs-bios.rom¬f0e8f27d¬131072¬¬¬
¬neogeo¬Neo-Geo¬neogeo¬Neo-Geo¬sp-j2.rom¬acede59c¬131072¬¬¬
¬neogeo¬Neo-Geo¬neogeo¬Neo-Geo¬sm1.sm1¬97cf998b¬131072¬¬¬
¬neogeo¬Neo-Geo¬neogeo¬Neo-Geo¬000-lo.lo¬e09e253c¬65536¬¬¬
¬neogeo¬Neo-Geo¬neogeo¬Neo-Geo¬sfix.sfx¬354029fc¬131072¬¬¬

As with CMPro data files, you should use the 'romof' field in games that should use the resource ZIP but the 'merge' field should only be used for ROMs that are shared. e.g.

¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬sngku_p1.rom¬f8a63983¬524288¬neogeo¬¬
¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬sngku_p2.rom¬3024bbb3¬131072¬neogeo¬¬
¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬sngku_s1.rom¬b246204d¬131072¬neogeo¬¬
¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬ng-sfix.rom¬354029fc¬131072¬neogeo¬ng-sfix.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬neo-geo.rom¬9036d879¬131072¬neogeo¬neo-geo.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬ng-sm1.rom¬97cf998b¬131072¬neogeo¬ng-sm1.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬sngku_m1.rom¬9b4f34c6¬131072¬neogeo¬¬
¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬sngku_v1.rom¬23663295¬1048576¬neogeo¬¬
¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬sngku_v2.rom¬f61e6765¬1048576¬neogeo¬¬
¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬sngku_c1.rom¬b4eb82a1¬1048576¬neogeo¬¬
¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬sngku_c2.rom¬d55c550d¬1048576¬neogeo¬¬
¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬sngku_c3.rom¬ed51ef65¬1048576¬neogeo¬¬
¬sengoku¬Sengoku Denshou (set 1)¬sengoku¬Sengoku Denshou (set 1)¬sngku_c4.rom¬f4f3c9cb¬1048576¬neogeo¬¬

In the case of games that are clones and need access to the resource ROMs, they should only specify the parent game. e.g.

¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬sngkh_p1.rom¬33eccae0¬524288¬sengoku¬¬
¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬sngku_p2.rom¬3024bbb3¬131072¬sengoku¬sngku_p2.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬sngku_s1.rom¬b246204d¬131072¬sengoku¬sngku_s1.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬ng-sfix.rom¬354029fc¬131072¬sengoku¬ng-sfix.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬neo-geo.rom¬9036d879¬131072¬sengoku¬neo-geo.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬ng-sm1.rom¬97cf998b¬131072¬sengoku¬ng-sm1.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬sngku_m1.rom¬9b4f34c6¬131072¬sengoku¬sngku_m1.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬sngku_v1.rom¬23663295¬1048576¬sengoku¬sngku_v1.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬sngku_v2.rom¬f61e6765¬1048576¬sengoku¬sngku_v2.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬sngku_c1.rom¬b4eb82a1¬1048576¬sengoku¬sngku_c1.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬sngku_c2.rom¬d55c550d¬1048576¬sengoku¬sngku_c2.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬sngku_c3.rom¬ed51ef65¬1048576¬sengoku¬sngku_c3.rom¬
¬sengoku¬Sengoku Denshou (set 1)¬sengokh¬Sengoku Denshou (set 2)¬sngku_c4.rom¬f4f3c9cb¬1048576¬sengoku¬sngku_c4.rom¬