Skip to content

ROM Filtering

Igir offers many options for filtering out unwanted games. ROM filters cut down the list of games desired for a set, and any games filtered out will not appear in reports.

Multiple filter options can be specified at once, and they will all be applied in a "logical and" fahsion.

Note

Filters are applied against all DATs before ROM matching happens. If no DATs are provided, Igir will infer DATs from the input files.

Tip

Filters and 1G1R preferences are applied before generating fixdats and dir2dats, allowing you to generate DATs for your exact needs!

Game name filter

--filter-regex <pattern|filename>, --filter-regex-exclude <pattern|filename>

Only include or exclude games based on if their DAT name (or filename if not using DATs) matches a regular expression.

Regex flags can be optionally provided in the form /<pattern>/<flags>.

Example

Filter to only Mario or Zelda games:

--filter-regex "Mario|Zelda"
--filter-regex ""/mario|zelda/i"

A filename can be provided to a file that contains one or more lines of patterns. Multiple patterns will be combined in a logical "or" fashion. For example:

# patterns.txt
^Mario
/kirby|zelda/i

# --filter-regex patterns.txt would match:
Mario's Picross (USA, Europe) (SGB Enhanced)
Kirby's Dream Land (USA, Europe)
Legend of Zelda, The - Link's Awakening (USA, Europe) (Rev 2)

# --filter-regex patterns.txt would NOT match:
Dr. Mario (World) (Rev 1)
Super Mario Land (World) (Rev 1)
Tetris (World) (Rev 1)
Wario Land II (USA, Europe) (SGB Enhanced)

Language filter

--filter-language [languages..]

Languages are two-letter codes, and multiple languages can be specified with commas between them. See the --help message for the full list of supported languages.

If a game doesn't have language information specified in its name, the region's primary language will be used. If a game doesn't have language or region information, then it will always be filtered out by this option.

Here are some example game names that Igir can parse languages from, including ones with multiple languages:

English:
  Donkey Kong (Japan, USA) (En) (SGB Enhanced)
  Dr. Franken (USA)
  Dragon's Lair - The Legend (Europe)
  Gear Works (U) [!]

Japanese:
  Final Reverse (Japan)
  Makai Toushi Sa-Ga (World) (Ja) (Rev 1) (Collection of SaGa)
  Ohasuta Dance Dance Revolution GB (J) [C][!]

Spanish:
  Humans, The (Europe) (En,Fr,De,Es,It)
  Pokemon - Edicion Azul (Spain) (SGB Enhanced)
  Rugrats en Paris - La Pelicula (S) (M2) [C][!]

A game can have many languages, and all of them are considered during filtering.

Example

Filter to only games in English or Japanese:

--filter-language En,Ja

Example

Filter to only games in Chinese:

--filter-language Zh

Region filter

--filter-region [regions..]

Regions are two or three-letter codes, and you can specify multiple regions with commas between them. See the --help message for the full list of supported regions.

If a game doesn't have region information then it will always be filtered out by this option.

Here are some example game names that Igir can parse regions from:

USA:
  10-Pin Bowling (USA)
  Addams Family, The - Pugsley's Scavenger Hunt (USA, Europe)
  Castelian (U) [!]

Japan:
  Dragon Quest I & II (J) [C][!]
  Taikyoku Renju (Japan) (En,Ja)

Europe:
  Adventures of Lolo (Europe) (SGB Enhanced)
  Castlevania Adventure, The (E) [!]
  Soccer (Europe, Australia) (En,Fr,De) (SGB Enhanced)

Spain:
  Dragon Ball Z - Guerreros de Leyenda (S) [C][!]
  Star Trek - The Next Generation (Spain)

A game can have many regions, and all of them are considered during filtering.

Example

Filter to only games from Australia or New Zealand

--filter-region AUS,NZ

Example

Filter to only games from South Korea:

--filter-region KOR

Category filter

--filter-category-regex <pattern|filename>

Only include games whose category matches the provided regular expression.

Warning

This options requires that the DATs you use include category information. Not every DAT release group includes category information (e.g. MAME and TOSEC don't), and not every release group includes category in every version of their DATs (e.g. No-Intro doesn't always). Games without categories will always be filtered out by this option!

BIOS

--no-bios, --only-bios

Filter out, or only include games that are marked isbios="yes" in the DAT, or contain [BIOS] in their name, e.g.:

[BIOS] Nintendo Game Boy Boot ROM (World) (Rev 1)
[BIOS] Nintendo Game Boy Color Boot ROM (World) (Rev 1)

Tip

--only-bios is a great option to collate all BIOS files across all consoles to one directory.

MAME devices

--no-device, --only-device

Filter out or only include MAME devices. MAME devices typically represent physical devices, such as microcontrollers, video display controllers, sounds boards, and more. Many MAME devices don't have any associated ROM files.

Unlicensed

--no-unlicensed, --only-unlicensed

Filter out, or only include games that contain (Unl) or (Unlicensed) in their name, e.g.:

4 in 1 (Europe) (4B-002, Sachen) (Unl)
Caihong Zhanshi - Rainbow Prince (Taiwan) (Unl)

These games are still considered "retail" releases (below).


Only retail

--only-retail

