[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/purelogiccode/VideoGameFileSystemParser/master/docs/Home.md [Back]  [Original]

# VideoGameFileSystemParser  Wiki

> **A cross-platform .NET library for parsing video game console disc image file systems.**
>
> Supports **CHD**, **ISO**, and **raw sector** images across **35 console formats**  PlayStation, Xbox, Dreamcast, CD-i, 3DO, Pippin (HFS/HFS+), PC Engine CD, PC-FX, and more  through a single high-level API.

| | |
|---|---|
| **NuGet** | `VideoGameFileSystemParser`  [nuget.org/packages/VideoGameFileSystemParser](https://www.nuget.org/packages/VideoGameFileSystemParser) |
| **Version** | 1.3.0 |
| **Targets** | .NET 8.0  .NET 9.0  .NET 10.0 |
| **License** | MIT |
| **Source** | [github.com/drpetersonfernandes/VideoGameFileSystemParser](https://github.com/drpetersonfernandes/VideoGameFileSystemParser) |
| **Dependency** | [CHDSharp](https://www.nuget.org/packages/CHDSharp) 1.4.3 |

---

## What is it?

`VideoGameFileSystemParser` opens console disc images (primarily **CHD**, with ISO and raw-sector support) and exposes the disc's file system as a browsable, readable virtual tree  no matter whether the disc uses ISO 9660, UDF, XDVDFS, Opera FS, CD-i Green Book, HFS/HFS+, or a non-standard layout.

It also ships **virtual export** modes that present a CHD as a CUE sheet with BIN/ISO/WAV files, so emulators and tools can consume the image without converting it to disk first.

## Feature highlights

- **One API for every format**  `ChdContainer` + `ConsoleType` covers all supported systems.
- **CHD V1V5** via CHDSharp, plus ISO/raw image support through the sector reader.
- **8 virtual export modes**  CUE/BIN, CUE/ISO, CUE/BIN/WAV, CUE/ISO/WAV, each in 2352-byte and 2048-byte variants.
- **Raw passthrough**  expose an entire disc as a single `image.iso` file.
- **Auto-detection**  `ConsoleType.PlayStation` and signature-based track selection (Dreamcast IP.BIN).
- **`ConsoleTypeRegistry`**  display names and CLI aliases, the single source of truth for host applications.
- **Non-standard system handling**  PC Engine CD and PC-FX boot-signature scanning, tolerant ISO 9660, raw `TRACKnn.iso` fallbacks.
- **CD-ROM XA** interleaved data support (PlayStation).
- **Async disposal** (`IAsyncDisposable`).

## Documentation map

| Page | Contents |
|---|---|
| [Getting Started](Getting-Started.md) | Installation, first project, quick start |
| [Usage Guide](Usage-Guide.md) | Deep dive: opening, mounting, reading, errors, raw mode |
| [Supported Consoles](Supported-Consoles.md) | Full console reference, parser chains, system observations |
| [Virtual CUE/BIN/ISO/WAV Exports](Virtual-Exports.md) | Export modes, generated files, sector-size rules |
| [API Reference](API-Reference.md) | Complete public API with signatures |
| [Architecture](Architecture.md) | Internal design: readers, parsers, pipelines |
| [Migration Guide](Migration-Guide.md) | Upgrading between versions, breaking changes |
| [FAQ](FAQ.md) | Frequently asked questions |
| [Contributing](Contributing.md) | Build, test, and contribution guidelines |

## See it in action  CHDMounter

This library is **battle-tested in production** by [**CHDMounter**](https://github.com/drpetersonfernandes/CHDMounter)  a Windows application that mounts CHD disc images as virtual drives, powered by this parsing engine.

- **Unit tests:** the library's test suite lives in the CHDMounter repository ([`CHDMounter.Core.Tests`](https://github.com/drpetersonfernandes/CHDMounter/tree/master/CHDMounter.Core.Tests))  parser tests, per-console integration tests, `ConsoleTypeRegistry` tests, and more.
- **Try it yourself:** build CHDMounter, mount any CHD, and browse the parsed file system as a real drive  no code required.

## Release history

- **v1.3.0**  CHDSharp 1.4.3 dependency update (latest decoder fixes, performance work and cancellation-aware I/O; no public API changes).
- **v1.2.0**  Sector-size-aware generic formats; `ConsoleTypeRegistry`; CUE export fixes; code modernization; professional multi-page documentation. **Breaking.**
- **v1.1.0**  Virtual CUE/BIN/ISO/WAV export fixes (pregap shift, missing ISO audio, truncated tracks).
- **v1.0.0**  Initial release, 31 console formats.

Full details: [WhatsNew.md](../WhatsNew.md) (repo root).

## Quick example

```csharp
using VideoGameFileSystemParser.Models;
using VideoGameFileSystemParser.Parsers;

using var container = new ChdContainer(@"C:\ROMs\game.chd");

if (container.MountAndParse(ConsoleType.Ps2))
{
    Console.WriteLine($"Volume: {container.VolumeName} ({container.VolumeSize:N0} bytes)");

    foreach (var entry in container.Entries)
    {
        Console.WriteLine($"  {(entry.IsDirectory ? "[DIR] " : "[FILE]")} {entry.FullPath} ({entry.Size:N0} bytes)");
    }
}
```

---

*Documentation wiki for the VideoGameFileSystemParser library. Maintained as part of the repository  see [Contributing](Contributing.md).*

Web Proxy Viewer  |  New URL  |  Original Page