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 withmame0276
so 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
chdman
in 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 run
You 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 thechdman
commands/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