I have a fully working build for Commodore Amiga now on my NVIDEA Shield (2017 model). It took me a good while to get it up and running.
I thought it might be useful to post an 'all in one place' tutorial. Thanks go to Honosuseri over in this post for convincing me it was possible.
Commodore Amiga is infamously painful to configure on any and all emulation setups. Retroarch takes the pain out of some of this, since we don't need individual .uae files for every single game now. But there are still some hoops to jump through.
Onto the tutorial
1. Find/setup your own Hyperspin
Hyperspin is free and available on this very website. Install the app on your NVIDEA Shield, and compile your roms and Hyperspin setup on an appropriately sized external harddrive/USB.
As for the ROMs, videos, wheel images and all the aesthetic stuff you need to get your setup running, you will have to source that yourselves. The Hyperspin website is good for some material, emumovies for videos, and Google and Archive dot org for everything in between.
For this setup I used a properly named romset for Commodore Amiga in .zip format, but you can also use .lha or .hdf format. .lha is smaller in size, but all of these run pretty much the same on Retroarch now.
There is no need for those pesky .uae files anymore!!!!!!!!!!
Once you have all your roms, you will need to allocate them to the right videos and images and build your .xml database. The info for how to do this is available elsewhere on this very website. I used HyperspinChecker to do this.
Now, onto the part where we make Hyperspin and Retroarch play nicely so you can finally play your Commodore Amiga games
2. WHDLoad and kickrom setup (bios file preparation)
I obviously can't link to kickroms or WHDload.hdf and some other stuff, but Google is your friend.
You can get kickroms legally as part of the Amiga Forever app on Google Play Store for only £1.79.
You ABSOLUTELY NEED to get hold of these EXACT kickroms:
Some info on kickrom file names and how to match them up correctly can be found here.
MAKE SURE THE FILENAMES ARE PRECISE! I left one of those As in lowercase and Retroarch didn't like it.
You also need a properly prepared WHDLoad.hdf file: ADD THESE EXACT KICKROMS TO YOUR WHDload.hdf file (guide to do this here using ADF Opus)
Copy all these file to the external drive you are keeping your Hyperspin setup on (I made a 'bios' folder in mine for safe keeping).
3. Retroarch Setup
Install the latest Retroarch on your NVIDEA Shield (probably works on other Android setups too). You can do this through the Google Play store, but as of writing this, version 1.8.9_GIT definitely works.
You will need to make sure you have setup a way to load the Retroarch main menu from within games. Go to 'Settings', 'Input', 'Hotkeys' and set the 'Menu Toggle Gamepad Combo' to something like 'Select + Start'.
Download the latest Commodore - Amiga (P-UAE) core from within Retroarch (use 'Online Updater' menu)
Now 'Load Core' and choose the P-UAE Core. Start the core, then immediately go back to the Retroarch menu (Start + Select). From the 'Quickmenu' select 'Options'. Change the 'Model' here to something with plenty of power like the 'A1200 (2MB + 8MB)'. Scroll down to 'Global Boot HD' and 'WHDLoad Support' and make sure both of these are marked as 'Files'.
One other thing from within Retroarch: having a way to 'Quit' from within games is useful for Hyperspin. So go to 'Settings', 'Hotkeys' choose a button for 'Quit Retroarch' (I use the click of my Left Analogue, but anything will do). You may also need to mess around with button mappings, but most of this should work fine if you have a NVIDEA Shield compatible gamepad. Mouse and keyboard are also, obviously, nice additions for Amiga stuff.
Go back to 'Quick Menu', 'Overrides' and select 'Save Core Overrides' to make sure your Retroarch Amiga setup is saved.
Lastly, and very importantly...
Leave Retroarch. You will need an Android directory viewing program like 'FX File Explorer' for this step. Copy the EXACT kickroms listed above and the WHDload.hdf file you created into the /Retroarch/System/ folder on the INTERNAL drive of the NVIDEA Shield.
4. Commodore Amiga.ini Commands
In your Hyperspin setup you should now have all your roms, videos, images, menu setup, and a Commodore Amiga.xml database file all neat and tidy.
You now need to get Hyperspin to talk to Retroarch properly.
Back on your PC, load your Hyperspin folder and go to the /Settings_Android/ folder.
Create or open the Commodore Amiga.ini in a text editor. Most of the stuff in here will be the same as other systems, but you can find my ini file attached here.
Make sure the top lines in your ini read like this:
Each of these lines corresponds to your setup. So if you have your roms folder somewhere else, you need to tell the file. If you are ONLY using .zip versions of your roms, then you don't need the entire 'romextension=zip,hdf,lha,HDF,ZIP,LHA' line - you can change this to just 'romextension=zip' and it will work fine. (But my line here covers all the possible rom extensions, so you can leave it). The 'exe' and 'parameters' entries are really important, as this tells Hyperspin to load Retroarch, and then Retroarch which core to load for Commodore Amiga.
Save your file, and hook your Hyperspin external drive back to your NVIDEA Shield.
5. Play some games
Everything *should* be working now. If you are having problems with videos and roms matching up, or entries showing in the Amiga menu on your Hyperspin, then that is an issue with your original setup. There are many tutorials out there.
I can vouch that THIS EXACT setup works great, and loads and plays most Amiga games I have thrown at it without too many glitches.
6. Now, please answer me a Q
When using an external mouse in Retroarch and playing a game like Lemmings, I get TWO cursors - the in game Lemmings cursor, and the NVIDEA Shield arrow.
Does anyone know how to get rid of this for good? Thanks