MAME dependency and romset diagnostics / 2026-07-31

Map a MAME parent, clone, BIOS, and device chain with -listxml before Android import

Generate a version-matched dependency receipt instead of guessing which archives an Android MAME build needs.

10 minute dependency guideOfficial MAME 0.289 command line; Android ports only when their exact upstream revision is known

Map a MAME parent, clone, BIOS, and device chain with -listxml before Android import

Run the exact target MAME build with `<shortname> -listxml`, save the XML, and read the machine's `cloneof`, `romof`, BIOS, device, ROM, and disk records before copying anything to Android. Use `-listclones`, `-listroms`, and `-verifyroms` as narrower cross-checks. A dependency map explains what the build expects; it neither supplies files nor proves permission to use them.

Do this in order

  1. 01

    Record the Android port, its upstream MAME revision, the target short name, and the lawful source of the files under review.

  2. 02

    Use the matching desktop or port-provided MAME binary to run `<shortname> -listxml` and redirect the output to a new XML receipt.

  3. 03

    Confirm the XML build identifier and inspect the target machine for `cloneof`, `romof`, BIOS sets, device references, ROM records, and disk records.

  4. 04

    Run `-listclones <shortname>` and `-listroms <shortname>` to create human-readable cross-checks without editing any archive.

  5. 05

    Copy only authorized, named dependencies through the Android port's documented storage flow, preserving archive names and CHD folder layout.

  6. 06

    Run the target build's `-verifyroms` or equivalent audit and keep the XML, audit result, version, and file hashes together.

Decision and diagnostic table

EvidenceWhat it answersWhat it cannot prove
`cloneof` / `romof`Parent relationship in this buildThat another MAME version agrees
Device or BIOS referenceShared machine data expectedPermission to download a BIOS pack
ROM or disk hashExpected technical identityOwnership or redistribution rights
Successful `-verifyroms`Named set is complete for this buildAndroid controls, speed, or storage access

The XML is a build-specific dependency graph

MAME's `-listxml` output describes systems and devices known to the binary that produced it. The build identifier belongs in the receipt because a newer release may rename a set, change a parent, add a device, or improve a hash.

Use the targeted short name rather than exporting the entire catalog for a one-game repair. The smaller artifact is easier to review and less likely to hide the actual dependency edge.

Readable verbs confirm different parts of the graph

`-listclones` answers which related sets are clones, while `-listroms` lists the ROM and disk expectations for a pattern. Neither command checks the files on disk; `-verifyroms` performs that separate completeness test.

Do not treat a frontend's display title as a short name. Ask the same emulation build for its identifier so the report and the audit refer to one definition set.

Android is the delivery boundary, not the source of truth

Many Android wrappers do not expose a terminal or XML export. Generate the receipt with an exact matching upstream build, or stop and use only the port's documented diagnostics when its revision cannot be established.

After transfer, verify again inside the target build. A correct desktop map cannot prove that an Android wrapper can read the selected URI, archive format, or CHD directory.

First-party sources

Related guides