Skip to content

Commit

Permalink
Docs: update (#1336)
Browse files Browse the repository at this point in the history
  • Loading branch information
emmercm authored Sep 2, 2024
1 parent 8a2e046 commit aff53e4
Show file tree
Hide file tree
Showing 30 changed files with 119 additions and 110 deletions.
6 changes: 3 additions & 3 deletions docs/advanced/temp-dir.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ Igir will use your operating system's temporary directory for these files by def

## RAM disks

### :simple-windowsxp: Windows
### :fontawesome-brands-windows: Windows

There are no tools built-in to Windows that can create a RAM disk. The open source [ImDisk Toolkit](https://sourceforge.net/projects/imdisk-toolkit/) is a popular option.

### :simple-apple: macOS
### :fontawesome-brands-apple: macOS

The built-in `diskutil` and `hdiutil` tools can be used to create and mount a RAM disk. Alex T has some instructions in a [GitHub gist](https://gist.github.com/htr3n/344f06ba2bb20b1056d7d5570fe7f596).

### :simple-linux: Linux
### :fontawesome-brands-linux: Linux

`tmpfs` is a tool that comes with most Linux distributions that is used for creating RAM disks. Oracle has [a guide](https://docs.oracle.com/cd/E18752_01/html/817-5093/fscreate-99040.html) on the tool.
8 changes: 6 additions & 2 deletions docs/alternatives.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ There are a few different popular ROM managers that have similar features:
| Arcade: CHD disk inclusion | ✅ by default, can be turned off ([arcade docs](usage/arcade.md)) | ✅ by default, can be turned off |||
| Arcade: sample inclusion |||||
| Archives: extraction formats | ✅ many formats ([reading archives docs](input/reading-archives.md)) | ⚠️ `.zip`, `.7z` (natively) |`.zip`, `.7z` (via `7z`), `.rar` (via `rar`) | ⚠️ `.zip`, `.7z` |
| Archives: `.chd` support | ⚠️ via `chdman` (bundled) | ✅ v1-5 natively | ⚠️ via `chdman` | ⚠️ v1-4 natively |
| Archives: `.chd` support | ⚠️ via `chdman`<sup>1</sup> (bundled) | ✅ v1-5 natively | ⚠️ via `chdman`<sup>1</sup> | ⚠️ v1-4 natively |
| Archives: `.cso` & `.zso` support | ⚠️ via `maxcso` (bundled) ||||
| Archives: `.nkit.iso` support | ⚠️ matching but no extraction [GameCube docs](usage/console/gamecube.md#nkit) ||||
| Archives: `.nkit.iso` support | ⚠️ matching but no extraction/inflation ([GameCube docs](usage/console/gamecube.md#nkit)) ||||
| Archives: creation formats |`.zip` only by design ([writing archives docs](output/writing-archives.md)) | ⚠️ `.zip` (TorrentZip), `.7z` (RV7Z) |`.zip`, `.7z`, `.rar` | ⚠️ `.zip`, `.7z` |
| Archives: contents checksums | ✅ when needed ([reading archives docs](input/reading-archives.md)) | ⚠️ requires "files only" mode | ⚠️ if DAT has forcepacking=unzip ||
| Archives: automatic extension correction |||||
Expand All @@ -45,6 +45,10 @@ There are a few different popular ROM managers that have similar features:
| Output: subdirectory customization |[many options](output/path-options.md) | ⚠️ depends on DAT organization |||
| Output: create single archive for DAT |||||

<small>
<sup>1</sup> requires you to install SDL2 manually, see the [chdman-js README](https://github.com/emmercm/chdman-js#readme).
</small>

!!! note

Just like Igir, other ROM managers that are in active development are likely to release new features often. The above table is not guaranteed to be perfectly up-to-date, it is just a best effort.
Expand Down
4 changes: 2 additions & 2 deletions docs/dats/dir2dat.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ Igir uses the following rules when creating dir2dat DAT files:

If multiple input paths overlap, such as:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
igir dir2dat ^
--input "C:\ROMs" ^
--input "C:\ROMs\NES"
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
igir dir2dat \
Expand Down
4 changes: 2 additions & 2 deletions docs/dats/fixdats.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The `fixdat` command creates a [Logiqx XML](http://www.logiqx.com/DatFAQs/) DAT

For example:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
igir copy zip fixdat ^
Expand All @@ -20,7 +20,7 @@ For example:
--fixdat
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
igir copy zip fixdat \
Expand Down
4 changes: 2 additions & 2 deletions docs/dats/processing.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@ There have been a few DAT-like formats developed over the years. Igir supports t

Instead of exporting the ListXML to a file yourself, you can also specify a MAME executable for the DAT path and then Igir is smart enough to parse it:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

Windows is fairly easy, MAME is officially compiled for Windows and downloads can be found on many mirror sites.

```batch
igir [commands..] --dat "mame0258b_64bit.exe" --input <input>
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

MAME isn't officially compiled for macOS, you will have to use a third-party release such as [SDL MAME](https://sdlmame.lngn.net/).
Expand Down
6 changes: 5 additions & 1 deletion docs/input/reading-archives.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Igir supports most common archive formats:
| Extension | Contains file CRC32s | Igir can extract without a third-party binary | Igir can checksum without temporary files |
|------------------------------------------------------------------|----------------------|-----------------------------------------------|-------------------------------------------|
| `.7z` ||`7za` ||
| `.chd` | ❌ SHA1 |`chdman` ||
| `.chd` | ❌ SHA1 |`chdman`<sup>1</sup> ||
| `.cso`, `.zso`, `.dax` ||`maxcso` | ⚠️ CRC32 only |
| `.gz`, `.gzip` | ❌ CRC16 |`7za` ||
| `.nkit.iso` ([GameCube docs](../usage/console/gamecube.md#nkit)) || ❌ no extraction support ||
Expand All @@ -21,6 +21,10 @@ Igir supports most common archive formats:
| `.zip.001` ||`7za` ||
| `.zipx` ||`7za` ||

<small>
<sup>1</sup> requires you to install SDL2 manually, see the [chdman-js README](https://github.com/emmercm/chdman-js#readme).
</small>

**You should prefer archive formats that have CRC32 checksum information for each file.**

By default, Igir uses CRC32 information to [match ROMs](../roms/matching.md) to DAT entries. If an archive already contains CRC32 information for each file, then Igir doesn't need to extract each file and compute its CRC32. This can save a lot of time on large archives.
Expand Down
5 changes: 3 additions & 2 deletions docs/installation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Installation

Igir is supported on :simple-windowsxp: Windows, :simple-apple: macOS, :simple-linux: Linux, and every other operating system that [Node.js](https://nodejs.org) supports.
Igir is supported on :fontawesome-brands-windows: Windows, :fontawesome-brands-apple: macOS,:fontawesome-brands-linux: Linux, and every other operating system that [Node.js](https://nodejs.org) supports.

There are a few different installation options offered for Igir with varying levels of technical complexity. Every option will require some baseline understanding of command-line interfaces (CLIs).

Expand All @@ -27,7 +27,7 @@ npx igir@latest copy extract --dat *.dat --input ROMs/ --output ROMs-Sorted/ --d

You can alias the `npx` command in your macOS or Linux [dotfiles](https://missing.csail.mit.edu/2019/dotfiles/) like this:

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```bash
alias igir="npx igir@latest"
Expand Down Expand Up @@ -69,5 +69,6 @@ brew upgrade igir
## Via downloaded executable

[![GitHub: release](https://img.shields.io/github/v/release/emmercm/igir?color=%236e5494&logo=github&logoColor=white)](https://github.com/emmercm/igir/releases/latest)
![Node.js](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fregistry.npmjs.org%2Figir%2Flatest&query=volta.node&logo=node.js&logoColor=white&label=Node.js&color=66cc33)

If you don't want to download Node.js, you can download executables for various OSes from the [GitHub releases](https://github.com/emmercm/igir/releases) page.
8 changes: 4 additions & 4 deletions docs/output/cleaning.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ In other words, `games/{mister}` is _not_ equivalent to `games/*`. Igir will _no

If you want to clean _every_ directory in `games/`, you could specify it as both the `--input <path>` and `--output <path>`:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
igir move clean --dat "*.dat" --input "games\" --output "games\{mister}\"
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
igir move clean --dat "*.dat" --input "games/" --output "games/{mister}/"
Expand Down Expand Up @@ -61,13 +61,13 @@ The `--clean-dry-run` option exists to see what paths `igir clean` would delete,

Usage:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
igir [commands..] clean [options] --clean-dry-run -vv
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
igir [commands..] clean [options] --clean-dry-run -vv
Expand Down
28 changes: 14 additions & 14 deletions docs/output/path-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ ROMs-Input/

When combined with a [DAT](../dats/introduction.md), the ROMs will be written with a standardized name, but the output subdirectory structure will match the input:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
igir copy ^
Expand All @@ -40,7 +40,7 @@ When combined with a [DAT](../dats/introduction.md), the ROMs will be written wi
--dir-mirror
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
igir copy \
Expand Down Expand Up @@ -101,7 +101,7 @@ ROMs-Input/

The ROMs will be grouped by their DAT name in the output directory:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
igir copy ^
Expand All @@ -111,7 +111,7 @@ The ROMs will be grouped by their DAT name in the output directory:
--dir-dat-name
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
igir copy \
Expand Down Expand Up @@ -159,7 +159,7 @@ ROMs-Output/

Similar to `--dir-dat-name`, this option will append the matching [DAT](../dats/introduction.md)'s description to each file.

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
igir copy ^
Expand All @@ -169,7 +169,7 @@ Similar to `--dir-dat-name`, this option will append the matching [DAT](../dats/
--dir-dat-description
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
igir copy \
Expand Down Expand Up @@ -218,7 +218,7 @@ ROMs-Input/

The ROMs will be grouped together by their first letter in the output directory:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
igir copy ^
Expand All @@ -227,7 +227,7 @@ The ROMs will be grouped together by their first letter in the output directory:
--dir-letter
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
igir copy \
Expand Down Expand Up @@ -273,7 +273,7 @@ This option controls the number of leading letters to use for the `--dir-letter`

For example, if we increase the number of letters used for subdirectory names from the above example, then the output would be:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
igir copy ^
Expand All @@ -283,7 +283,7 @@ For example, if we increase the number of letters used for subdirectory names fr
--dir-letter-count 3
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
igir copy \
Expand Down Expand Up @@ -346,7 +346,7 @@ ROMs-Input/

If we limit the number of files per letter folder, then the output would be:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
igir copy ^
Expand All @@ -356,7 +356,7 @@ If we limit the number of files per letter folder, then the output would be:
--dir-letter-limit 5
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
igir copy \
Expand Down Expand Up @@ -418,7 +418,7 @@ ROMs-Input/

We can group the games into letter ranges, with a max of 10 games in each subdirectory like this:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
igir copy ^
Expand All @@ -429,7 +429,7 @@ We can group the games into letter ranges, with a max of 10 games in each subdir
--dir-letter-group
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
igir copy \
Expand Down
8 changes: 4 additions & 4 deletions docs/output/reporting.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ At least one DAT is required for the `igir report` command to work, otherwise Ig

The `igir report` command can be specified on its own without any [writing command](../commands.md) (i.e. `igir copy`, `igir move`, etc.) to report on an existing collection. This causes Igir to operate in a _read-only_ mode, no files will be copied, moved, or deleted. For example:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
> igir.exe report --dat *.dat --input ROMs\
Expand All @@ -24,7 +24,7 @@ The `igir report` command can be specified on its own without any [writing comma
igir_2023-03-29T18;26;00-04;00.csv
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
$ igir report --dat *.dat --input ROMs/
Expand Down Expand Up @@ -72,7 +72,7 @@ The report output filename supports a version of [Moment.js symbols](https://mom

Here are some example usages:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
> igir.exe report --dat *.dat --input ROMs\ --report-output ".\report.csv"
Expand All @@ -84,7 +84,7 @@ Here are some example usages:
REM /igir/1681515048.csv
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
$ igir report --dat *.dat --input ROMs/ --report-output "./report.csv"
Expand Down
4 changes: 2 additions & 2 deletions docs/output/tokens.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ See [output path tokens](./path-options.md) for other options that will further

For example, if you want to group all ROMs based on their region, you would specify:

=== ":simple-windowsxp: Windows"
=== ":fontawesome-brands-windows: Windows"

```batch
igir copy extract ^
Expand All @@ -15,7 +15,7 @@ For example, if you want to group all ROMs based on their region, you would spec
--output "ROMs-Sorted\{region}\"
```

=== ":simple-apple: macOS"
=== ":fontawesome-brands-apple: macOS"

```shell
igir copy extract \
Expand Down
Loading

0 comments on commit aff53e4

Please sign in to comment.