As suggested by hiccup over here, I'm currently working on supporting dat-o-matic xml in my N64 dumper / info generator.
The idea is to make processing easier compared to the regular info text format.
Here are my sources I've looked through:
- No-Intro Wiki: https://wiki.no-intro.org/index.php?tit ... ittinginfo
- Example xml: https://datomatic.no-intro.org/stuff/ex ... custom.xml
- Parent/Clone BigEndian xml: https://datomatic.no-intro.org/index.ph ... =24&op=xml
- Standard DAT BigEndian: https://datomatic.no-intro.org/index.ph ... 4&op=daily
Here's a comparison between the info text and my current xml variant (For PAL Wave Race 64, as of commit dfa58661):
Code: Select all
Dumping tool and version: Some Tool 1.0.0
Dumper: Mr. Dump
Affiliation: No-Intro
Dump creation date: 2020-12-01
Dump release date: 2020-12-02
Link(s): https://example.com
Title: Wave Race 64
Region: Europe
Edition: Retail
Languages: En,De
Language Select: yes
WikiData ID: Q3142278
ROM Region: Europe
ROM Revision: 0x00 (1.0)
ROM Serial: NWRP
Original format: BigEndian
BigEndian:
File: Wave Race 64 - Kawasaki Jet Ski (Europe) (En,De).z64
Size: 8388608
CRC32: FB289893
MD5: 310659115E9939F219A783ABDD456CE9
SHA-1: C20AA97DC25AEC7A9B9C6889286BBD216FC7CAA4
SHA-256: 8897DA0CB6E286659AC4D72C5737F6FE97A51BCDFC6E2328AE7DFC0715BF1761
ByteSwapped:
File: Wave Race 64 - Kawasaki Jet Ski (Europe) (En,De).v64
Size: 8388608
CRC32: D74117B0
MD5: BAFF32EE50896E62DC713E23D1A589DA
SHA-1: 7FFDD44890B1A00E0C13868A18B482FBF8C752F7
SHA-256: 4C07E69B289777A3ECC3719A1970BA4287737BE03BB79536CCCCE52EB7049EA0
Media Serial 1: NUS-NWRP-EUR
Media Stamp: 19
PCB Serial: NUS-01A-01
ROM Chip Serial 1: NUS-NWRP-0
Box Serial: P-NWRP-NNOE
Box Barcode: 045496870034
Code: Select all
<?xml version="1.0"?>
<datafile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<header />
<game name="Wave Race 64 - Kawasaki Jet Ski (Europe) (En,De)">
<archive name="Wave Race 64" namealt="" region="Europe" languages="En,De" showlang="2" version="" devstatus="" additional="" special1="" special2="" gameid="" clone="" regionalparent="" mergeof="" datternote="" stickynote="" />
<flags bios="0" licensed="1" pirate="0" physical="1" complete="1" nodump="0" public="1" dat="1" />
<source>
<details section="" rominfo="" dumpdate="2020-12-01" originalformat="BigEndian" knowndumpdate="1" releasedate="2020-12-02" knownreleasedate="1" dumper="Mr. Dump" project="No-Intro" tool="Some Tool 1.0.0" origin="" comment1="Retail" comment2="" link1="https://example.com" link2="" region="Europe" mediatitle="Wave Race 64" />
<serials mediaserial1="NUS-NWRP-EUR" mediaserial2="" pcbserial="NUS-01A-01" romchipserial1="NUS-NWRP-0" romchipserial2="" lockoutserial="" savechipserial="" chipserial="" boxserial="P-NWRP-NNOE" mediastamp="19" boxbarcode="045496870034" digitalserial1="" digitalserial2="" />
<rom forcename="Wave Race 64 - Kawasaki Jet Ski (Europe) (En,De).z64" emptydir="0" extension="z64" item="" date="2020-12-01" format="BigEndian" version="0x00 (1.0)" utype="" size="8388608" crc="fb289893" md5="310659115e9939f219a783abdd456ce9" sha1="c20aa97dc25aec7a9b9c6889286bbd216fc7caa4" sha256="8897da0cb6e286659ac4d72c5737f6fe97a51bcdfc6e2328ae7dfc0715bf1761" serial="NWRP" bad="0" unique="0" mergename="" />
</source>
</game>
<game name="Wave Race 64 - Kawasaki Jet Ski (Europe) (En,De)">
<archive name="Wave Race 64" namealt="" region="Europe" languages="En,De" showlang="2" version="" devstatus="" additional="" special1="" special2="" gameid="" clone="" regionalparent="" mergeof="" datternote="" stickynote="" />
<flags bios="0" licensed="1" pirate="0" physical="1" complete="1" nodump="0" public="1" dat="1" />
<source>
<details section="" rominfo="" dumpdate="2020-12-01" originalformat="BigEndian" knowndumpdate="1" releasedate="2020-12-02" knownreleasedate="1" dumper="Mr. Dump" project="No-Intro" tool="Some Tool 1.0.0" origin="" comment1="Retail" comment2="" link1="https://example.com" link2="" region="Europe" mediatitle="Wave Race 64" />
<serials mediaserial1="NUS-NWRP-EUR" mediaserial2="" pcbserial="NUS-01A-01" romchipserial1="NUS-NWRP-0" romchipserial2="" lockoutserial="" savechipserial="" chipserial="" boxserial="P-NWRP-NNOE" mediastamp="19" boxbarcode="045496870034" digitalserial1="" digitalserial2="" />
<rom forcename="Wave Race 64 - Kawasaki Jet Ski (Europe) (En,De).v64" emptydir="0" extension="v64" item="" date="2020-12-01" format="ByteSwapped" version="0x00 (1.0)" utype="" size="8388608" crc="d74117b0" md5="baff32ee50896e62dc713e23d1a589da" sha1="7ffdd44890b1a00e0c13868a18b482fbf8c752f7" sha256="4c07e69b289777a3ecc3719a1970ba4287737be03bb79536cccce52eb7049ea0" serial="NWRP" bad="0" unique="0" mergename="" />
</source>
</game>
</datafile>
- There's <game><source> and <game><release>, I went with <source>, the DAT format suggests it should be <release> instead?
- Is it better to leave out unfilled / empty fields?
- I chose two <game> entries for big endian and swapped, would have two <source> (<release>) or <rom> been better?
- Should the <flags> be omitted, its a bit pointless for a redump?
- In <serials> there are field "chipserial" and "digitalserial1", what are those / are they relevant for N64?
Any comments are welcome, feel free to post a corrected version, and I'll diff it
Hope it helps to process data with less manual work
Regards
Rene