A graphical interface for managing CHD files (Compressed Hunks of Data) using chdman from the MAME tools suite. Designed for retro gaming enthusiasts, archivists, and developers working with disc-based systems.
Version Note
This was last tested withmame0276so not all features from future versions are implemented.
-
CHD Creation
Convert raw images to CHD format for:- Hard Drives (
createhd) - CDs (
createcd) - DVDs (
createdvd) - LaserDiscs (
createld) - Raw sectors (
createraw)
- Hard Drives (
-
CHD Extraction
Convert CHD files back to:- BIN/CUE, ISO, IMG, and raw formats
-
Verification & Metadata
- Validate CHD integrity (
verify) - Add/remove metadata tags (
addmeta/delmeta) - Dump metadata to XML (
dumpmeta)
- Validate CHD integrity (
-
Bulk Processing
Batch convert entire directories of files with progress tracking -
Template Support
Predefined HD templates for common retro systems (CPS3, PS1, etc.) -
Cross-Platform
Works on Windows, macOS, and Linux -
Automatic Tool Installation
Platform-specific download prompts when chdman is missing
- Python 3.8+
- MAME Tools (for
chdmanin your PATH)
# Clone repo
https://codeberg.org/Melon-Bread/ChdWarrden
# Enter repo
cd ChdWarrden
# Install briefcase (can also use pipx here)
pip install briefcase
# Launch the program
briefcase runYou can also find what binary builds I am able to build in the releases.
-
Select Command
Choose an operation from the dropdown (e.g.,createhd,extractcd) -
Configure Parameters
- Input/output paths
- Set additonal command parameters as needed
- Special flags (delete source, verbose mode)
Compatibility Note
I tried to properly map all thechdmancommands/options to this front end, but since I do not use them all some may not work properly. Please submit an issue/merge request as needed. -
Run Operation
- Single file processing
- Bulk directory conversion (enable checkbox)
- Real-time output in console
-
Monitor Progress
Progress bar updates during bulk operations
It;s recomended that you checkout the MAME project's documentation on chdman for more info on each command.
- Fork the repository
- Create feature branch
- Submit merge request
- Ensure code complies with GPLv3 license
This project is licensed under the GNU General Public License v3.0 - see LICENSE for details.
- MAME Development Team for
chdman - PySide6 for the Qt framework bindings
- Beeware for easy Python packaging