Android MAME update diagnostic / 2026-08-06

Fix MAME 'machine configuration changed' after an Android port update

Decide whether a saved state, NVRAM, CFG file, or driver definition crossed an incompatible version boundary.

9 minute update repairMAME 0.289 concepts as exposed by an Android port; save, autosave, CFG, and NVRAM locations are port-specific

Fix MAME 'machine configuration changed' after an Android port update

When a port update reports that machine configuration changed, reproduce with the exact new MAME revision and one lawful set, then test without auto-loading an old save state. Keep NVRAM and CFG backups separate. If a clean boot works, the state is incompatible; restore controls through the current UI and retain NVRAM only if the driver accepts it.

Do this in order

  1. 01

    Record old and new port versions, upstream MAME revisions, machine short name, lawful set checksum, and the full warning.

  2. 02

    Back up CFG, NVRAM, and save-state artifacts separately without distributing game data.

  3. 03

    Disable auto-load or start once without the old state while leaving the verified game set unchanged.

  4. 04

    If clean boot works, treat the old state as version-bound; reapply controls in the current UI rather than copying an entire old CFG blindly.

  5. 05

    Add NVRAM alone only if the current driver accepts it, then test cold boot, service settings, input, save, and relaunch.

  6. 06

    Document which artifact failed and keep the rollback copy with the old emulator revision.

Decision and diagnostic table

Clean testDiagnosisAction
Boots without stateState incompatibilityCreate a new state
Boots without CFGConfiguration schema changedRebind in current UI
Fails only with NVRAMPersistent machine data changedKeep old NVRAM with old build
Still fails cleanSet, dependency, or driver issueRun current audit and verbose log

Saved artifacts have different owners

A state captures emulator internals, CFG stores host assignments, and NVRAM represents persistent machine data. They do not share one compatibility promise.

A clean boot is the control experiment

Removing auto-load from one test reveals whether the new driver can run before old state is introduced.

Keep rollback pairs

Retain old local artifacts with the exact old executable revision so recovery does not rely on memory.

First-party sources

Related guides