Verify a MAME CHD with chdman before copying it to Android
Run `chdman info -i file.chd` and then `chdman verify -i file.chd` with chdman from the same MAME release family as the target emulator. If the file is a delta CHD, supply its lawful parent with `-ip`. Keep the reported SHA-1 and verification log with the source record, and do not use `--fix` on your only copy.
Do this in order
- 01
Record the authorized source, filename, acquisition or dump date, target MAME version, game short name, and whether the CHD is standalone or a delta.
- 02
Copy the source CHD to a working location and keep the original read-only; use chdman from the matching MAME release family.
- 03
Run `chdman info -i file.chd` and save its format version, compression, logical size, hunk size, and SHA-1 output.
- 04
Run `chdman verify -i file.chd`; for a delta CHD, add `-ip parent.chd` and preserve the parent identity in the record.
- 05
Run the target MAME machine audit separately so file integrity, expected disk identity, short-name folder layout, and rompath are all proven.
- 06
Copy the verified CHD into the documented short-name folder on Android, relaunch once, and retain the log, hash, source record, and untouched original.
Decision and diagnostic table
| Evidence | What it proves | Next action |
|---|---|---|
| `chdman info` returns metadata | The tool can parse the CHD header | Record SHA-1 and format details; still run verify |
| `chdman verify` passes | Readable hunks match the CHD's integrity data | Compare against the target machine definition |
| Parent required or unavailable | The file is a delta or its parent link cannot be resolved | Supply the exact lawful parent with `-ip` |
| MAME still reports disk missing | Identity, folder, short name, or search path differs | Inspect the target audit and Android layout |
Integrity and compatibility are separate proofs
chdman can prove that a CHD is internally readable and report its data and metadata digests. The target MAME build still decides which disk SHA-1 and parent relationship a machine definition expects.
A passing `verify` result therefore does not replace the machine audit. Keep both results so a storage-path failure is not mistaken for corruption and a version mismatch is not mistaken for a bad copy.
Delta CHDs need their exact parent
MAME supports delta CHDs that contain only data differing from a parent disk. chdman's verify command accepts an input parent, and MAME cannot reconstruct the shared data when that parent is absent or wrong.
Record the parent filename and digest rather than treating it as an interchangeable support file. A parent link is a technical dependency, not permission to obtain the disk elsewhere.
Repair only a disposable working copy
The `--fix` option can modify the input CHD, and writable CHDs cannot be verified by the normal read-only integrity operation. Start with a preserved source copy and diagnose the exact failure before considering any mutation.
Do not recompress a CHD into ZIP or 7z for Android. Keep the verified CHD in the target build's expected folder and test the copied file rather than assuming a successful transfer.
A SHA-1 or successful chdman verification identifies data; it does not grant rights to possess or distribute a disk image. Verify only your own lawful dump or a rightsholder-authorized file, and never use a missing digest as a search key for an unauthorized download.