| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
# Clone
git clone https://github.com/purelogiccode/CHDStudio.git
cd CHDStudio
# Build the whole solution
dotnet build CSharp_CHDStudio.sln -c Release
# Run the tests
dotnet test CSharp_CHDStudio.sln -c Release
# Or just the application
dotnet build CHDStudio/CHDStudio.csproj -c ReleaseThe solution contains seven projects:
| Project | Kind | Target framework |
|---|---|---|
| CHDStudio | Avalonia application (WinExe) | net10.0;net10.0-windows |
| CHDStudio.Tests | xUnit test suite | net10.0-windows |
| MDSSharp | class library (Alcohol 120% .mds/.mdf parsing) | net8.0;net9.0;net10.0 |
| CCDSharp | class library (CloneCD parsing) | net8.0;net9.0;net10.0 |
| CSOSharp | class library (CSO decompression) | net8.0;net9.0;net10.0 |
| PBPSharp | class library (PBP/SFO parsing) | net8.0;net9.0;net10.0 |
| ISZSharp | class library (ISZ decompression) | net8.0;net9.0;net10.0 |
Note: on Windows, chdman.exe and 7za.exe are copied to the output directory by the build (CHDStudio.csproj); on Linux and macOS the matching tools/7zz* binary (official 7-Zip 26.03) is copied as 7zz, while a chdman on PATH is only used for extraction fallback and never for encoding. The libraries are referenced as project references, not NuGet packages, except CHDSharp (NuGet 1.4.3) and other packages listed below.
| Package | Version | Purpose |
|---|---|---|
| CHDSharp | 1.4.3 | Pure C# CHD reading, verification, extraction, and creation (chdman byte-identical output) |
| Avalonia (+ Desktop, Fluent theme, DataGrid) | 12.1.x | Cross-platform Fluent Design UI framework and controls |
| SharpCompress | 0.50.x | Archive extraction (7z/rar), and bzip2 decompression for ISZ chunks |
| NAudio | 3.1.0 | MP3 decoding via Media Foundation |
| Serilog | 4.4.0 | Structured logging |
| Serilog.Sinks.File | 7.0.0 | Rolling file logs |
| Serilog.Sinks.Debug | 3.0.0 | Debugger sink |
| SharpZipLib | 1.4.2 | Reference-compatible inflater for PBP PSAR blocks (via PBPSharp) |
| Meziantou.Analyzer | 3.0.x | Roslyn analyzers (build-time only) |
| Roslynator.Analyzers | 5.0.0 | Roslyn analyzers (build-time only) |
The application accepts an optional folder path argument to pre-populate the Convert to CHD source folder:
CHDStudio.exe "C:\ROMs\MyGames"The path is applied in MainWindow_LoadedAsync via SetInputFolder (MainWindow.axaml.cs:148–153).
Only one instance can run: a global mutex Global\CHDStudio_SingleInstance is acquired at startup; a second launch shows "Another instance of CHDStudio is already running." and exits (App.axaml.cs:80–105).
Files appear in the list pre-selected; uncheck any you want to skip. The log pane shows live chdman output; the status bar and stat cards show progress, speed, and elapsed time.
See the User Guide for all options and the other two workflows (extraction and verification).
Start here
Using the app
How it works
Reference
| Back | FazBrowse Home | New Git URL |