Android MAME input tutorial / 2026-08-02

Record and replay a MAME input file on Android

Use MAME's INP workflow as a versioned diagnostic trace without mistaking it for video or a portable save.

9 minute tutorialOfficial MAME 0.289 concepts; Android ports must explicitly expose record/playback or command-line arguments

Record and replay a MAME input file on Android

Record from a clean launch with the target build's record control, then replay with that same MAME revision, machine definition, ROM data, configuration, and NVRAM. An INP stores timed inputs, not video or full machine state, so any changed dependency can make playback diverge.

Do this in order

  1. 01

    Record the Android port, exact MAME revision, machine short name, ROM audit, CFG and NVRAM state.

  2. 02

    Close the machine normally, then start it with the port's documented equivalent of `-record session.inp`.

  3. 03

    Perform one short, repeatable input sequence and exit normally so the recording is finalized.

  4. 04

    Preserve the INP beside a manifest of the build, short name, hashes, CFG and NVRAM used.

  5. 05

    Restore the same baseline and launch with the documented equivalent of `-playback session.inp`.

  6. 06

    Watch for desynchronization, then change only one suspected dependency before recording a fresh trace.

Decision and diagnostic table

ArtifactContainsPortability boundary
INPTimed input streamBuild, driver, CFG and NVRAM sensitive
STAMachine snapshotDriver and version sensitive
Video captureRendered audio/videoDoes not reproduce emulation
CFG/NVRAMControls and persistent machine dataCan alter deterministic playback

INP is a reproducibility tool

Playback re-runs emulation while supplying recorded controls. It is useful for isolating an input regression, but it does not freeze every external condition.

Android support is a port fact

Upstream MAME documents `-record` and `-playback`; an Android wrapper may omit, rename, or hide them. Do not assume a desktop path or shell interface exists.

Keep the baseline with the trace

A useful report names the build, machine, audit result, input file, CFG and NVRAM state. Calling a replay successful requires observation; this guide does not claim that ArcadeShelf tested a particular port.

First-party sources

Related guides