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
- 01
Record the Android port, its upstream MAME revision, the target short name, and the lawful source of the files under review.
- 02
Use the matching desktop or port-provided MAME binary to run `<shortname> -listxml` and redirect the output to a new XML receipt.
- 03
Confirm the XML build identifier and inspect the target machine for `cloneof`, `romof`, BIOS sets, device references, ROM records, and disk records.
- 04
Run `-listclones <shortname>` and `-listroms <shortname>` to create human-readable cross-checks without editing any archive.
- 05
Copy only authorized, named dependencies through the Android port's documented storage flow, preserving archive names and CHD folder layout.
- 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
| Evidence | What it answers | What it cannot prove |
|---|---|---|
| `cloneof` / `romof` | Parent relationship in this build | That another MAME version agrees |
| Device or BIOS reference | Shared machine data expected | Permission to download a BIOS pack |
| ROM or disk hash | Expected technical identity | Ownership or redistribution rights |
| Successful `-verifyroms` | Named set is complete for this build | Android 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.
Machine metadata and hashes do not grant rights to ROM, BIOS, device, CHD, artwork, audio, or keys. Obtain every required object from your own lawful dump or an explicitly authorized first-party source; never use the dependency names as a download shopping list.