MAME working, imperfect, and unsupported status labels explained
A working system can run far enough to be classified usable while still carrying specific imperfect or unemulated feature flags. Read the machine warning and the exact build’s `-listxml` data; check sound, graphics, controls, protection, timing, and save-state support separately before deciding whether the result fits your needs.
Do this in order
- 01
Record the exact MAME/core version and system short name.
- 02
Read the full warning shown before the machine starts; do not reduce it to a single colored badge.
- 03
Export or inspect `-listxml shortname` and note driver, feature, and save-state fields.
- 04
Test the feature named in the warning with your authorized content and default settings.
- 05
Separate emulation accuracy from device speed by checking whether the build sustains its target emulation speed.
- 06
Keep the limitation in your compatibility note and re-test when either the driver or frontend changes.
Decision and diagnostic table
| Label or flag | What it tells you | What it does not promise |
|---|---|---|
| Working / good overall | The system is classified as runnable in this release | Perfect behavior, complete features, or fast Android performance |
| Imperfect sound/graphics/timing | A known subsystem differs from documented hardware | That every game path fails or that a setting can repair it |
| Unemulated feature/protection | Part of the hardware behavior is absent or substituted | A stable result in every mode or later level |
| Save state unsupported | The driver does not enable MAME state serialization | Loss of NVRAM or in-game save support |
Working is an overall classification, not a warranty
MAME documents hardware incrementally. A machine may boot and play while sound filters, sprite priority, protection behavior, or timing remain imperfect. The specific flag matters more than a generic compatibility percentage.
Frontends sometimes flatten several upstream fields into one icon. Return to the exact core’s warning or XML data before reporting a bug.
Driver quality and ROM quality are separate
A machine can have an imperfect driver while your ROM audit is good. Conversely, a highly accurate driver cannot compensate for a missing or incorrectly dumped required file.
Preserve both records: the audit result for the content and the driver/feature status for the emulator release.
Unsupported save states do not erase every kind of progress
The save-state field refers to MAME’s serialized machine-state feature. It is distinct from NVRAM, EEPROM, memory cards, or a game’s own non-volatile storage behavior.
If state support is absent, use documented machine-native persistence when available and back up the configured NVRAM data instead of forcing incompatible state files.
Compatibility labels say nothing about copyright permission. Use authorized game and firmware data even when a driver is marked working.