Enables all the following --no-* options, as well as filtering out games that are:

  • Alphas: games that contain (Alpha) in their name, e.g.:

    Isle Quest (World) (v0.1c) (Alpha) (Aftermarket) (Homebrew)
    Sword (Alpha) (PD) [C]
    
  • Bootleg: games that contain bootleg in their manufacturer
  • Cracked: games that contain [cr] or [cr *] in their name, e.g.:

    Jet Set Willy (1984)(Software Projects)[cr]
    Buck Rogers - Countdown to Doomsday v1.0 (1991)(SSI)(Disk 1 of 3)[cr2][FD installed]
    Dungeon Master (1987)(FTL)[cr 42-Crew]
    
  • Enhancement chips: games that contain (Enhancement Chip) in their name, e.g.:

    DSP1 B (World) (Enhancement Chip)
    Super Game Boy SGB-CPU (World) (Enhancement Chip)
    
  • Fixed: games that contain [f] or [f#] in their name, e.g.:

    Black Bass - Lure Fishing (U) [C][f1]
    Bugs Bunny - Crazy Castle 3 (J) [C][f2]
    
  • Non-public "MIA": games that contain [MIA] in their name, e.g.:

    [MIA] Better Dead Than Alien (Europe)
    [MIA] Billiards Simulator (Europe) (En,Fr,De)
    
  • Overdumps: games that contain [o] or [o#] in their name, e.g.:

    Castlevania II - Belmont's Revenge (U) [o1]
    Cave Noire (J) [o2]
    
  • Pending dumps: games that contain [!p] in their name, e.g.:

    Cheetah Men II (Active Enterprises) [!p]
    
  • Pirated: games that contain (Pirate), [p], or [p#] in their name, e.g.:

    Flipull (J) [p1]
    Super Mario 4 (Unknown) (Ja) (Pirate)
    Super Robot Taisen Final Vol.1 (Unl) [C][p2]
    
  • Unofficial translations: games that contain [T-*] or [T+*] in their name, e.g.:

    Duck Tales (E) [T-Ger]
    Final Fantasy Legend II (U) [T+Fre]
    
  • Games with hacks: games that contain (Hack) or [h*] in their name, or hack in their manufacturer, e.g.:

    Kirby's Dream Land 2 (U) [S][h1] (Sound Test)
    Pokemon - Blue Version (UE) [S][h2]
    Q-bert II (UE) [h1C]
    
  • Games with trainers: games that contain [t] or [t#] in their name, e.g.:

    Qix Adventure (J) [C][t1]
    R-Type DX (U) [C][t2]
    

Debug

--no-debug, --only-debug

Filter out, or only include games that contain (Debug) in their name, e.g.:

Megaman - Battle Network 2 (USA) (Debug Version)
Perfect Dark (USA) (2000-03-22) (Debug)

Demos

--no-demo, --only-demo

Filter out or only include games that contain one of the following in their name:

  • (Demo[a-z0-9. -]*) (regex)
  • @barai
  • (Kiosk[a-z0-9. -]*) (regex)
  • (Preview)
  • GameCube Preview
  • Kiosk Demo Disc
  • PS2 Kiosk
  • PSP System Kiosk
  • Taikenban
  • Trial Edition

or has the game category of Demos, e.g.:

Coria and the Sunken City (Unknown) (Demo)
Two Hearts (Japan) (Demo) (Unl)

Betas

--no-beta, --only-beta

Filter out, or only include games that contain (Beta) in their name, e.g.:

Cosmo Tank (Japan) (Beta)
F-15 Strike Eagle II (USA, Europe) (Beta) (July, 1992)

Samples

--no-sample, --only-sample

Filter out, or only include games that contain (Sample) in their name, e.g.:

Mega Man III (USA) (Sample)
Shin Nihon Pro Wrestling - Toukon Sanjuushi (Japan) (Sample)

Prototypes

--no-prototype, --only-prototype

Filter out, or only include games that contain (Proto) or (Prototype) in their name, or has the game category of Preproduction, e.g.:

Philip & Marlowe in Bloomland (USA) (Proto)
Sword of Hope, The (Europe) (Proto)

Program application ROMS

--no-program, --only-program

Filter out or only include games that contain one of the following in their name

  • ([a-z0-9. ]*Program) (regex)
  • Check Program
  • Sample Program
AGB Aging Cartridge (World) (v1.0) (Test Program)
AGB-Parallel Interface Cartridge (Japan) (En) (Program)

Aftermarket ROMs

--no-aftermarket, --only-aftermarket

Filter out, or only include games that contain (Aftermarket) in their name, e.g.:

Bub-O Escape (World) (v2.5) (Aftermarket) (Unl)
D-Fuzed (World) (v1.1.0) (GB Compatible) (Aftermarket) (Unl)

Homebrew

--no-homebrew, --only-homebrew

Filter out, or only include games that contain (Homebrew) in their name, e.g.:

Game Boy Camera Gallery 2022, The (World) (Aftermarket) (Homebrew)
GB-Wordyl (World) (Aftermarket) (Homebrew)

Unverified dumps

--no-unverified, --only-unverified

Only include, or filter out games that contain [!] in their name.

For example, --no-unverified would filter out the following:

Getaway, The (U)
Gex - Enter the Gecko (U) [C][b1]
Golf (W) [o1]
Grand Theft Auto (E) (M5) [C][t1]

and --only-unverified would filter out the following:

Kirby & The Amazing Mirror (U) [!]
Legend of Zelda, The - A Link To The Past with Four Swords (E) (M5) [!]
Mario & Luigi - Superstar Saga (U) [!]

Warning

This is a GoodTools naming convention, other groups such as No-Intro never include [!] in their names!

Bad dumps

--no-bad, --only-bad

Filter out, or only include games that contain [b] or [b#] in their name, e.g.:

[MIA] Aprilia - DiTech Interface (Unknown) (Unl) [b]
Great Greed (U) [b1]
Gremlins 2 - The New Batch (W) [b2]

as well as games that contain [c] or [x] and are not verified dumps (above), e.g.:

Brian Lara Cricket 96 (E) [a1][x]
Micro Machines Military - It's a Blast! (E) [x]

Warning

This is a GoodTools naming convention, other groups such as No-Intro never include [b] in their names!