Releases: purelogiccode/CHDMounter
Release list
release_1.2.0
⚠️ Breaking Change: Numeric Console Indexes Removed
Command-line console selection is now alias-only (/s:<alias>). Numeric indexes (/s:8) and bare numeric shorthand (CHDMounter.exe 17 game.chd) are no longer supported.
Before → After
CHDMounter.exe /s:9 game.chd M: → CHDMounter.exe /s:ps2 game.chd M:
CHDMounter.exe 17 game.chd → CHDMounter.exe game.chd xbox360
CHDMounter.exe /l /s:4 game.chd → CHDMounter.exe /l /s:segadreamcast game.chd
If you have scripts using numeric indexes, update them to the new aliases (full list in the README's Console Type Reference, e.g. ps1, ps2, ps3, psp, xbox360, neogeocd, cuebin2352, cueisowav2352).
🚀 New Features
- 37 console/format modes (up from 31) — the full console table plus dedicated 2352/2048-byte variants for every generic export format:
- ISO RAW (2048/2352)
- CUE/ISO (2048/2352)
- CUE/ISO/WAV (2048/2352)
- CUE/BIN (2048/2352)
- CUE/BIN/WAV (2048/2352)
- Alias-only console registry — console types now resolve exclusively through
ConsoleTypeRegistry(single source of truth, case-insensitive, whitespace-trimmed), vendored from the VideoGameFileSystemParser library. - VideoGameFileSystemParser v1.1.0 vendored — the parser library is now built as a project in this solution instead of a NuGet reference, bringing in its export fixes (pregap shift, missing ISO audio in CUE/ISO export, truncated tracks, WAV exports skipping stored pregap silence).
🐛 Bug Fixes
- Fixed wildcard enumeration on mounted virtual drives — Windows passes NT 8.3 DOS wildcard patterns (e.g.
<.cuefor*.cue); the old regex matcher silently returned no matches, sodir Z:\*.cueshowed an empty folder. Replaced with a faithful port of Dokan'sDokanIsNameInExpressionsupporting DOS wildcards (<,>,") plus plain*/?. - Fixed directory enumeration resume (WinFsp) — resuming an enumeration with
./..markers previously ended the listing early. - Corrupt settings file no longer spams bug reports — an unreadable
settings.datwas reported as a bug on every launch; it is now logged below the bug-report threshold and the corrupt file is deleted so the app recovers to defaults. - Test suite no longer pollutes the bug-report API — unit tests were sending real bug reports to the production endpoint; sending is now disabled in tests.
- Mount reliability (Dokan & WinFsp):
- An explicitly requested drive letter that is unavailable now falls back to an auto-assigned letter instead of failing.
- WinFsp folder-mount collisions (
STATUS_OBJECT_NAME_COLLISION, 0xC0000035 — e.g. a leftover mount folder) now retry with suffixed fallback folders (e.g.Game (2)).
🔧 Maintenance
- Updated Meziantou.Analyzer to 3.0.141
- New unit tests for
FileNameMatcherDOS wildcard semantics (31 cases), console registry, corrupt-settings cleanup, and disabled bug reporting
Install
- Dokan build: requires the Dokan driver
- WinFsp build: requires WinFsp
- Windows 10+ (x64 or ARM64), .NET 10 Desktop Runtime (self-contained builds ship their own)
Full Changelog: release_1.1.0...release_1.2.0
release_1.1.0
New: isoraw console type
Raw ISO passthrough for games that emulators expect as a single unparsed image:
- PS3 (RPCS3) and Xbox (xemu) — the whole CHD is exposed as one
image.isofile, no filesystem parsing - CLI alias:
isoraw(e.g.CHDMounter.exe game.chd isoraw) - Numeric indexes:
/s:11(PS3 ISO Raw) and/s:18(Generic ISO Raw)
More reliable mounting
- When no mount point is given, the app now tries the next free drive letter (M–Q, then Z–D) if the first candidate is unavailable
- Per-session and elevated-session drives are invisible to
DriveInfo.GetDrives(), so a "free" letter can still be busy — the retry loop handles this instead of failing the mount - Failed mount attempts now clean up all resources (container, file system, host) correctly
Fixes
- WinFsp variant:
ChdFs.Disposeis now guarded against double-dispose on unmount - WinFsp variant: a busy/invalid mount point now triggers a retry with the next drive letter instead of failing immediately
Dependency updates
| Package | Version |
|---|---|
| Meziantou.Analyzer | 3.0.139 |
| QuestPDF (Tester) | 2026.7.2 |
| winfsp.net | 2.1.25156 (stability pin) |
Tests
635 unit tests passing, including new coverage for drive-letter selection.
release_1.0.0
Initial release to the public.
Requirements
- Windows 10 or later (x64 or ARM64)
- .NET 10.0 Desktop Runtime (or self-contained build ships its own)
- Dokan Use latest version — install Dokany
or - WinFsp Use latest version — download WinFsp
Only one driver is needed. The Dokan executable uses Dokan; the WinFsp executable uses WinFsp. Both ship side-by-side.
Full Changelog: https://github.com/drpetersonfernandes/CHDMounter/commits/release_1.0.0