Skip to content

Commit 0cccc4f

Browse files
authored
Docs: update (#2341)
1 parent 313cc64 commit 0cccc4f

9 files changed

Lines changed: 266 additions & 51 deletions

File tree

docs/dats/dir2dat.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ The `dir2dat` command creates a [Logiqx XML](http://www.logiqx.com/DatFAQs/) DAT
1010

1111
Example usage:
1212

13+
=== ":fontawesome-brands-windows: Windows"
14+
15+
=== ":fontawesome-brands-apple: macOS"
16+
17+
=== ":simple-linux: Linux"
18+
1319
```shell
1420
igir dir2dat --input <path|glob> [--input <path|glob>..]
1521
```

docs/dats/introduction.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ See the [DAT scanning page](scanning.md) for details about how to supply DATs to
1717
A number of different release groups maintain sets of DATs, the most popular are:
1818

1919
- [No-Intro](https://datomatic.no-intro.org/index.php?page=download&s=64&op=daily) (cartridge-based consoles)
20-
- [Redump](http://redump.org/downloads/) (optical media-based consoles)
20+
- [Redump](https://redump.info/downloads) (optical media-based consoles)
21+
- [The Old School Emulation Center (TOSEC)](https://www.tosecdev.org/downloads/category/22-datfiles)
2122
- [MAME](https://www.mamedev.org/release.html) (official "full driver" MAME ListXML)
2223

2324
And some less popular release groups are:
2425

25-
- [The Old School Emulation Center (TOSEC)](https://www.tosecdev.org/downloads/category/22-datfiles)
2626
- [GoodTools](https://github.com/Eggmansworld/Datfiles/releases/tag/goodtools) (home computers, gen 1-5 consoles)
2727
- [libretro (RetroArch)](https://www.libretro.com/):
2828
- [Custom DATs](https://github.com/libretro/libretro-database/tree/master/dat) (specific games, some optical media-based consoles)

docs/dats/processing.md

Lines changed: 70 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,40 @@ Headerless|Encrypted
2929

3030
`--dat-name-regex-exclude <pattern|filename>` is particularly helpful for excluding some No-Intro DATs versions such as "encrypted" and "headerless".
3131

32+
!!! example
33+
34+
Processing a directory of No-Intro DATs while excluding the "headerless" and "encrypted" variants:
35+
36+
=== ":fontawesome-brands-windows: Windows"
37+
38+
```batch
39+
igir copy ^
40+
--dat "No-Intro*.zip" ^
41+
--dat-name-regex-exclude "/headerless|encrypted/i" ^
42+
--input ROMs ^
43+
--output ROMs-Sorted
44+
```
45+
46+
=== ":fontawesome-brands-apple: macOS"
47+
48+
```shell
49+
igir copy \
50+
--dat "No-Intro*.zip" \
51+
--dat-name-regex-exclude "/headerless|encrypted/i" \
52+
--input ROMs \
53+
--output ROMs-Sorted
54+
```
55+
56+
=== ":simple-linux: Linux"
57+
58+
```shell
59+
igir copy \
60+
--dat "No-Intro*.zip" \
61+
--dat-name-regex-exclude "/headerless|encrypted/i" \
62+
--input ROMs \
63+
--output ROMs-Sorted
64+
```
65+
3266
### DAT description regex filtering
3367

3468
```text
@@ -47,9 +81,42 @@ The `--dat-combine` option lets you combine every game from every parsed DAT int
4781

4882
This may be desirable when creating a [dir2dat](dir2dat.md), a [fixdat](fixdats.md), or other complicated situations.
4983

50-
!!! note
51-
52-
You may want to use [`--allow-incomplete-sets`](../roms/sets.md#allowing-inexact-sets) when combining DATs.
84+
!!! example
85+
86+
TOSEC separates DATs by region, so combining all regions for one console into one DAT may be desirable:
87+
88+
=== ":fontawesome-brands-windows: Windows"
89+
90+
```batch
91+
igir copy ^
92+
--dat "TOSEC*.zip" ^
93+
--dat-name-regex "/Dreamcast/i" ^
94+
--dat-combine ^
95+
--input ROMs ^
96+
--output ROMs-Dreamcast
97+
```
98+
99+
=== ":fontawesome-brands-apple: macOS"
100+
101+
```shell
102+
igir copy \
103+
--dat "TOSEC*.zip" \
104+
--dat-name-regex "/Dreamcast/i" \
105+
--dat-combine \
106+
--input ROMs \
107+
--output ROMs-Dreamcast
108+
```
109+
110+
=== ":simple-linux: Linux"
111+
112+
```shell
113+
igir copy \
114+
--dat "TOSEC*.zip" \
115+
--dat-name-regex "/Dreamcast/i" \
116+
--dat-combine \
117+
--input ROMs \
118+
--output ROMs-Dreamcast
119+
```
53120

54121
!!! note
55122

docs/dats/scanning.md

Lines changed: 94 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -55,34 +55,69 @@ There have been many DAT-like formats developed over the years. Igir supports th
5555

5656
## DAT URLs
5757

58-
The `--dat <path|glob|url>` option is unique in that it can download files from URLs, which can be helpful with files that keep a consistent URL but update on a regular basis. For example:
58+
The `--dat <path|glob|url>` option is unique in that it can download files from URLs, which can be helpful with files that keep a consistent URL but update on a regular basis.
5959

60-
=== ":fontawesome-brands-windows: Windows"
60+
!!! example
6161

62-
```batch
63-
igir copy ^
64-
--dat "https://raw.githubusercontent.com/libretro/libretro-database/master/dat/DOOM.dat" ^
65-
--input ROMs ^
66-
--output ROMs-Sorted
67-
```
62+
Copying only the BIOS ROMs from your collection, naming them what [RetroArch](../usage/desktop/retroarch.md) expects:
6863

69-
=== ":fontawesome-brands-apple: macOS"
64+
=== ":fontawesome-brands-windows: Windows"
7065

71-
```shell
72-
igir copy \
73-
--dat "https://raw.githubusercontent.com/libretro/libretro-database/master/dat/DOOM.dat" \
74-
--input ROMs \
75-
--output ROMs-Sorted
76-
```
66+
```batch
67+
igir copy ^
68+
--dat "https://raw.githubusercontent.com/libretro/libretro-database/master/dat/System.dat" ^
69+
--input ROMs ^
70+
--output RetroArch-BIOS
71+
```
7772

78-
=== ":simple-linux: Linux"
73+
=== ":fontawesome-brands-apple: macOS"
7974

80-
```shell
81-
igir copy \
82-
--dat "https://raw.githubusercontent.com/libretro/libretro-database/master/dat/DOOM.dat" \
83-
--input ROMs \
84-
--output ROMs-Sorted
85-
```
75+
```shell
76+
igir copy \
77+
--dat "https://raw.githubusercontent.com/libretro/libretro-database/master/dat/System.dat" \
78+
--input ROMs \
79+
--output RetroArch-BIOS
80+
```
81+
82+
=== ":simple-linux: Linux"
83+
84+
```shell
85+
igir copy \
86+
--dat "https://raw.githubusercontent.com/libretro/libretro-database/master/dat/System.dat" \
87+
--input ROMs \
88+
--output RetroArch-BIOS
89+
```
90+
91+
!!! example
92+
93+
Copying Nintendo Entertainment System ROMs, naming them in a way that is easy to browse from an [EverDrive](../usage/hardware/everdrive.md):
94+
95+
=== ":fontawesome-brands-windows: Windows"
96+
97+
```batch
98+
igir copy ^
99+
--dat "https://raw.githubusercontent.com/frederic-mahe/Hardware-Target-Game-Database/refs/heads/master/EverDrive%20Pack%20SMDBs/NES2.0%20SMDB.txt" ^
100+
--input ROMs ^
101+
--output EverDrive-NES
102+
```
103+
104+
=== ":fontawesome-brands-apple: macOS"
105+
106+
```shell
107+
igir copy \
108+
--dat "https://raw.githubusercontent.com/frederic-mahe/Hardware-Target-Game-Database/refs/heads/master/EverDrive%20Pack%20SMDBs/NES2.0%20SMDB.txt" \
109+
--input ROMs \
110+
--output EverDrive-NES
111+
```
112+
113+
=== ":simple-linux: Linux"
114+
115+
```shell
116+
igir copy \
117+
--dat "https://raw.githubusercontent.com/frederic-mahe/Hardware-Target-Game-Database/refs/heads/master/EverDrive%20Pack%20SMDBs/NES2.0%20SMDB.txt" \
118+
--input ROMs \
119+
--output EverDrive-NES
120+
```
86121

87122
!!! note
88123

@@ -97,3 +132,40 @@ You can ignore certain DAT files from being scanned with the option:
97132
```
98133

99134
This can help you exclude DATs that you don't want to process to cut down on processing time or to make your resulting collection smaller.
135+
136+
!!! example
137+
138+
Processing a directory of DATs while excluding any "Beta" and "Demo" DATs:
139+
140+
=== ":fontawesome-brands-windows: Windows"
141+
142+
```batch
143+
igir copy ^
144+
--dat DATs ^
145+
--dat-exclude "DATs\*Beta*" ^
146+
--dat-exclude "DATs\*Demo*" ^
147+
--input ROMs ^
148+
--output ROMs-Sorted
149+
```
150+
151+
=== ":fontawesome-brands-apple: macOS"
152+
153+
```shell
154+
igir copy \
155+
--dat DATs \
156+
--dat-exclude "DATs/*Beta*" \
157+
--dat-exclude "DATs/*Demo*" \
158+
--input ROMs \
159+
--output ROMs-Sorted
160+
```
161+
162+
=== ":simple-linux: Linux"
163+
164+
```shell
165+
igir copy \
166+
--dat DATs \
167+
--dat-exclude "DATs/*Beta*" \
168+
--dat-exclude "DATs/*Demo*" \
169+
--input ROMs \
170+
--output ROMs-Sorted
171+
```

docs/installation.md

Lines changed: 45 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,24 @@ Igir does not currently provide an auto-update functionality, but many of the fo
2020

2121
The best way to ensure that you are always running the most up-to-date version of Igir is to run it via [`npx`](https://docs.npmjs.com/cli/v9/commands/npx) (which comes installed with [Node.js](https://nodejs.org/en/download/)):
2222

23+
=== ":fontawesome-brands-windows: Windows"
24+
25+
=== ":fontawesome-brands-apple: macOS"
26+
27+
=== ":simple-linux: Linux"
28+
2329
```shell
2430
npx igir@latest [commands..] [options]
2531
```
2632

2733
for example:
2834

35+
=== ":fontawesome-brands-windows: Windows"
36+
37+
=== ":fontawesome-brands-apple: macOS"
38+
39+
=== ":simple-linux: Linux"
40+
2941
```shell
3042
npx igir@latest copy extract --dat *.dat --input ROMs --output ROMs-Sorted --dir-dat-name
3143
```
@@ -38,20 +50,22 @@ npx igir@latest copy extract --dat *.dat --input ROMs --output ROMs-Sorted --dir
3850

3951
=== ":fontawesome-brands-apple: macOS"
4052

41-
```bash
42-
alias igir="npx igir@latest"
43-
```
44-
4553
=== ":simple-linux: Linux"
4654

47-
```bash
48-
alias igir="npx igir@latest"
49-
```
55+
```bash
56+
alias igir="npx igir@latest"
57+
```
5058

5159
!!! tip
5260

5361
Igir also supports [Bun](https://bun.com/), which typically executes JavaScript faster and with less memory usage. You can run the latest version of Igir like this:
5462

63+
=== ":fontawesome-brands-windows: Windows"
64+
65+
=== ":fontawesome-brands-apple: macOS"
66+
67+
=== ":simple-linux: Linux"
68+
5569
```shell
5670
bunx igir@latest [commands..] [options]
5771
```
@@ -62,6 +76,12 @@ npx igir@latest copy extract --dat *.dat --input ROMs --output ROMs-Sorted --dir
6276

6377
If you want to help beta test Igir, you can run the most bleeding-edge version (sometimes called a "nightly") with the command:
6478

79+
=== ":fontawesome-brands-windows: Windows"
80+
81+
=== ":fontawesome-brands-apple: macOS"
82+
83+
=== ":simple-linux: Linux"
84+
6585
```shell
6686
npx --yes "https://pkg.pr.new/igir@main" [commands..] [options]
6787
```
@@ -73,13 +93,21 @@ npx igir@latest copy extract --dat *.dat --input ROMs --output ROMs-Sorted --dir
7393

7494
[Homebrew](https://brew.sh/) is a third-party package manager for macOS. You can install Igir with this command:
7595

96+
=== ":fontawesome-brands-apple: macOS"
97+
98+
=== ":simple-linux: Linux"
99+
76100
```shell
77101
brew trust emmercm/igir
78102
brew install emmercm/igir/igir
79103
```
80104

81105
and then run Igir as if it were any other executable:
82106

107+
=== ":fontawesome-brands-apple: macOS"
108+
109+
=== ":simple-linux: Linux"
110+
83111
```shell
84112
igir copy extract \
85113
--dat *.dat \
@@ -90,6 +118,10 @@ igir copy extract \
90118

91119
Igir can then be updated with _either_ of these commands
92120

121+
=== ":fontawesome-brands-apple: macOS"
122+
123+
=== ":simple-linux: Linux"
124+
93125
```shell
94126
# Update every Homebrew package
95127
brew update
@@ -105,13 +137,17 @@ brew upgrade igir
105137

106138
[Scoop](https://scoop.sh/) is a third-party command-line installer for Windows. You can install Igir with this command:
107139

140+
=== ":fontawesome-brands-windows: Windows"
141+
108142
```shell
109143
scoop bucket add igir https://github.com/emmercm/igir
110144
scoop install igir
111145
```
112146

113147
and then run Igir as if it were any other executable:
114148

149+
=== ":fontawesome-brands-windows: Windows"
150+
115151
```batch
116152
igir copy extract ^
117153
--dat *.dat ^
@@ -122,6 +158,8 @@ igir copy extract ^
122158

123159
Igir can then be updated with _either_ of these commands:
124160

161+
=== ":fontawesome-brands-windows: Windows"
162+
125163
```shell
126164
# Update every Scoop app
127165
scoop update *

0 commit comments

Comments
 (0)