### Example input ROMs starting with 'S' Source: https://igir.io/output/path-options Lists example ROM files that all start with the same first letter, used to illustrate the effect of --dir-letter-limit. ```plaintext ROMs-Input/ ├── Shaq Fu (USA) (SGB Enhanced).gb ├── Space Invaders (USA) (SGB Enhanced).gb ├── Star Wars (USA, Europe) (Rev 1).gb ├── Star Wars - The Empire Strikes Back (USA, Europe).gb ├── Street Fighter II (USA, Europe) (Rev 1) (SGB Enhanced).gb ├── Super Mario Land (World) (Rev 1).gb └── Super Mario Land 2 - 6 Golden Coins (USA, Europe) (Rev 2).gb ``` -------------------------------- ### Install Igir via Scoop Source: https://igir.io/installation Install Igir via Scoop on Windows. First add the bucket, then install the igir package. ```bash scoop bucket add igir https://github.com/emmercm/igir scoop install igir ``` -------------------------------- ### Example input ROMs for letter grouping Source: https://igir.io/output/path-options Example list of ROMs starting with different letters, used to illustrate the grouping behavior. ```plaintext ROMs-Input/ ├── Alleyway (World).gb ├── Battletoads (USA, Europe).gb ├── Centipede (USA) (Majesco).gb ├── Donkey Kong (World) (Rev 1) (SGB Enhanced).gb ├── Earthworm Jim (USA).gb ├── Final Fantasy Adventure (USA).gb ├── Game Boy Wars Turbo (Japan) (SGB Enhanced).gb ├── Harvest Moon GB (USA) (SGB Enhanced).gb ├── James Bond 007 (USA, Europe) (SGB Enhanced).gb ├── Kirby's Dream Land (USA, Europe).gb ├── Legend of Zelda, The - Link's Awakening (USA, Europe) (Rev 2).gb ├── Mario's Picross (USA, Europe) (SGB Enhanced).gb └── Pocket Bomberman (Europe) (SGB Enhanced).gb ``` -------------------------------- ### Install Igir via Homebrew Source: https://igir.io/installation Install Igir via Homebrew on macOS or Linux. First trust the tap, then install the igir formula. ```bash brew trust emmercm/igir brew install emmercm/igir/igir ``` -------------------------------- ### Example input directory structure for --dir-mirror Source: https://igir.io/output/path-options Shows the input directory structure used in the --dir-mirror example. The subdirectories 'gb/mario' and 'gb/pokemon' contain ROM files. ```text ROMs-Input/ └── gb ├── mario │ ├── mario land 2.gb │ └── mario land.gb └── pokemon ├── pokemon blue.gb ├── pokemon red.gb └── pokemon yellow.gb ``` -------------------------------- ### Example sorted ROMs directory tree Source: https://igir.io/output/tokens Example output directory tree after sorting ROMs with the MiSTer token. Shows Gameboy, MegaDrive, and SNES folders with sample ROM filenames. ```text ROMs-Sorted/ ├── Gameboy │ ├── Hyper Lode Runner (World) (Rev 1).gb │ ├── Wave Race (USA, Europe).gb ├── MegaDrive │ ├── Shinobi III - Return of the Ninja Master (USA).md │ ├── X-Men 2 - Clone Wars (USA, Europe).md └── SNES ├── F-Zero (USA).sfc └── Mario Paint (Japan, USA) (En).sfc ``` -------------------------------- ### Example input ROMs directory Source: https://igir.io/output/path-options Shows the input directory structure with ROMs that do not all share the same first letter, used as the example for --dir-letter. ```plaintext ROMs-Input/ ├── Kirby's Dream Land (USA, Europe).gb ├── Kirby's Dream Land 2 (USA, Europe) (SGB Enhanced).gb ├── Pokemon - Blue Version (USA, Europe) (SGB Enhanced).gb ├── Pokemon - Red Version (USA, Europe) (SGB Enhanced).gb ├── Pokemon - Yellow Version - Special Pikachu Edition (USA, Europe) (CGB+SGB Enhanced).gb ├── Super Mario Land (World) (Rev 1).gb └── Super Mario Land 2 - 6 Golden Coins (USA, Europe) (Rev 2).gb ``` -------------------------------- ### Example input ROMs from multiple consoles Source: https://igir.io/output/path-options This example shows a set of ROMs from multiple consoles combined in one input directory before processing with igir. ```plaintext ROMs-Input/ ├── Pokemon - Blue Version (USA, Europe) (SGB Enhanced).gb ├── Pokemon - Crystal Version (USA, Europe) (Rev 1).gbc ├── Pokemon - Emerald Version (USA, Europe).gba ├── Pokemon - Gold Version (USA, Europe) (SGB Enhanced) (GB Compatible).gbc ├── Pokemon - Red Version (USA, Europe) (SGB Enhanced).gb ├── Pokemon - Ruby Version (USA, Europe) (Rev 2).gba ├── Pokemon - Sapphire Version (USA, Europe) (Rev 2).gba ├── Pokemon - Silver Version (USA, Europe) (SGB Enhanced) (GB Compatible).gbc └── Pokemon - Yellow Version - Special Pikachu Edition (USA, Europe) (CGB+SGB Enhanced).gb ``` -------------------------------- ### Example output directory structure with {region} token Source: https://igir.io/output/tokens Sample directory tree showing how ROMs are sorted into AUS, EUR, and USA subdirectories when using the {region} token. ```text ROMs-Sorted/ ├── AUS │ └── Pokemon Pinball (USA, Australia) (Rumble Version) (SGB Enhanced) (GB Compatible).gbc ├── EUR │ ├── Pokemon - Blue Version (USA, Europe) (SGB Enhanced).gb │ ├── Pokemon - Red Version (USA, Europe) (SGB Enhanced).gb │ └── Pokemon - Yellow Version - Special Pikachu Edition (USA, Europe) (CGB+SGB Enhanced).gb └── USA ├── Pokemon - Blue Version (USA, Europe) (SGB Enhanced).gb ├── Pokemon - Red Version (USA, Europe) (SGB Enhanced).gb ├── Pokemon - Yellow Version - Special Pikachu Edition (USA, Europe) (CGB+SGB Enhanced).gb └── Pokemon Pinball (USA, Australia) (Rumble Version) (SGB Enhanced) (GB Compatible).gbc ``` -------------------------------- ### Run Igir Example Command Source: https://igir.io/contributing Example command that runs Igir with the report command, a .dat file, and input directory. ```bash npm start -- report --dat *.dat --input ROMs ``` -------------------------------- ### Example output directory structure after --dir-mirror Source: https://igir.io/output/path-options Shows the output directory structure after using --dir-mirror with a DAT. The subdirectory structure matches the input, but ROMs have standardized names. ```text ROMs-Output/ └── gb ├── mario │ ├── Super Mario Land (World) (Rev 1).gb │ └── Super Mario Land 2 - 6 Golden Coins (USA, Europe) (Rev 2).gb └── pokemon ├── Pokemon - Blue Version (USA, Europe) (SGB Enhanced).gb ├── Pokemon - Red Version (USA, Europe) (SGB Enhanced).gb └── Pokemon - Yellow Version - Special Pikachu Edition (USA, Europe) (CGB+SGB Enhanced).gb ``` -------------------------------- ### Typical RomVault directory structure Source: https://igir.io/misc/alternatives Reference directory layout for a typical RomVault setup, showing DatRoot, RomRoot, and ToSort folders. ```text ROMVault_V3.7.4/ ├── DatRoot │ ├── No-Intro Love Pack (PC) (2025-05-09) │ │ ├── No-Intro │ │ │ ├── Sega - Game Gear (Parent-Clone) (20241203-185356).dat │ │ │ ├── Sega - Master System - Mark III (Parent-Clone) (20241225-050512).dat │ │ │ ├── Sega - Mega Drive - Genesis (Parent-Clone) (20250210-102212).dat │ │ │ └── ... │ │ └── Non-Redump │ │ ├── Non-Redump - Nintendo - Nintendo GameCube (Parent-Clone) (20250118-063947).dat │ │ ├── Non-Redump - Nintendo - Wii (Parent-Clone) (20241203-105832).dat │ │ ├── Non-Redump - Nintendo - Wii U (Parent-Clone) (20231229-065143).dat │ │ └── ... │ └── Redump (2025-05-09) │ ├── Sony - PlayStation - Datfile (10853) (2025-05-09 17-16-34).dat │ ├── Sony - PlayStation 2 - Datfile (11623) (2025-05-09 15-01-56).dat │ ├── Sony - PlayStation - Datfile (10853) (2025-05-09 17-16-34).dat │ └── ... ├── RomRoot │ ├── No-Intro Love Pack (PC) (2025-05-09) │ │ ├── No-Intro │ │ │ └── ... │ │ └── Non-Redump │ │ └── ... │ └── Redump (2025-05-09) │ └── ... ├── ROMVault37.exe └── ToSort └── ... ``` -------------------------------- ### Unverified dump examples (with [!]) Source: https://igir.io/roms/filtering Example ROM filenames that contain '[!]' and would be filtered out by --only-unverified. ```text Kirby & The Amazing Mirror (U) [!] Legend of Zelda, The - A Link To The Past with Four Swords (E) (M5) [!] Mario & Luigi - Superstar Saga (U) [!] ``` -------------------------------- ### Example file tree for glob patterns Source: https://igir.io/input/file-scanning A sample directory structure used to illustrate glob pattern examples. It shows a typical ROM collection with gb, gba, and gbc subdirectories. ```text . ├── gb │ ├── Bomberman GB (USA, Europe) (SGB Enhanced).gb │ └── [BIOS] Nintendo Game Boy Boot ROM (World) (Rev 1).gb ├── gba │ └── misc │ ├── Dragon Ball Z - The Legacy of Goku II International (Japan).gba │ └── [BIOS] Game Boy Advance (World).gba └── gbc ├── Legend of Zelda, The - Link's Awakening DX (USA, Europe) (Rev 2) (SGB Enhanced) (GB Compatible).gbc └── [BIOS] Nintendo Game Boy Color Boot ROM (World) (Rev 1).gbc ``` -------------------------------- ### Example output directory structure after subsequent sort Source: https://igir.io/usage/basic Shows the expected structure of the ROMs-Sorted directory after running the subsequent sort command. New ROMs have been added to the existing collection. ```text ROMs-Sorted/ ├── Nintendo - Game Boy │ ├── Pokemon - Blue Version (USA, Europe) (SGB Enhanced).zip │ ├── Pokemon - Red Version (USA, Europe) (SGB Enhanced).zip │ └── Pokemon - Yellow Version - Special Pikachu Edition (USA, Europe) (CGB+SGB Enhanced).zip ├── Nintendo - Game Boy Advance │ ├── Pokemon - Emerald Version (USA, Europe).zip │ ├── Pokemon - Ruby Version (USA, Europe) (Rev 2).zip │ └── Pokemon - Sapphire Version (USA, Europe) (Rev 2).zip └── Nintendo - Game Boy Color ├── Pokemon - Crystal Version (USA, Europe) (Rev 1).zip └── Pokemon Pinball (USA, Australia) (Rumble Version) (SGB Enhanced) (GB Compatible).zip ``` -------------------------------- ### Run Igir with npm start Source: https://igir.io/contributing Defines the npm start script to run Igir with command-line arguments and options. ```bash npm start -- [commands..] [options] ``` -------------------------------- ### Unverified dump examples (no [!]) Source: https://igir.io/roms/filtering Example ROM filenames that do NOT contain '[!]' and would be filtered out by --no-unverified. ```text Getaway, The (U) Gex - Enter the Gecko (U) [C][b1] Golf (W) [o1] Grand Theft Auto (E) (M5) [C][t1] ``` -------------------------------- ### Example DAT directory structure Source: https://igir.io/output/path-options Example of a DAT directory structure with two subdirectories containing DAT files. ROMs matched to these DATs will use the relative dirname in the output. ```text DATs/ ├── No-Intro Love Pack (PC) (2025-05-09) │ └── No-Intro │ ├── Sega - Game Gear (Parent-Clone) (20241203-185356).dat │ ├── Sega - Master System - Mark III (Parent-Clone) (20241225-050512).dat │ ├── Sega - Mega Drive - Genesis (Parent-Clone) (20250210-102212).dat │ └── ... └── Redump (2025-05-09) ├── Sony - PlayStation - Datfile (10853) (2025-05-09 17-16-34).dat ├── Sony - PlayStation 2 - Datfile (11623) (2025-05-09 15-01-56).dat ├── Sony - PlayStation - Datfile (10853) (2025-05-09 17-16-34).dat └── ... ``` -------------------------------- ### BIOS game name examples Source: https://igir.io/roms/filtering Example game names that are considered BIOS files. ```plaintext [BIOS] Nintendo Game Boy Boot ROM (World) (Rev 1) [BIOS] Nintendo Game Boy Color Boot ROM (World) (Rev 1) ``` -------------------------------- ### Common npm Commands Source: https://igir.io/contributing Shows three npm commands for running, testing, and packaging. `npm start` runs Igir, `npm test` runs tests, `npm pack` creates a tarball. ```bash npm start -- [arguments..] npm test npm pack ``` -------------------------------- ### Install npm Dependencies Source: https://igir.io/contributing Installs third-party dependencies using npm package manager. ```bash npm install ``` -------------------------------- ### Example output structure after letter grouping Source: https://igir.io/output/path-options Shows the resulting directory structure with letter ranges A-K and L-P, each containing up to 10 ROMs. ```plaintext ROMs-Output/ ├── A-K │ ├── Alleyway (World).gb │ ├── Battletoads (USA, Europe).gb │ ├── Centipede (USA) (Majesco).gb │ ├── Donkey Kong (World) (Rev 1) (SGB Enhanced).gb │ ├── Earthworm Jim (USA).gb │ ├── Final Fantasy Adventure (USA).gb │ ├── Game Boy Wars Turbo (Japan) (SGB Enhanced).gb │ ├── Harvest Moon GB (USA) (SGB Enhanced).gb │ ├── James Bond 007 (USA, Europe) (SGB Enhanced).gb │ ├── Kirby's Dream Land (USA, Europe).gb └── L-P ├── Legend of Zelda, The - Link's Awakening (USA, Europe) (Rev 2).gb ├── Mario's Picross (USA, Europe) (SGB Enhanced).gb └── Pocket Bomberman (Europe) (SGB Enhanced).gb ``` -------------------------------- ### GNU GPL notice for new programs Source: https://igir.io/license Use this notice to apply the GNU General Public License to a new program. Attach it to the start of each source file, including the copyright line and a pointer to the full notice. The text includes the warranty disclaimer and a link to the license. ```text Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . ``` -------------------------------- ### Example ROM collection structure for playlist generation Source: https://igir.io/output/playlists Example of a well-sorted ROM collection with multi-disc games (Final Fantasy IX, Legend of Dragoon) and a single-disc game (Vagrant Story). Igir can generate .m3u playlists for the multi-disc games without modifying the files. ```text ROMs/ └── Sony - PlayStation ├── Final Fantasy IX (USA) (Disc 1) │ ├── Final Fantasy IX (USA) (Disc 1).bin │ └── Final Fantasy IX (USA) (Disc 1).cue ├── Final Fantasy IX (USA) (Disc 2) │ ├── Final Fantasy IX (USA) (Disc 2).bin │ └── Final Fantasy IX (USA) (Disc 2).cue ├── Final Fantasy IX (USA) (Disc 3) │ ├── Final Fantasy IX (USA) (Disc 3).bin │ └── Final Fantasy IX (USA) (Disc 3).cue ├── Final Fantasy IX (USA) (Disc 4) │ ├── Final Fantasy IX (USA) (Disc 4).bin │ └── Final Fantasy IX (USA) (Disc 4).cue ├── Legend of Dragoon, The (USA) (Disc 1) │ ├── Legend of Dragoon, The (USA) (Disc 1).bin │ └── Legend of Dragoon, The (USA) (Disc 1).cue ├── Legend of Dragoon, The (USA) (Disc 2) │ ├── Legend of Dragoon, The (USA) (Disc 2).bin │ └── Legend of Dragoon, The (USA) (Disc 2).cue ├── Legend of Dragoon, The (USA) (Disc 3) │ ├── Legend of Dragoon, The (USA) (Disc 3).bin │ └── Legend of Dragoon, The (USA) (Disc 3).cue ├── Legend of Dragoon, The (USA) (Disc 4) │ ├── Legend of Dragoon, The (USA) (Disc 4).bin │ └── Legend of Dragoon, The (USA) (Disc 4).cue ├── Legend of Dragoon, The (USA).m3u └── Vagrant Story (USA) ├── Vagrant Story (USA).bin └── Vagrant Story (USA).cue ``` -------------------------------- ### Example output directory structure after first-time sort Source: https://igir.io/usage/basic Shows the expected structure of the ROMs-Sorted directory after running the first-time sort command. ROMs are organized into system-specific subdirectories and named according to the No-Intro DATs. ```text ROMs-Sorted/ ├── Nintendo - Game Boy │ ├── Pokemon - Blue Version (USA, Europe) (SGB Enhanced).zip │ └── Pokemon - Yellow Version - Special Pikachu Edition (USA, Europe) (CGB+SGB Enhanced).zip ├── Nintendo - Game Boy Advance │ ├── Pokemon - Emerald Version (USA, Europe).zip │ └── Pokemon - Sapphire Version (USA, Europe) (Rev 2).zip └── Nintendo - Game Boy Color ├── Pokemon - Crystal Version (USA, Europe) (Rev 1).zip └── Pokemon Pinball (USA, Australia) (Rumble Version) (SGB Enhanced) (GB Compatible).zip ``` -------------------------------- ### Run Igir with a No-Intro DAT zip using --dat Source: https://igir.io/dats/introduction Use this command to run Igir with a downloaded No-Intro DAT zip file. The --dat option accepts a path, glob, or URL, and the --input option specifies the ROM input directory. This is the recommended setup for organizing ROMs with Igir. ```shell igir [commands..] --dat "No-Intro*.zip" --input ``` -------------------------------- ### Homebrew ROM name examples Source: https://igir.io/roms/filtering Example ROM filenames that contain '(Homebrew)' and would be affected by the --no-homebrew or --only-homebrew flags. ```text Game Boy Camera Gallery 2022, The (World) (Aftermarket) (Homebrew) GB-Wordyl (World) (Aftermarket) (Homebrew) ``` -------------------------------- ### Default output directory structure with --dir-game-subdir multiple Source: https://igir.io/output/path-options Example output directory tree showing the default behavior where games with multiple ROMs are grouped into their own subdirectories. Games with a single ROM are not grouped. ```text ROMS-Output/ └── TOSEC ├── Sega Dreamcast - Games - US │ ├── Sonic Adventure 2 v1.008 (2001)(Sega)(US)(M5)[!][3S] │ │ ├── Sonic Adventure 2 v1.008 (2001)(Sega)(US)(M5)[!][3S].gdi │ │ ├── track01.bin │ │ ├── track02.raw │ │ └── track03.bin │ └── Sonic Adventure v1.005 (1999)(Sega)(US)(M5)[!][26S] │ ├── Sonic Adventure v1.005 (1999)(Sega)(US)(M5)[!][26S].gdi │ ├── track01.bin │ ├── track02.raw │ └── track03.bin └── Sega Mega-CD & Sega CD - CD - Games - [ISO] └── Sonic CD (1993)(Sega)(NTSC)(US)[!][SEGA4407RE152 R7D] ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 01 of 35)[!][SEGA4407RE152 R7D].iso ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 02 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 03 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 04 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 05 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 06 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 07 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 08 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 09 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 10 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 11 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 12 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 13 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 14 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 15 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 16 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 17 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 18 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 19 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 20 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 21 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 22 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 23 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 24 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 25 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 26 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 27 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 28 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 29 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 30 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 31 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 32 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 33 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 34 of 35)[!][SEGA4407RE152 R7D].wav ├── Sonic CD (1993)(Sega)(NTSC)(US)(Track 35 of 35)[!][SEGA4407RE152 R7D].wav └── Sonic CD (1993)(Sega)(NTSC)(US)[!][SEGA4407RE152 R7D].cue ``` -------------------------------- ### Download System.dat from URL to copy BIOS ROMs (Windows) Source: https://igir.io/dats/scanning Igir can download DAT files from URLs. This Windows example copies only BIOS ROMs and names them for RetroArch. ```shell igir copy ^ --dat "https://raw.githubusercontent.com/libretro/libretro-database/master/dat/System.dat" ^ --input ROMs ^ --output RetroArch-BIOS ``` -------------------------------- ### Example output with --dir-letter-limit 5 Source: https://igir.io/output/path-options Shows the resulting directory structure after applying --dir-letter-limit 5: the 'S' folder is split into S1 and S2, each containing up to 5 games. ```plaintext ROMs-Output/ ├── S1 │ ├── Shaq Fu (USA) (SGB Enhanced).gb │ ├── Space Invaders (USA) (SGB Enhanced).gb │ ├── Star Wars (USA, Europe) (Rev 1).gb │ ├── Star Wars - The Empire Strikes Back (USA, Europe).gb │ └── Street Fighter II (USA, Europe) (Rev 1) (SGB Enhanced).gb └── S2 ├── Super Mario Land (World) (Rev 1).gb └── Super Mario Land 2 - 6 Golden Coins (USA, Europe) (Rev 2).gb ``` -------------------------------- ### Bad dump examples with [c] or [x] Source: https://igir.io/roms/filtering Example ROM filenames that contain '[c]' or '[x]' and are not verified dumps, which are also filtered by --no-bad or --only-bad. ```text Brian Lara Cricket 96 (E) [a1][x] Micro Machines Military - It's a Blast! (E) [x] ``` -------------------------------- ### Aftermarket ROM name examples Source: https://igir.io/roms/filtering Example ROM filenames that contain '(Aftermarket)' and would be affected by the --no-aftermarket or --only-aftermarket flags. ```text Bub-O Escape (World) (v2.5) (Aftermarket) (Unl) D-Fuzed (World) (v1.1.0) (GB Compatible) (Aftermarket) (Unl) ``` -------------------------------- ### Generate split set DAT of non-bootleg arcade games (macOS/Linux) Source: https://igir.io/dats/fixdats Same arcade example for Unix shells with backslash continuations. ```bash igir fixdat \ --dat "mame*.xml" \ --merge-roms split \ --only-retail ``` -------------------------------- ### Download System.dat from URL to copy BIOS ROMs (macOS/Linux) Source: https://igir.io/dats/scanning Igir can download DAT files from URLs. This macOS/Linux example copies only BIOS ROMs and names them for RetroArch. ```shell igir copy \ --dat "https://raw.githubusercontent.com/libretro/libretro-database/master/dat/System.dat" \ --input ROMs \ --output RetroArch-BIOS ``` -------------------------------- ### Run Igir after Scoop install Source: https://igir.io/installation Run Igir after installing via Scoop, using the copy extract command with Windows line continuations (^). ```bash igir copy extract ^ --dat *.dat ^ --input ROMs ^ --output ROMs-Sorted ^ --dir-dat-name ``` -------------------------------- ### Pending dump filter example name Source: https://igir.io/roms/filtering-preferences Example game name that matches the pending dump filter criteria. ```text Cheetah Men II (Active Enterprises) [!p] ``` -------------------------------- ### Sample game name examples Source: https://igir.io/roms/filtering-preferences Example game names that match the sample filter. These names contain '(Sample)'. ```text Mega Man III (USA) (Sample) Shin Nihon Pro Wrestling - Toukon Sanjuushi (Japan) (Sample) ``` -------------------------------- ### Input ROM directory tree before sorting Source: https://igir.io/output/playlists Example input directory structure for a multi-disc Dreamcast ROM collection before sorting. Shows per-disc subfolders containing a .gdi file and track files, plus a single-disc game with a keyboard requirement. ```text ROMs/ ├── Resident Evil - Code Veronica v1.000 (2000)(Capcom)(US)(Disc 1 of 2)[!] │ ├── Resident Evil - Code Veronica v1.000 (2000)(Capcom)(US)(Disc 1 of 2)[!].gdi │ ├── track01.bin │ ├── track02.raw │ └── track03.bin ├── Resident Evil - Code Veronica v1.000 (2000)(Capcom)(US)(Disc 2 of 2)[!] │ ├── Resident Evil - Code Veronica v1.000 (2000)(Capcom)(US)(Disc 2 of 2)[!].gdi │ ├── track01.bin │ ├── track02.raw │ └── track03.bin ├── Skies of Arcadia v1.002 (2000)(Sega)(US)(Disc 1 of 2)[!] │ ├── Skies of Arcadia v1.002 (2000)(Sega)(US)(Disc 1 of 2)[!].gdi │ ├── track01.bin │ ├── track02.raw │ └── track03.bin ├── Skies of Arcadia v1.002 (2000)(Sega)(US)(Disc 2 of 2)[!] │ ├── Skies of Arcadia v1.002 (2000)(Sega)(US)(Disc 2 of 2)[!].gdi │ ├── track01.bin │ ├── track02.raw │ └── track03.bin └── Typing of the Dead, The v1.004 (2000)(Sega)(US)[!][req. keyboard] ├── Typing of the Dead, The v1.004 (2000)(Sega)(US)[!][req. keyboard].gdi ├── track01.bin ├── track02.raw ├── track03.bin ├── track04.raw └── track05.bin ``` -------------------------------- ### BIOS filter example names Source: https://igir.io/roms/filtering-preferences Example game names that match the BIOS filter criteria. ```text [BIOS] Nintendo Game Boy Boot ROM (World) (Rev 1) [BIOS] Nintendo Game Boy Color Boot ROM (World) (Rev 1) ``` -------------------------------- ### Run Igir after Homebrew install Source: https://igir.io/installation Run Igir after installing via Homebrew, using the copy extract command with line continuations. ```bash igir copy extract \ --dat *.dat \ --input ROMs \ --output ROMs-Sorted \ --dir-dat-name ``` -------------------------------- ### Parent/clone inference example: Super Smash Bros. Melee releases Source: https://igir.io/dats/processing Example releases that Igir can infer as the same game for 1G1R sets. The '--single' option can then be used with 1G1R preferences. ```text Super Smash Bros. Melee (Europe) (En,Fr,De,Es,It) Super Smash Bros. Melee (Korea) (En,Ja) Super Smash Bros. Melee (USA) (En,Ja) Super Smash Bros. Melee (USA) (En,Ja) (Rev 1) Super Smash Bros. Melee (USA) (En,Ja) (Rev 2) ``` -------------------------------- ### Download NES SMDB from URL to copy ROMs for EverDrive (macOS/Linux) Source: https://igir.io/dats/scanning Igir can download DAT files from URLs. This macOS/Linux example copies NES ROMs and names them for easy browsing on an EverDrive. ```shell igir copy \ --dat "https://raw.githubusercontent.com/frederic-mahe/Hardware-Target-Game-Database/refs/heads/master/EverDrive%20Pack%20SMDBs/NES2.0%20SMDB.txt" \ --input ROMs \ --output EverDrive-NES ``` -------------------------------- ### Download NES SMDB from URL to copy ROMs for EverDrive (Windows) Source: https://igir.io/dats/scanning Igir can download DAT files from URLs. This Windows example copies NES ROMs and names them for easy browsing on an EverDrive. ```shell igir copy ^ --dat "https://raw.githubusercontent.com/frederic-mahe/Hardware-Target-Game-Database/refs/heads/master/EverDrive%20Pack%20SMDBs/NES2.0%20SMDB.txt" ^ --input ROMs ^ --output EverDrive-NES ``` -------------------------------- ### Demo game name examples Source: https://igir.io/roms/filtering-preferences Example game names that match the demo filter. These names contain '(Demo)' or have the game category 'Demos'. ```text Coria and the Sunken City (Unknown) (Demo) Two Hearts (Japan) (Demo) (Unl) ``` -------------------------------- ### Glob pattern: Only process BIOS ROMs Source: https://igir.io/input/file-scanning Uses the glob pattern `**/\[BIOS\]*` to match files starting with '[BIOS]', as shown in the example file tree. ```bash --input "**/\[BIOS\]*" ``` -------------------------------- ### Run Docker Compose for RomM Source: https://igir.io/usage/desktop/romm Run this command to start the RomM services defined in docker-compose.yml. ```bash docker compose up ``` -------------------------------- ### Bad dump name examples Source: https://igir.io/roms/filtering Example ROM filenames that contain '[b]' or '[b#]' and would be affected by the --no-bad or --only-bad flags. ```text [MIA] Aprilia - DiTech Interface (Unknown) (Unl) [b] Great Greed (U) [b1] Gremlins 2 - The New Batch (W) [b2] ``` -------------------------------- ### Trainer game name examples Source: https://igir.io/roms/filtering Example game names that are considered trainers. ```plaintext Qix Adventure (J) [C][t1] R-Type DX (U) [C][t2] ``` -------------------------------- ### igir copy command with --dir-dat-name (Windows) Source: https://igir.io/output/path-options Windows example of the igir copy command using the --dir-dat-name option, with line continuations using ^. ```batch igir copy ^ --dat "No-Intro*.zip" ^ --input "ROMs-Input" ^ --output "ROMs-Output" ^ --dir-dat-name ``` -------------------------------- ### Hacked game name examples Source: https://igir.io/roms/filtering Example game names that are considered hacks. ```plaintext Kirby's Dream Land 2 (U) [S][h1] (Sound Test) Pokemon - Blue Version (UE) [S][h2] Q-bert II (UE) [h1C] ``` -------------------------------- ### Pirated game name examples Source: https://igir.io/roms/filtering Example game names that are considered pirated. ```plaintext Flipull (J) [p1] Super Mario 4 (Unknown) (Ja) (Pirate) Super Robot Taisen Final Vol.1 (Unl) [C][p2] ``` -------------------------------- ### Example npx Igir command Source: https://igir.io/installation Example of using npx to run Igir with the copy extract command. The glob pattern *.dat is not quoted here, but the warning later advises quoting all glob patterns. ```bash npx igir@latest copy extract --dat *.dat --input ROMs --output ROMs-Sorted --dir-dat-name ``` -------------------------------- ### Overdump game name examples Source: https://igir.io/roms/filtering Example game names that are considered overdumps. ```plaintext Castlevania II - Belmont's Revenge (U) [o1] Cave Noire (J) [o2] ``` -------------------------------- ### Fixed game name examples Source: https://igir.io/roms/filtering Example game names that are considered fixed. ```plaintext Black Bass - Lure Fishing (U) [C][f1] Bugs Bunny - Crazy Castle 3 (J) [C][f2] ``` -------------------------------- ### Cracked game name examples Source: https://igir.io/roms/filtering Example game names that are considered cracked. ```plaintext Jet Set Willy (1984)(Software Projects)[cr] Buck Rogers - Countdown to Doomsday v1.0 (1991)(SS1)(Disk 1 of 3)[cr2][FD installed] Dungeon Master (1987)(FTL)[cr 42-Crew] ``` -------------------------------- ### Alpha game name examples Source: https://igir.io/roms/filtering Example game names that are considered alphas. ```plaintext Isle Quest (World) (v0.1c) (Alpha) (Aftermarket) (Homebrew) Sword (Alpha) (PD) [C] ``` -------------------------------- ### Unlicensed game name examples Source: https://igir.io/roms/filtering Example game names that are considered unlicensed. ```plaintext 4 in 1 (Europe) (4B-002, Sachen) (Unl) Caihong Zhanshi - Rainbow Prince (Taiwan) (Unl) ``` -------------------------------- ### Igir region parsing examples Source: https://igir.io/roms/filtering-preferences Example game names that Igir can parse regions from, including games with multiple regions. The list shows USA, Japan, Europe, and Spain examples with their region codes. ```text 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) ``` -------------------------------- ### Igir language parsing examples Source: https://igir.io/roms/filtering-preferences Example game names that Igir can parse languages from, including games with multiple languages. The list shows English, Japanese, and Spanish examples with their language codes in parentheses. ```text 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][!] ``` -------------------------------- ### Example flash cart directory structure Source: https://igir.io/usage/basic Shows the expected output on the flash cart after running the Igir command. The ROMs are placed in a directory named after the first letter of the game title, and only one ROM per game is present. ```text /Volumes/FlashCart └── P ├── Pokemon - Blue Version (USA, Europe) (SGB Enhanced).gb ├── Pokemon - Red Version (USA, Europe) (SGB Enhanced).gb └── Pokemon - Yellow Version - Special Pikachu Edition (USA, Europe) (CGB+SGB Enhanced).gb ``` -------------------------------- ### Unofficial translation game name examples Source: https://igir.io/roms/filtering Example game names that are considered unofficial translations. ```plaintext Duck Tales (E) [T-Ger] Final Fantasy Legend II (U) [T+Fre] ``` -------------------------------- ### --dir-game-subdir option syntax Source: https://igir.io/output/path-options Shows the command-line option syntax for --dir-game-subdir. The mode can be 'never', 'multiple' (default), or 'always'. ```text --dir-game-subdir ``` -------------------------------- ### Pending dump game name example Source: https://igir.io/roms/filtering Example game name that is considered a pending dump. ```plaintext Cheetah Men II (Active Enterprises) [!p] ``` -------------------------------- ### MIA game name examples Source: https://igir.io/roms/filtering Example game names that are considered MIA (missing in action). ```plaintext [MIA] Better Dead Than Alien (Europe) [MIA] Billiards Simulator (Europe) (En,Fr,De) ``` -------------------------------- ### Enhancement chip game name examples Source: https://igir.io/roms/filtering Example game names that are considered enhancement chips. ```plaintext DSP1 B (World) (Enhancement Chip) Super Game Boy SGB-CPU (World) (Enhancement Chip) ``` -------------------------------- ### Trainer filter example names Source: https://igir.io/roms/filtering-preferences Example game names that match the trainer filter criteria. ```text Qix Adventure (J) [C][t1] R-Type DX (U) [C][t2] ``` -------------------------------- ### Build device-only set (Windows) Source: https://igir.io/usage/arcade Use igir copy zip with --only-device to create a set of only device files, each in its own .zip file. This command is for Windows, using caret (^) line continuations. ```shell igir copy zip ^ --dat "MAME_Dats_258\DATs\MAME 0.258.dat" ^ --input "MAME-ROMs" ^ --output "MAME-Devices" ^ --only-device ``` -------------------------------- ### Hack filter example names Source: https://igir.io/roms/filtering-preferences Example game names that match the hack filter criteria. ```text Kirby's Dream Land 2 (U) [S][h1] (Sound Test) Pokemon - Blue Version (UE) [S][h2] Q-bert II (UE) [h1C] ``` -------------------------------- ### Enable --dir-dat-mirror option Source: https://igir.io/output/path-options Command-line option `--dir-dat-mirror` to enable mirroring of the DAT subdirectories into the output directory. ```bash --dir-dat-mirror ``` -------------------------------- ### Pirated filter example names Source: https://igir.io/roms/filtering-preferences Example game names that match the pirated filter criteria. ```text Flipull (J) [p1] Super Mario 4 (Unknown) (Ja) (Pirate) Super Robot Taisen Final Vol.1 (Unl) [C][p2] ``` -------------------------------- ### Overdump filter example names Source: https://igir.io/roms/filtering-preferences Example game names that match the overdump filter criteria. ```text Castlevania II - Belmont's Revenge (U) [o1] Cave Noire (J) [o2] ``` -------------------------------- ### Fixed filter example names Source: https://igir.io/roms/filtering-preferences Example game names that match the fixed filter criteria. ```text Black Bass - Lure Fishing (U) [C][f1] Bugs Bunny - Crazy 3 (J) [C][f2] ``` -------------------------------- ### MIA filter example names Source: https://igir.io/roms/filtering-preferences Example game names that match the non-public MIA filter criteria. ```text [MIA] Better Dead Than Alien (Europe) [MIA] Billiards Simulator (Europe) (En,Fr,De) ```