Skip to content
kencinder edited this page Aug 15, 2026 · 4 revisions

Config (igirst.cfg)

Defaults are set for everything mandatory except your ROM input path

Path to IGIR

An absolute or relative path from IGIRST.SH to the IGIR Exectuable

7z Support

Used automatically where supported and requirements met

7z command - Command of "7z" or absolute path to 7z executable, if unset 7z Support will be disabled

7z arguments eg; "-m0=lzma2 -mx=9 -mfb=256 -md=512m -ms=on". If none set, defaults used

Notes:
If ROM name is correct in 7z file(s), but 7z filename is incorrect, IGIR will fix on COPY/MOVE
If ROM name is incorrect in 7z file(s) IGIR will report it 'unused'
Extracts 'unused' 7z files, IGIR handles extracted file(s), 7z repack matched & IGIR final report
Files remaining in INPUT or BACKUP on completion are unmatched/unused

Requirements:
1: 7z MUST be present on your system and the command or binary set in _7z_command=""
2: Only works with MOVE currently(COPY is a big can of worms I may attempt, but not sure it even has a use case)
3: If system INPUT and OUTPUT paths are equal, clean --clean-backup MUST be set in Additional Commands

If system INPUT and OUTPUT paths are NOT equal, clean --clean-backup is not required
Any requirement above not met and 7z will silently be skipped and your files left as IGIR leaves them

Global Variables

eg; global_options="-R USA,WORLD -r USA,WORLD --single --no-bios --only-retail --no-unlicensed --prefer-revision newer"

This allows you to use the same options for multiple systems eg atari_2600_options="$global_options"

DAT Files

eg; atari_2600_dat=( "dats/atari/Atari - Atari 2600"*.* )

If using a wildcard, you may want to ensure only 1 DAT exists for the system unless purposely using multiple
Use "<path>/<filename>".<ext> if replacing DAT source with a single file
Leave the parentheses in place for DAT Filename variable creation
$dat_filename for full dat name or $dat_filename_no_parentheses for a stripped version

Input Directory

An absolute or relative path from IGIRST.SH to your roms

Output Directory for COPY

An absolute or relative path from IGIRST.SH, or the input variable can be used

You may want to use a different directory than you do for IGIR's MOVE
such as for copying ROMs to the folder structure RomM uses with IGIR's Link option or to an SD card for a retro handheld, or other use case

Output Directory for MOVE

An absolute or relative path from IGIRST.SH, or the input variable can be used

You may want to use a different directory than you do for IGIR's COPY
such as using the same output as input for maintaining your existing collection

Report Filename

This can be set to whatever path and naming scheme you want to use

DAT filename varibles are dynamically created by IGIR Shell Tools based on the DAT used
You can utilize them for your report name eg; atari_2600_report="${atari_2600_input}/../${dat_filename}.csv"
$dat_filename for full dat name or $dat_filename_no_parentheses for a stripped version

Additional IGIR Commands

IGIR commands to use other than COPY, MOVE or REPORT
If using clean with --clean-backup, you may use input/output variables
eg; atari_2600_command_add="clean --clean-backup $_2600_output_move/../backup" moves "unused" to a "backup" directory 1 level up from output_move
A safety check is done for clean that requires confirmation if --clean-backup isn't also used

ROM Options

Set IGIR options you want to use here
eg; atari_2600_options="-R USA,WORLD -r USA,WORLD --single --no-bios --only-retail --no-unlicensed --prefer-revision newer"
or "$global_options" as per Global Variables

Excludes

These Must be in Glob format
eg atari_2600_exclude="(\(Alt|Atari Anthology|BASIC Programming|Color Bar Generator|Kid Vid Voice Module|PROPER 12K)"

Clone this wiki locally