Skip to content

ROM Sets

"Sets" here refers to the collection of all ROM files for a game. The options here change what is included or excluded from sets, how sets can be combined, and what is permissible in sets.

ROM set merge types

The --merge-roms <mode> option is used to reduce storage requirements when working with MAME and other arcade DATs that supply parent/clone information. See the arcade docs for information on this option.

Merging multi-disc games

Most DAT groups that catalog optical media-based consoles (e.g. PS1, Dreamcast, GameCube) consider different discs of a multi-disc game to be separate "games," with no relation between them other than having a similar name. This is because ROM managers may not process games unless all of its ROM files are present, but there may be bonus discs that you don't care about for storage reasons.

The --merge-discs option will merge these separate discs into a single game. The option relies on well-named files in formats like these:

  • Redump-style:

    Final Fantasy IX (USA) (Disc 1)
    Final Fantasy IX (USA) (Disc 2)
    Final Fantasy IX (USA) (Disc 3)
    Final Fantasy IX (USA) (Disc 4)
    
    Metal Gear Solid - The Twin Snakes (USA) (Disc 1)
    Metal Gear Solid - The Twin Snakes (USA) (Disc 2)
    
  • TOSEC-style:

    Skies of Arcadia v1.002 (2000)(Sega)(US)(Disc 1 of 2)[!]
    Skies of Arcadia v1.002 (2000)(Sega)(US)(Disc 2 of 2)[!]
    
    Panzer Dragoon Saga v1.000 (1998)(Sega)(PAL)(Disc 1 of 4)[!]
    Panzer Dragoon Saga v1.000 (1998)(Sega)(PAL)(Disc 2 of 4)[!]
    Panzer Dragoon Saga v1.000 (1998)(Sega)(PAL)(Disc 3 of 4)[!]
    Panzer Dragoon Saga v1.000 (1998)(Sega)(PAL)(Disc 4 of 4)[!]
    

Note

This option doesn't require you to supply DATs with the --dat <path> option, but doing so will greatly increase the chance of the option working as intended.

Info

Multi-disc games can also be associated together for emulators and frontends with the igir playlist command.

Merging limitations

  • TOSEC-style ring/box codes.

    The way that TOSEC catalogs different pressings of discs may prevent the merging of discs together.

    For example, with Shenmue for the Sega Dreamcast. There are two pressings of the third disc, but we probably only want one of them, so it doesn't make sense to merge all of these together:

    Shenmue v1.003 (2000)(Sega)(US)(Disc 1 of 4)[!][1S]
    Shenmue v1.003 (2000)(Sega)(US)(Disc 2 of 4)[!]
    Shenmue v1.003 (2000)(Sega)(US)(Disc 3 of 4)[!][1S]
    Shenmue v1.003 (2000)(Sega)(US)(Disc 3 of 4)[!][2S]
    Shenmue v1.003 (2000)(Sega)(US)(Disc 4 of 4)[!][Passport v1.004]
    

    TOSEC doesn't have a standard for these codes, so it's difficult to programmatically differentiate them from other metadata. Here are some other examples that don't make sense to merge together:

    # Philips CD-i
    7th Guest, The (1994)(Philips)(EU)(Disc 1 of 2)[!][The Game][DVC][8110033V113 50404169 02]
    7th Guest, The (1994)(Philips)(EU)(Disc 1 of 2)[!][The Game][DVC][8111033V113 50404169 01]
    7th Guest, The (1994)(Philips)(EU)(Disc 2 of 2)[!][The Music, Die Musik][CD-Audio]
    
    # Sega CD
    Ground Zero Texas (1993)(Sony Imagesoft)(NTSC)(US)(Disc 1 of 2)[!]
    Ground Zero Texas (1993)(Sony Imagesoft)(NTSC)(US)(Disc 2 of 2)[!][CDAC-053300 1]
    Ground Zero Texas (1993)(Sony Imagesoft)(NTSC)(US)(Disc 2 of 2)[!][CDAC-053300 2]
    
    # Sega Saturn
    Enemy Zero v1.000 (1996)(Warp)(JP)(Disc 1 of 4)[!][Disk-0 - Opening Disk][T-30001GP-01270 2M3]
    Enemy Zero v1.000 (1996)(Warp)(JP)(Disc 1 of 4)[!][Disk-0 - Opening Disk][T-30001GP-01270-P1K]
    Enemy Zero v1.000 (1996)(Warp)(JP)(Disc 1 of 4)[!][Disk-0 - Opening Disk][T-30001GP-01270-P2K]
    Enemy Zero v1.000 (1996)(Warp)(JP)(Disc 2 of 4)[!][Disk-1 - Game Disk][T-30001GP-01271-P1K]
    Enemy Zero v1.000 (1996)(Warp)(JP)(Disc 2 of 4)[!][Disk-1 - Game Disk][T-30001GP-01271-P2K]
    Enemy Zero v1.000 (1996)(Warp)(JP)(Disc 3 of 4)[!][Disk-2 - Game Disk][T-30001GP-01272 2MB5, 2MM1]
    Enemy Zero v1.000 (1996)(Warp)(JP)(Disc 3 of 4)[!][Disk-2 - Game Disk][T-30001GP-01272-P1C, P2C]
    Enemy Zero v1.000 (1996)(Warp)(JP)(Disc 4 of 4)[!][Disk-3 - Game Disk][T-30001GP-01273 1M1]
    Enemy Zero v1.000 (1996)(Warp)(JP)(Disc 4 of 4)[!][Disk-3 - Game Disk][T-30001GP-01273 1MM1, 4M1]
    Enemy Zero v1.000 (1996)(Warp)(JP)(Disc 4 of 4)[!][Disk-3 - Game Disk][T-30001GP-01273-P1K]
    
  • TOSEC-style metadata.

    Because it is difficult to programmatically differentiate ring/box codes from other metadata, multi-disc games such as these won't be merged together:

    # Sega CD
    Ecco the Dolphin CD (1995)(Sega)(NTSC)(JP)(Disc 1 of 2)[!][Ecco the Dolphin]
    Ecco the Dolphin CD (1995)(Sega)(NTSC)(JP)(Disc 2 of 2)[!][Ecco the Dolphin II]
    
    # Sega Dreamcast
    Resident Evil 2 v1.001 (2000)(Capcom)(US)(Disc 1 of 2)[!][Leon]
    Resident Evil 2 v1.001 (2000)(Capcom)(US)(Disc 2 of 2)[!][Claire]
    
    # Sega Saturn
    Eve Burst Error v1.000 (1996)(Imagineer)(JP)(Disc 1 of 4)[!][Kojiroh Disc]
    Eve Burst Error v1.000 (1996)(Imagineer)(JP)(Disc 2 of 4)[!][Marina Disc]
    Eve Burst Error v1.000 (1996)(Imagineer)(JP)(Disc 3 of 4)[!][Terror Disc]
    Eve Burst Error v1.000 (1996)(Imagineer)(JP)(Disc 4 of 4)[!][Making Disc]
    

Allowing inexact sets

Igir has two options that allow for inexact sets of ROM files:

  • --allow-excess-sets

    Downloaded archives may have extra junk or metadata files in them such as .txt or .nfo files. When writing archives without extracting or zipping them, this option will allow those archives with excess files to still be used.

  • --allow-incomplete-sets

    This option will allow writing games where not every one of its ROMs was found in an --input <path> directory. This could be useful for arcade DATs that change ROM sets between versions.