Skip to content
Peterson Fernandes edited this page Sep 7, 2026 · 5 revisions

BatchConvertToCHD β€” Wiki

Welcome to the official wiki for Batch Convert to CHD, a high-performance Windows desktop utility for converting disk images into the Compressed Hunks of Data (CHD) format.

This documentation covers the project from both a user and a developer perspective: features, workflows, architecture, services, utilities, embedded libraries, testing, and troubleshooting.

πŸ“š Documentation Index

# Page Audience Contents
1 Project Overview Everyone What the app does, key features, supported formats, content-based routing, technical logic
2 Getting Started Users & devs Requirements, installation, building from source, command line usage
3 Architecture Developers Solution layout, projects, dependency graph, startup sequence, data flow
4 User Guide Users The three workflows: conversion, extraction, verification; options and hotkeys
5 Conversion Pipeline (Technical) Developers Content resolution, per-format routing, chdman wrapper, cue normalization, ISZ/ECM/Alcohol/split sets, error handling
6 Extraction & Verification (Technical) Developers CHD extraction internals, verification, file moves, partial-extraction handling
7 Services Reference Developers ArchiveService, UpdateService, StatsService, FileWatcherService, AppHttpClient, more
8 Utilities Reference Developers PathUtils, CueNormalizer, CueWorkDirectory, GameFileParser, BinCueGenerator, content detection, ISZ/ECM/Alcohol, more
9 Bug Reporting System Developers Bug report API contract, sink, exclusion patterns, environment details
10 Embedded Libraries Developers CCDSharp, CSOSharp, PBPSharp, Alcohol120Sharp, UltraIsoSharp: purpose, API, integration
11 Testing Developers Test project layout, coverage by file, integration tests, how to run
12 Application Data Users & devs AppData layout: logs, screenshots, temp directories, cleanup
13 Troubleshooting Users & devs Common errors, their meaning, and how to resolve them
14 What's New Everyone The changelog for each release

πŸ”‘ Quick Facts

Fact Value
Application name BatchConvertToCHD
Latest version 3.6.0
Target framework .NET 10.0 (net10.0-windows), WPF
Platform Windows 10 / 11, x64 and ARM64
License GPL v3.0
Primary encoder chdman (MAME Project, 0.289), bundled as chdman.exe / chdman_arm64.exe
Fallback encoder CHDSharp (PureLogicCode), bundled as CHDSharp.exe / CHDSharp_arm64.exe β€” chdman byte-identical output
External tools needed None beyond the bundled CHDSharp, chdman and 7za β€” every input format is handled in-process
Output format .chd (Compressed Hunks of Data)
Logs %LocalAppData%\BatchConvertToCHD\logs
Screenshots %LocalAppData%\BatchConvertToCHD\screenshots (F8 hotkey)
Bug reporting Automatic, opt-out by design β€” sent to the PureLogicCode BugReport API

πŸ—ΊοΈ Repository Layout

CSharp_BatchConvertToCHD/
β”œβ”€β”€ Alcohol120Sharp/                # Alcohol 120% (.mds/.mdf) parsing library
β”œβ”€β”€ BatchConvertToCHD/              # WPF application (net10.0-windows)
β”‚   β”œβ”€β”€ MainWindow.xaml(.cs)        # Main UI + conversion/extraction/verification logic
β”‚   β”œβ”€β”€ App.xaml(.cs)               # Startup, Serilog, exception handlers
β”‚   β”œβ”€β”€ AppConfig.cs                # Central configuration constants
β”‚   β”œβ”€β”€ Models/                     # FileItem, GitHubRelease, PbpExtractionResult
β”‚   β”œβ”€β”€ Services/                   # Archive, BugReport, FileWatcher, Stats, Update, ...
β”‚   └── Utilities/                  # PathUtils, CueNormalizer, GameFileParser, ...
β”‚       └── Ecm/                    # in-process ECM decoding
β”œβ”€β”€ BatchConvertToCHD.Tests/        # xUnit test suite (820 tests)
β”œβ”€β”€ CCDSharp/                       # CloneCD (.ccd/.img/.sub) parsing library
β”œβ”€β”€ CSOSharp/                       # CSO/CISO decompression library (deflate + LZ4)
β”œβ”€β”€ PBPSharp/                       # PlayStation PBP extraction + SFO parsing library
β”œβ”€β”€ UltraIsoSharp/                  # UltraISO ISZ decompression library
β”œβ”€β”€ docs/                           # This wiki
β”œβ”€β”€ References/                     # Third-party reference sources (not part of the build)
└── CSharp_BatchConvertToCHD.sln    # Solution

πŸš€ Where to Start


← Back to the repository

Clone this wiki locally