Skip to content

Android

Dimitris Panokostas edited this page Oct 6, 2026 · 1 revision

Amiberry for Android

Amiberry runs on Android phones, tablets, handhelds, Android TV boxes and Chromebooks. The Android version uses the same emulation core as the desktop builds. It adds a touch-friendly launcher app, touch controls and gamepad shortcuts. The full Amiberry GUI is still available when you need it.

Important

Availability: Closed Testing, Ko-fi members only

Amiberry for Android is in Closed Testing on Google Play right now. Only Ko-fi backers can get it. Members with an active Ko-fi membership receive a 100% discount code that gives them access to the test builds. The same code still works when the final version is released, so members get the full version at no extra cost.

Plans for the rollout:

  1. Closed Testing (now): Ko-fi members only.
  2. Open Testing: planned after the next Amiberry release.
  3. Public release on Google Play some time after that, as a paid app. The price counts as a donation to the project. Only people without a membership pay it.

The Google Play listing only works for accounts that have access to the current testing track.

Requirements

Android version Android 10 (API 29) or newer
CPU 64-bit ARM (arm64-v8a) or x86_64 (Chromebooks, PC-based devices, emulators). 32-bit ARM devices are not supported.
JIT Available. ARM64 is the main target.
Kickstart ROM Required. No ROMs or Amiga software come with the app. See Kickstart ROMs (BIOS).

The same app runs on Android TV (it shows up in the TV launcher) and on ChromeOS.

Getting started

  1. Install Amiberry from Google Play (see the availability note above).
  2. Start it. The first time you launch it, and after each update, Amiberry unpacks its data files behind the splash screen. This takes a moment.
  3. Import a Kickstart ROM: open Files → ROMs, tap + (Import), then choose Import files or Import folder.
  4. Go to Home, choose a Launch Mode (WHDLoad, Disk, CD or Recent), pick a model and your media, then tap Start.

If Amiberry can't recognize any Kickstart ROM, you can't start a Quick Start launch. Home lists the ROMs it found, how many it recognized, and which common models (A500, A600, A1200, CD32) still lack a ROM.

Storage and file access

App storage folder

Amiberry keeps all of its files in its app storage folder:

/storage/emulated/0/Android/data/com.blitterstudio.amiberry/files/

The Files screen shows this path at the top, with a Copy path button. You can copy files into these folders with a file manager or over USB instead of using the import buttons:

Folder Contents
ROMs Kickstart ROMs (.rom, .bin, .a500, .a1200, …)
Floppies Floppy images (.adf, .adz, .dms, .ipf, .zip, .gz)
HardDrives Hard drive images (.hdf, .hdi, .vhd)
CDROMs CD images (.iso, .cue, .chd, .nrg, .mds)
LHA WHDLoad game archives (.lha, .lzx, .lzh)
RP9 RP9 packages
Configurations .uae configuration files
SaveStates, Screenshots, InputRecordings, NVRAM, Videos Created while you use the emulator
Visuals/Shaders, Visuals/Themes, Visuals/Bezels Custom shaders, GUI themes and bezels
Controllers Controller mapping files
WHDBoot WHDLoad booter support files. Kickstarts in WHDBoot/save-data/Kickstarts are also detected.

Each file list also scans the storage root, so files you drop straight into files/ still show up.

Android doesn't use portable mode, and amiberry.conf is kept in a separate app-private settings folder. See Amiberry Directories.

All Files Access

Amiberry doesn't ask for storage permission on startup. On Android 11 and newer, a Limited file access banner appears on Home and Files until you grant All Files Access:

  • Without it, Amiberry works only with its own app storage folder. The import buttons still work, because they use the Android file picker and copy the chosen files into the app folder.
  • With it, configurations and the full Amiberry GUI can use ROM and disk image files anywhere on your device storage.

Tap Grant Access to open the Android permission screen.

Importing files

  • Import files copies one or more picked files into the folder for the current category.
  • Import folder scans a folder, including its subfolders, and imports every supported file. Afterwards you see how many files were imported and how many were unsupported or failed. Files with the same name are renamed instead of overwritten.
  • Open with / Share: you can open supported files with Amiberry from a file manager or another app.
    • .uae files are imported into Configurations and loaded.
    • .rp9 packages are imported and launched.
    • Floppy images start on an A500, CD images on a CD32, and .lha archives through the WHDLoad booter.
    • ROMs and hard drive images are only imported.

Backup

Android's backup and device-transfer feature saves only your Configurations and Controllers folders and the launcher preferences. ROMs, disk images and other media are not backed up, so keep your own copies.

The launcher

The launcher has four main screens: Home, Settings, Files and Configs. On phones they're in a bottom bar, and on large screens in a side rail. About opens from the info button on Home.

