MAME CHD parent diagnostics / 2026-07-31

Verify a parent-dependent MAME CHD before moving it to Android

Tell a self-contained CHD from a delta that needs a parent, verify the correct pair, and preserve MAME's folder boundary.

9 minute CHD verification guideDesktop chdman from MAME 0.289 plus an Android MAME target with a documented upstream revision

Verify a parent-dependent MAME CHD before moving it to Android

Run the matching MAME 0.289 `chdman info` on the child CHD and check whether it records a parent SHA-1. If it does, supply the exact parent with `--inputparent` when running `chdman verify`; then keep the game's required CHD files unzipped in the short-name folder expected by the target build. A valid child cannot substitute for a missing or wrong parent.

Do this in order

  1. 01

    Record the Android port, upstream MAME revision, game short name, lawful media source, and hashes of the untouched CHD files.

  2. 02

    Use the matching `chdman info -i child.chd` and record the CHD format, data SHA-1, metadata SHA-1, and any parent SHA-1.

  3. 03

    If a parent SHA-1 is present, identify that exact lawful parent by hash; do not choose a file merely because its title or filename looks related.

  4. 04

    Make the inputs read-only and run `chdman verify -i child.chd -ip parent.chd` for a parented child, or omit `-ip` for a self-contained CHD.

  5. 05

    Place verified CHDs unzipped in the target build's documented short-name directory and preserve any ROM parent, BIOS, and device dependencies separately.

  6. 06

    Run the target build's game audit and one launch test, recording file-not-found, wrong-parent, black-screen, audio, and input results as separate outcomes.

Decision and diagnostic table

ObservationMeaningNext safe action
No parent SHA-1CHD is technically self-containedVerify without `-ip`
Parent SHA-1 presentChild depends on exact parent dataMatch the parent by hash
Parent hash mismatchWrong generation or wrong parentStop; recheck the source receipt
chdman passes; MAME failsIntegrity passed, layout or set contract did notRead the target audit and search paths

Parented CHDs are data relationships, not folder guesses

A parented CHD stores differences relative to another CHD. Its parent SHA-1 identifies the required base; a similar filename, region label, or game family is not enough.

Do not flatten a parent and child into a renamed single file. Preserve both verified objects and the relationship reported by the tool that matches the target build.

Integrity and MAME compatibility are separate gates

`chdman verify` checks the CHD data structure and hashes. MAME's audit checks whether the selected machine definition expects that disk, path, ROM set, parent, BIOS, and device combination.

Passing either gate alone is incomplete. Keep the chdman result beside the target MAME audit so a later upgrade can be compared without modifying the originals.

Android ports may expose only the consumer side

Most Android frontends do not include the full chdman utility. Verify on a controlled system with the version-matched tool, then transfer through the port's supported picker or folder workflow.

A black screen after a clean audit is a runtime symptom, not proof of a bad CHD. Record video, audio, input, and emulation-speed behavior independently before changing files.

First-party sources

Related guides