Skip to content

Previewing the resulting set

Andre Brait edited this page Jul 27, 2020 · 7 revisions

As this tool has a number of options, it's often useful to preview the generated set before actually generating it. Doing that is very simple.

The most basic way of doing that is by giving the tool the DAT file (with the -d option) and also at least one region for filtering the resulting set (with the -r option). More than one region can be given and they'll be filtered in the order they appear.

Example: given you have a DAT named Nintendo - Nintendo Entertainment System (Parent-Clone) (20200127-000518).dat on the same folder as the tool, and you'd like to generate a set that contains only North-American and European ROMs, but preferring American ones, you can run:

python3 generate.py -r USA,EUR -d "Nintendo - Nintendo Entertainment System (Parent-Clone) (20200127-000518).dat"
  • Notice the quotation marks. They are necessary if the file's name or path contains spaces!
  • Notice the order in which the regions USA and EUR appear in the -r option.

You should see in your screen a list of ROMs. This is the ideal set of files for the options you chose.

There are many ways you can customize the resulting set. Check the full list of options here.

One quirk here is that you might not have all files for the perfect 1G1R set, but you might have ROMs that are also good candidates. To check for the ones you do have, let's use the -i option to let the tool know where to look for ROMs. In the example, let's assume you keep your ROMs in the folder Emulation/ROMs/NES inside your Downloads folder:

python3 generate.py -r USA,EUR -d "Nintendo - Nintendo Entertainment System (Parent-Clone) (20200127-000518).dat" -i "C:\User\andre\Downloads\Emulation\ROMs\NES"

It should now look into your folder, scan each file and check the candidate ROMs you have. It can scan ROMs in both uncompressed format and compressed in the zip format. It will then match the scanned files with the data in the DAT. If you don't have the best ones, it'll warn you about it and it'll look for the next best possible choice. If you have no candidates at all, it will also warn you. Most of these warnings can be found in the generate.log file, after the tool finishes executing.

  • If for some reason your ROMs do not match the hashes found in the DAT file, it will not be able to find them correctly. This usually means your ROMs aren't really the ones the DAT is telling us about and your ROM is likely not correct and you should probably look for a matching ROM. However, if you are 100% sure you still want these ROMs in your resulting set, use the options --no-scan to tell the tool to not scan files, but try to match them by name. If your ROMs are in a format different than the one in the dat (ex.: your ROMs are zipped, but the DATs use .nes extensions), you also need to add -e <extension> (where <extension> is the file extension, ex.: -e zip).

    • This was the default before version 1.9, but it was later changed because scanning works a lot better and usually produces a more accurate set.
  • Note that this will also take into account Prototype, Beta, Sample, Demo, Program and BIOS ROMs. In order to exclude those, use the options --no-proto, --no-beta, etc., or --no-all to filter them all out in one go.

    • --no-all does not exclude Unlicensed ROMs.
  • In order to exclude Unlicensed ROMs, use the --no-unlicensed option.

After you are satisfied with your preview, we can finally generate our set!