The Amiga was a family of personal computers released by Commodore in the 1980's and 1990's.

Emulator Rom Folder Extension BIOS Controller Config
UAE4ALL2 amiga .adf kick13.rom, kick20.rom, kick31.rom Hardcoded
UAE4ARM amiga .zip .adf .dms .exe .adz .rp9 kick13.rom, kick20.rom, kick31.rom Hardcoded

Emulators: UAE4ALL2, UAE4ARM

UAE4ALL2 is no longer developed and we recommend using UAE4ARM on the Raspberry Pi.


Accepted File Extensions: .adf

UAE4Arm also supports: .dms .exe .rp9 and compressed formats .zip .adz

Place your Amiga disks images in



The emulator comes with a free AROS rom that will work for running many games and demos.

If you want to use a kickstart 1.3, 2.0, 3.1 rom place your kick13.rom, kick20.rom, kick31.rom files in



These are hardcoded currently. This initial mapping was chosen as it's somewhat similar to MAME, and should mostly work on any controllers that use that input mapping (such as the picade). Joypad/Joystick is currently untested.

in game:

lctrl      - joy 1/mouse 1 (button X in gui)
lalt       - joy 2/mouse 2 (button Y in gui)
lshift     - joy 1 autofire (button A in gui)
z          - mouse 1  (button B in gui)

5          - switch input between mouse/joystick

arrow keys - up / down / left / right

F12 (UAE4ARM) and/or [CTRL]+[ESC] (UAE4ALL) - Open emulator menu

Launch it from Emulation Station, and you get the GUI where you can configure disks/roms/memory and insert adf images into the virtual floppy disk drives.

Video Tutorial

Testing joypad in RetroPie

Tips and troubleshooting

  • Some games work better with the '512Kb Chip' + '512Kb Slow' memory configuration rather than the default A500 '1MB Chip'. If your game crashes or fails to load, change the memory settings in the 'CPU RAM' tab of the UAE4ALL2 GUI.

  • Some games do not work properly if more than one floppy drive is in use. If your game crashes or fails to load try to use just DF0 (change disc image during game if required) and not use DF1, DF2 and DF3.

  • For Raspberry Pi 1 users - make sure you overclock your device. Amiga emulation works much faster when overclocked to maximum. Without overclocking some games do not run at full speed.

Launching games directly from EmulationStation

Script for creating configuration files

Here you will find a script, and the necessary configuration files according to different version of UAE4arm, for creating game configuration file:

On EmulationStation, AMIGA, open "+Start UAE4Arm" and save a profile with random name then open the file and check the number in the parameter "config_version". Download the correct configuration file from previous link then rename it in "config.uae" and copy it, together with "" (also download this from previous link), on Raspberry Pi. uses the "config.uae" file in order to create games configuration and (if you want) you can edit it. For default behavior emulator is searching for kickstart 2.04 in


renamed in "kick20.rom", so you have to rename your kickstart or edit "config.uae".

Also follow these steps:

sudo nano /etc/emulationstation/es_systems.cfg

and edit the tag for "amiga" emulator in this way:

<extension>.sh .uae .SH .UAE</extension>

Then sudo nano /opt/retropie/configs/amiga/emulators.cfg

and edit the line in this way:

uae4arm = "pushd /opt/retropie/emulators/uae4arm/; ./uae4arm -f %ROM%"

Point attention to the floppy image extension (case-insensitive): .adf, .adz, .dms, .ipf, .zip

For game with multiple disks rename them in this way:

Game bla bla bla (Disk 1 of N).adf
Game bla bla bla (Disk 2 of N).adf
Game bla bla bla (Disk N of N).adf

in other words change ONLY the floppy identifier.

Note: The old script from Mark Dunning has a problem with games with more than 9 floppies (creates others wrong config files) and creates a config file with name like "Game bla bla bla (Disk 1 of N).uae". This new app create only 1 file for a multiple disk game with the exact name of the game, "Game bla bla bla.uae"

Other solution

Alternatively, a native BASH script to perform the same steps directly on the RetroPie machine can be found here: