Set up MAME's off-screen reload helper on Android
Enable MAME's included Off-Screen Reload Helper plugin, restart, then add a helper for the current machine with an unused reload combination, a non-wrapping lightgun axis, and a non-toggle trigger input. It works only for games that reload when an axis reaches its minimum while the trigger is pulled; a game with timed or multi-step reload logic needs an Input Macro instead.
Do this in order
- 01
Verify that the authorized game already receives correct on-screen lightgun movement and trigger input; the helper does not calibrate hardware.
- 02
Enable plugins and the Off-Screen Reload Helper, completely exit MAME, and restart the target machine.
- 03
Open Plugin Options → Off-Screen Reload Helper and choose Add reload helper.
- 04
Bind an unused reload combination, select the player's non-wrapping lightgun axis, and select the non-toggle trigger input.
- 05
Create the helper and test one reload away from normal gameplay inputs; undo the binding immediately if it also triggers coin, start, exit, or menu actions.
- 06
If the game requires a delay, two axes, or a timed sequence, delete the unsuitable helper and build a narrowly scoped Input Macro from the official plugin instructions.
Decision and diagnostic table
| Game/input behavior | Use | Reason |
|---|---|---|
| Axis minimum plus trigger reloads | Off-Screen Reload Helper | Matches the plugin's simple condition |
| Timed or multi-step sequence | Input Macro | Needs ordered durations or multiple values |
| Pointer is inaccurate on screen | Neither yet | Calibrate and map the base lightgun first |
| Helper disappears after restart | Plugin data diagnosis | Check enablement and writable `homepath` |
The helper synthesizes a condition, not calibration
It drives a selected axis to the required edge and activates the trigger when your combination is pressed. It cannot correct Android pointer scaling, rotation, viewport alignment, or an absent trigger assignment.
Complex reload logic needs a macro
MAME explicitly distinguishes simple axis-minimum reloads from games that require a delay or longer sequence. Choosing Input Macro for those cases is a behavior boundary, not a workaround for missing content.
Configuration is stored per machine
Helpers are saved as JSON in the `offscreenreload` folder under plugin data, using the machine short name. Preserve that small configuration with its port, MAME revision, and controller receipt.
Use the helper with games and controller profiles you are entitled to use. Do not bundle or share unauthorized ROM, BIOS, CHD, artwork, audio, or commercial controller software with the configuration.