Fix MAME verifyroms reporting no romsets found on Android
Treat “no romsets found” as a discovery failure, not proof that every ROM is bad. Confirm the Android port's upstream MAME revision, ask that exact build for the machine short name, and run the narrowest available `-verifyroms <shortname>` audit against the effective rompath. A default all-set audit only considers recognizable ZIP files or directories in that path. If the port exposes no audit command, use its documented per-game audit and do not infer desktop command support.
Do this in order
- 01
Record the Android port, its stated upstream MAME revision, the intended game, the file source and rights receipt, and the configured rompath shown by the port.
- 02
Use the target build's system list or `-listfull` equivalent to confirm the exact machine short name; a title, marketing label, or archive name from another MAME generation is not enough.
- 03
Place only the authorized test set in one known readable rompath and preserve its archive filename and internal files; do not unpack or rename an arcade set as a repair guess.
- 04
Run the narrowest supported audit for that short name. When upstream commands are available, use `-verifyroms <shortname>` rather than an unfiltered scan.
- 05
If the result still finds zero sets, prove the effective rompath and Android directory grant, then compare the archive name with the short name before inspecting parent, BIOS, device, or CHD dependencies.
- 06
Change data only when the target build names a missing or invalid item and you have a lawful source; preserve the command, version, path boundary, and result as the diagnostic receipt.
Decision and diagnostic table
| Observation | What it establishes | Next action |
|---|---|---|
| Short name is absent | The target build has no matching driver identity | Choose the correct build or supported machine |
| Short name exists; zero sets found | Discovery path or archive identity failed | Check effective rompath, grant, and filename |
| Set is found; files are named missing | The audit reached dependency validation | Follow only the named parent, BIOS, device, or disk branch |
| Set audits good but launch fails | ROM discovery and integrity passed | Move to renderer, configuration, input, or machine-status diagnosis |
Zero found is earlier than a bad-ROM result
MAME documents that an unfiltered `-verifyroms` audit considers drivers with valid ZIP files or directories in rompath. If the build does not recognize a candidate as a set, it cannot yet report the set's component-level failures.
Use the named audit to remove ambiguity. The machine short name comes from the installed build, while the effective path comes from the port's actual configuration and Android grant.
Filename and component hashes have different jobs
Arcade emulation uses a set name to select a machine definition, then uses the build's component definitions to validate the contents. Renaming an unrelated archive can satisfy neither the expected hashes nor missing dependencies.
Stop when the audit crosses into another layer
Once MAME finds the set, its output may identify parent, BIOS, device-ROM, disk, or component problems. Once the set is good, a launch failure belongs to a different diagnostic branch. Keeping those transitions visible prevents collection-wide replacement guesses.
Use only ROM images and disks you dumped lawfully or received with permission covering your use. An audit identifies data; it does not grant rights. Do not download replacement ROM, BIOS, device, or CHD packs from unauthorized mirrors or attach game data to a support report.