Home (Quick Start)

  • Launch Mode selects what to start:
    • Disk: model, plus floppy images for DF0 and DF1.
    • CD: a CD image (CD32/CDTV).
    • WHDLoad: an .lha game, configured automatically by the WHDLoad booter.
    • Recent: your most recent launches. Tap one to start it again.
  • Amiga Model lists only the models you have a recognized Kickstart ROM for: A500, A500+, A600, A1000, A2000, A1200, A3000, A4000, CD32 and CDTV.
  • Current Settings sums up the model, CPU, chipset, memory, media and controls this launch will use.
  • Start launches the emulator.

For WHDLoad games, a per-game .uae file wins over the WHDLoad database. Your Android control settings (on-screen controls, keyboard toggle button) are kept unless that per-game file sets them.

Settings

The Settings screen edits a configuration and has seven tabs:

Tab Options
CPU Model Preset, CPU Model (68000–68060), Fastest Possible, More Compatible, 24-bit Addressing, FPU, JIT Cache
Chipset OCS / ECS Agnus / ECS Denise / Full ECS / AGA, Immediate Blitter, Cycle-Exact, NTSC, Collision Level
Memory Chip RAM, Slow RAM (Trapdoor), Fast RAM (Zorro II), Z3 Fast RAM (Zorro III, needs 32-bit addressing)
Display Resolution, Correct Aspect Ratio, Auto-Crop, Integer Scaling, Native Shader, plus the launcher's App Theme and Material You colors
Sound Sound Output, Sample Rate, Stereo Mode
Input Port 0 / Port 1 devices, On-Screen Joystick, On-Screen Keyboard Button, Include Numeric Keypad, On-Screen Keyboard Toggle Button, Left Analog Stick as Mouse
Storage Kickstart ROM, floppy drives DF0–DF3 (with drive type), CD image, hard drive images (read-only and boot priority)
  • Presets applies a group of settings in one tap: Compatibility, Balanced, Performance, Pixel Perfect or Touch Controls.
  • Combinations that can't work are fixed for you, and a Settings adjusted note lists what changed. For example, AGA needs a 68020 or newer CPU, JIT needs a 68020 or newer CPU and 32-bit addressing, and Cycle-Exact turns off JIT.
  • Native Shader offers the built-in shaders (none, tv, pc, lite, 1084) plus any .glslp or .glsl files in Visuals/Shaders. It applies to native Amiga screens only, not to RTG screens.
  • Save with the Save icon or with Save As…. Review Changes shows what you changed before you save.
  • The ⋮ menu has Advanced, which opens the full Amiberry GUI (see below).

Files

Files has one tab per category: ROMs, WHDLoad, Floppies, Hard Drives and CDs. Each tab lists the matching files, has + to import more, and lets you delete files. A search box appears once a list has more than a few entries.

Configs (Saved Configurations)

Configs lists the .uae files in Configurations, newest first. You can search and filter the list with All, Described and Recent. Each configuration has these actions:

  • Launch: start it with your current Android control settings.
  • Edit Config: open it in Settings.
  • Edit in Advanced mode (ImGui): open it in the full Amiberry GUI.
  • Share, Duplicate and Delete.

About

About shows the version, links to the source code, this wiki, Discord and the privacy policy, and a Support Info block. Copy support info copies the app version, Android version, CPU ABI, device model, whether All Files Access is granted, and the storage path. Paste this into bug reports.

The full Amiberry GUI (Advanced mode)

The Android launcher covers the common settings. Everything else lives in the same full Amiberry GUI the desktop builds use. You can open it three ways:

  • Settings → ⋮ → Advanced
  • Configs → a configuration → Edit in Advanced mode (ImGui)
  • During emulation, using the shortcuts described in Opening the GUI during emulation

The Amiberry GUI pages in this wiki apply to it, with these Android differences:

  • Amiberry always runs fullscreen, so the windowed-mode options don't apply.
  • Portable mode and the built-in updater aren't available. Updates come through Google Play.
  • The GUI is sized at about 70% of the automatic DPI scale by default. Change it with GUI scale (50–200%) in Global Settings.
  • When you tap a text field, the Android on-screen keyboard opens.

To return to the launcher, choose Quit in the GUI. The emulator closes and the launcher appears again.

Controls during emulation

Touch controls

With a touchscreen, the default setup puts the mouse on port 0 and the On-Screen Joystick on port 1:

  • On-screen joystick (bottom left): an arcade-style stick. Drag the knob to move it.
  • Fire buttons (bottom right): two buttons for fire 1 and fire 2. Multi-touch works, so you can move and fire at the same time.
  • Keyboard button: the green KB button next to the fire buttons shows or hides the on-screen keyboard. Hide it with On-Screen Keyboard Button on the Input tab.

