Fix a missing MAME Cheat menu on Android without mixing cheat paths and plugins
First prove that the Android port exposes MAME's cheat option. Enable the built-in cheat engine, then check the configured `cheatpath` and the exact XML identity for the running short name. The main Cheat menu appears only when the engine is enabled; a Lua cheat plugin, if the build provides one, is configured through Plugin Options and is a separate layer. Do not install an anonymous cheat pack to diagnose a missing menu.
Do this in order
- 01
Record the Android port, upstream MAME revision, machine short name, effective cheat option, cheat path, plugin path, and the exact menu item that is missing.
- 02
Confirm the wrapper exposes the built-in cheat engine or an equivalent documented toggle; enable it and fully restart the emulation session.
- 03
Open MAME's main menu during emulation: look for Cheat there, not only under Plugin Options.
- 04
If the menu exists but entries do not, inspect the effective `cheatpath`, file name, software-list subfolder when applicable, and read access without changing the ROM archive.
- 05
If using the Lua cheat plugin, separately confirm plugins, pluginspath, individual plugin enablement, and its Plugin Options entry; do not use plugin state as proof of the built-in engine.
- 06
Test one known, rights-safe XML definition, preserve its source and hash, and remove it after diagnosis if its permission does not allow continued use or redistribution.
Decision and diagnostic table
| Observation | Likely layer | Next check |
|---|---|---|
| No Cheat item in main menu | Built-in engine off or omitted | Effective cheat option and port capability |
| Cheat menu is empty | Path, identity, or XML content | cheatpath and target short name |
| No Plugin Options cheat entry | Lua plugin layer | plugins, pluginspath, and individual enablement |
| Entry loads for another set only | Version or machine identity | Exact build and short name |
Two menus can represent different engines
MAME's main menu documents a Cheat item for the built-in cheat engine. The menus page separately notes that the cheat plugin is reached through Plugin Options. Treating those as the same switch produces a loop where each healthy layer is used to diagnose the other.
Path search follows machine identity
MAME's path-handling documentation shows several valid XML and archive layouts and adds software-list names where needed. A visible folder is not enough; the target build, short name, path, archive layout, and XML must agree.
Cheat data has a provenance boundary
A cheat file can contain third-party authorship and may change game state in ways that make save states incompatible with sessions where cheats are off. Preserve its license and source, and never redistribute a pack merely because MAME can read it.
Cheat support does not authorize copyrighted game data or third-party cheat collections. Use only game content and cheat definitions you may lawfully use, retain attribution and license terms, and never upload ROMs, BIOS files, saves, or unreviewed cheat packs to ArcadeShelf.