Konubinix' opinionated web of thoughts

How to Play Secret of Mana With 3 Controllers on Android

Fleeting

Secret of Mana is a 3-player game. On real SNES that third pad only works through the Super Multitap. Lemuroid caps at 2 pads because it never wires up the multitap — so it’s the wrong tool here. Use RetroArch, which exposes the multitap in the core options.

Why not Lemuroid

Lemuroid is a simplified frontend over the same libretro cores RetroArch uses, but it doesn’t surface the per-core multitap setting — hence the 2-controller ceiling. RetroArch is more menu-heavy but it’s the reliable bet for 3+ pads.

Download + install RetroArch

RetroArch publishes signed APKs on the libretro buildbot. Bump VERSION to the current stable (browse https://buildbot.libretro.com/stable/ ) and pick the arch the device runs — aarch64 for modern 64-bit phones, ra32 for old 32-bit ones. Cores aren’t bundled; grab them in-app via the Online Updater after first launch.

VERSION=1.22.2     # latest stable as of 2025-11-17; see listing above
ARCH=aarch64       # or ra32 for 32-bit devices
APK=/tmp/RetroArch_${ARCH}.apk
curl -fL -o "$APK" \
  "https://buildbot.libretro.com/stable/${VERSION}/android/RetroArch_${ARCH}.apk"
clk android -d piano adb package install "$APK" --flow
timeout

Setup in RetroArch (Android)

  1. Install RetroArch, load a SNES core — Snes9x - Current or bsnes/higan; both emulate the multitap correctly.
  2. Pair all 3 Bluetooth pads first. In Settings → Input → Port 1/2/3 Controls, confirm each physical pad maps to a distinct port. RetroArch auto-assigns in pairing order, so pair them in the order you want.
  3. Load Secret of Mana, then in the in-game Quick Menu → Controls (or Core Options) set Port 2 device to SNES Multitap. Ports 3+ then become active.
  4. Save a per-game override so it sticks: Quick Menu → Overrides → Save Game Overrides.

Gotcha: multitap goes on port 2

Secret of Mana puts players 2 and 3 on the multitap, so the multitap must be on port 2, not port 1. If players 2/3 don’t register, that’s almost always the mistake.

Controller gotchas

  • The analog stick does nothing. SNES has no stick — pushing it moves nobody. Use the D-pad, or remap: Settings → Input (FR: Touches) → Port N Controls → Analog to Digital = Left Analog.
  • Pad → port assignment is the Device Index field under each Port N Controls, not the multitap setting. Two ports on the same index (or a port left on None) is why a player won’t move.
  • Hotkeys/​controls respond to player 1’s pad by default — save/load from it.

Hide the touch overlay (and keep a way into the menu)

With physical pads the on-screen overlay is just clutter: Settings → On-Screen Display → On-Screen Overlay → Display Overlay = off (or Hide Overlay When Controller Connected = on to keep it for tablet-only play).

Catch: the overlay also held the menu button — kill it and you lose your way back into RetroArch. Bind a gamepad combo first: Settings → Input → Hotkeys → Menu Toggle (gamepad combo) = L3 + R3.

Combo hotkeys (e.g. L2 + R2 = save state)

RetroArch binds one button per hotkey — there’s no “two-button” field. You build a combo with the Hotkey Enable modifier: set it to a held button, and every other hotkey then requires holding it.

So for L2 + R2 = quick save: Hotkey Enable = L2, Save State = R2 (Load State = L1 → L2 + L1 = quick load). SNES uses neither L2 nor R2, so no in-game conflict.

Two snags: the Hotkeys submenu is hidden until Settings → User Interface → Show Advanced Settings = on; and Settings → User Interface itself only lives in the global Settings, not the in-game Quick Menu.

Action hotkeys (save/load) fire from one specific pad only — there’s no per-pad save/load, so pick which pad is port 1 (the adult’s) and drive saves from it. The menu-toggle and close-game hotkeys are the exception: those can be configured generically, i.e. from any pad.1 Separately, Settings → Input → All Users Control Menu = on lets any pad navigate the menu once it’s open.2

Simpler alternative

Snes9x EX+ (Robert Broglia) also supports the multitap with a simpler UI. RetroArch is still the more reliable choice for 3+ pads.

Migrate Lemuroid saves to RetroArch

Good news: the battery saves (SRAM) migrate cleanly. Lemuroid writes them as <rom>.srm and deliberately names them to be RetroArch-compatible — the source even says so (SavesManager.getSaveRAMFileName). So migration is just copying .srm files between the two apps’ save directories.

Save states (states/) are a different story: they’re tied to the exact core and core version that produced them, so a Lemuroid state won’t reliably load in RetroArch. Migrate the SRAM, then re-make any states in RetroArch.

Paths:

  • Lemuroid SRAM — /sdcard/Android/data/<pkg>/files/saves/, where <pkg> is com.swordfish.lemuroid (Play/F-Droid) or com.swordfish.lemuroid.debug (the source-built APK from how to contribute to lemuroid).
  • RetroArch SRAM — whatever Settings → Directory → Save Files points at; default on Android is /storage/emulated/0/RetroArch/saves/. Turn off Settings → Saving → Sort Saves Into Folders By Core Name or the .srm ends up one level deeper than RetroArch looks.

The .srm basename must match the ROM filename RetroArch loads (sans extension). If you renamed ROMs between the apps, rename the .srm to match.

LEMUROID_PKG=com.swordfish.lemuroid             # .debug for the source build
LEMU_SAVES=/sdcard/Android/data/${LEMUROID_PKG}/files/saves
RA_SAVES=/storage/emulated/0/RetroArch/saves    # = Settings → Directory → Save Files

mkdir -p /tmp/lemuroid-saves
clk android -d piano adb pull "$LEMU_SAVES" /tmp/lemuroid-saves
clk android -d piano adb shell mkdir -p "$RA_SAVES"
clk android -d piano adb push /tmp/lemuroid-saves/saves/. "$RA_SAVES/"
clk android -d piano adb shell ls -la "$RA_SAVES"

Caveat: Android/data/… is locked down by scoped storage on Android 11+, so the adb pull needs a device where adb can read it — i.e. root (adb root), or an older Android. If pull is denied, copy the saves/ folder out via the device’s file manager first.


  1. RetroBat forum — “How to use Hotkeys / Retroarch Menu with all controllers?”: “Only the commands for closing the game and for opening the menu can be generically configured. All other hotkeys can only be configured for a specific controller.” ↩︎

  2. Same thread: “At least I can enter the Retroarch menu with all controllers now.” ↩︎