Touches outside the on-screen controls work like a laptop trackpad. The Amiga pointer moves relative to your finger, not to the spot you touch:

Gesture Action
Drag one finger Move the mouse pointer
Tap Left click
Tap, then touch again quickly and drag (or hold) Hold the left button and drag
Two-finger tap Right click
Hold two fingers still, then drag Hold the right button and drag
Swipe two fingers down Open the Amiberry GUI

The on-screen controls need a touchscreen. On devices without one, Amiberry turns them off automatically.

Opening the GUI during emulation

  • The Android Back button or gesture. If the on-screen keyboard is open, Back closes it first.
  • A two-finger swipe down on the screen.
  • Start or Guide on a game controller. If you choose Start as the on-screen keyboard toggle button, Start toggles the keyboard instead and Guide still opens the GUI.
  • F12 on a physical keyboard. To use another key, change Open GUI in Miscellaneous.

On-screen keyboard

The on-screen keyboard is a full Amiga keyboard. Include Numeric Keypad adds the keypad and makes the keys smaller so everything fits.

  • Open it with the KB touch button or the controller toggle button. By default the toggle is Left stick (L3). Change it with On-Screen Keyboard Toggle Button on the Input tab. Choose None to give that button back to the game.
  • With a controller, the D-pad or left stick moves between keys, South (A / Cross) presses the selected key, and East (B / Circle) closes the keyboard.
  • Back always closes the keyboard.

Game controllers

Bluetooth and USB controllers are supported. Assign them to a port as Joystick 0 or Joystick 1 on the Input tab. For detailed mapping, see Setting up Input Controllers and the Input Mapping Guide.

Left Analog Stick as Mouse lets one controller handle both mouse and joystick:

  • The left stick moves the Amiga mouse pointer.
  • L1 and R1 are the left and right mouse buttons.
  • The D-pad and face buttons stay on the port 1 joystick.

This option only appears when a controller is on port 1 and the mouse is on port 0.

Physical mouse and keyboard

  • USB and Bluetooth mice work.
    • Android sends absolute mouse positions, so the pointer stops when the host cursor reaches the screen edge. Move the mouse back to continue.
  • Physical keyboards pass key positions straight through, so set the matching keymap in AmigaOS for non-US layouts (for example, German QWERTZ).
  • On Chromebooks and other desktop-style devices:
    • Amiberry opens as a landscape, tablet-sized window.
    • A light tap on the touchpad doesn't send a stray Enter key to the Amiga.

Performance

  • On ARM64 devices, JIT gives the biggest speed boost for 68020+ configurations. It doesn't work with cycle-exact or 24-bit addressing.
  • On big.LITTLE devices, Amiberry keeps the emulation on the fast CPU cores. It uses ADPF on Android 12+ and core pinning otherwise. See Troubleshooting and the use_adpf option in amiberry.conf options.
  • If performance is poor, start with the Compatibility or Balanced preset, use a simpler shader, and avoid high RTG resolutions.
  • Sending Amiberry to the background pauses emulation and sound. Both resume when you return to it.

Differences from the desktop builds

These features are not available on Android:

Feature Notes
CD32 Full Motion Video (MPEG) cartridge MPEG decoder not included on Android
MP3 decoding MP3 audio tracks in CUE images and the ZZ9000 MP3/MHI decoders are unavailable
Genlock video and camera input USE_VIDEOGRAB and FFmpeg are off
uaenet (pcap/TAP) networking Not supported. The built-in SLIRP stack and bsdsocket.library are still included.
MIDI No host MIDI backend
PowerPC accelerator boards / QEMU-UAE PPC plugin Not supported
D-Bus, IPC socket, GPIO LEDs Desktop/Linux only
Portable mode, built-in updater, windowed mode Not applicable

When the display reports only its native resolution, Amiberry adds extra RTG (Picasso96) screen modes up to 2560×1440. These modes have an ANDROID suffix in the mode list.

Troubleshooting

  • "Emulator stopped unexpectedly": the launcher shows this when the emulator crashed during the last session. Tap Copy Diagnostics and include the copied text in your bug report, together with About → Copy support info.
  • "Setup failed" at startup means the data files couldn't be unpacked, usually because the device is low on storage. Free some space and tap Retry.
  • A model is missing from Quick Start: Amiberry didn't recognize the Kickstart ROM for it. Check the ROM summary on Home, and see Kickstart ROMs (BIOS).
  • Logs: connect the device with USB debugging enabled and run adb logcat | grep -iE 'amiberry|SDL'. For JIT and CPU-performance logs, see Troubleshooting.
  • Report bugs on GitHub Issues or on Discord.

Building from source

See Compile from Source → Android.

Clone this wiki locally