Preferred inputs, outputs for dat-generating scripts

General No-Intro related discussions.
Post Reply
Posts: 13
Joined: 27 Aug 2020 07:00

Preferred inputs, outputs for dat-generating scripts

Post by darthmarth37 »

I got irritated at the existing solutions for hashing 3DS cartridges because one is an outdated python script that overwrites the original cartridge dump with a decrypted one and the other is a C-sharp program that does the same thing, so I wrote a new script from scratch that just reads an unmodified dump and outputs all the necessary hashes and other metadata without writing anything to disk. It can also consult a standard dat database -- or whatever the big downloadable XML file is called -- to find games' names and compare against any existing data submitted by previous datters.

Now I'm looking for ways to make this easier for people other than me to use. It currently has an output format that breaks things down into whole-cartridge data and per-partition data (an abbreviated example is here), but are there standard data formats that would be particularly useful? I am also interested in a way to automatically fetch dat info so people don't have to go obtain it and feed it to the script themselves. When I have something like a title ID on hand is there a reasonable way to automatically fetch the data for just that title? Or is there a way to automatically grab a whole database that would be preferable instead? Is it acceptable to include well-known encryption keys (gm9 now appears to be doing that) or do we still need to make people go find them themselves?
Posts: 1066
Joined: 09 Oct 2015 11:29

Re: Preferred inputs, outputs for dat-generating scripts

Post by Hiccup »

To answer your question about preferred input formats, datomatic can take file data (to add to a manually created archive+source):
in game header format ... ile_gh.txt
in (extended) datfile xml format ... le_xml.xml

also, the whole archive+source+file import can be automated using the (even more extended) datfile format: ... custom.xml
Post Reply