Fix a missing MAME device ROM on Android without guessing a BIOS
Capture the exact missing filename and device short name from the target build, then inspect that build's `-listroms`, `-listxml`, and targeted audit output. A device set supplies data for a reusable emulated component and is not automatically the game's parent or selectable BIOS. Restore only the named lawful device data that matches the target revision and rerun the audit.
Do this in order
- 01
Record the Android frontend, embedded MAME or core revision, selected game short name, and the first missing filename exactly as reported.
- 02
Run the matching build's targeted `-verifyroms` audit or save the port's complete audit, including every place it searched.
- 03
Generate `-listroms` for the game and use `-listxml` when you need the referenced device short name and wider machine relationship.
- 04
Classify the missing object as game, parent, BIOS, device, or disk data; do not replace a device error by changing the BIOS region.
- 05
Return to your own dump or an authorized version-matched source, restore only the named dependency, and keep its provenance and checksum.
- 06
Rerun the same audit before changing rompath, video, audio, or controller settings, then test one cold Android relaunch.
Decision and diagnostic table
| Dependency | Role | Diagnostic clue |
|---|---|---|
| Game or clone ROM | Data belonging to the selected machine revision | Listed under the selected short name |
| Parent set | Shared data for related machine variants | Clone relationship appears in target metadata |
| BIOS set | Shared platform startup or firmware data | Machine definition names a BIOS system or option |
| Device set | ROM data for a reusable emulated component | Target metadata references a separate device short name |
A device set is its own dependency class
MAME models reusable components such as I/O or sound hardware as devices. When a component carries ROM data shared by otherwise unrelated machines, MAME can store it as a device set rather than forcing a parent/clone relationship.
That is why a complete-looking game and parent pair can still fail. The audit is describing modeled hardware, not asking for a generic BIOS pack.
Search order explains the failure
MAME's asset search can use the system short name, parent system, device short name, and parent device while locating required data. Preserve the report of where the target build looked.
On Android, a correct archive outside the granted rompath still appears missing. Prove the dependency identity first, then prove the frontend can reach the directory that contains it.
Version drift can create a new device requirement
As MAME documents hardware more accurately, a later release may add or correct data for an emulated device. An older collection can therefore lose compatibility even when the game archive itself was not renamed.
Do not fill that gap from an unknown pack. Compare the previous and target manifests, preserve the last known-good setup, and update from a lawful source tied to the chosen revision.
Device ROMs and BIOS data can be copyrighted even when many games depend on them. Technical reuse does not create redistribution permission; use your own lawful dump or an explicitly authorized source.