HyperSync, HyperList and FTP are now back online ×
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:
kick34005.A500 kick37175.A500 kick40063.A600 kick40068.A1200 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:
[exe info] path=H:\hyperspin\emulators\Commodore Amiga\ rompath=Roms/Commodore Amiga/roms userompath=true exe=com.retroarch/com.retroarch.browser.retroactivity.RetroActivityFuture romextension=zip,hdf,lha,HDF,ZIP,LHA parameters=cores/puae_libretro_android.so searchsubfolders=false pcgame=false winstate=HIDDEN hyperlaunch=true 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
Right guys as some of you are aware Google changed how things work on the Google Play Store a while back, when we install an app it will use the 32 or 64 bit version depending on what's native to the device. As we're mainly focused on the Shield TV here on the Android part of the forum, it is a 64 bit device. This has proved to be a bit of an issue for those of us who love Retroarch as there are some serious differences between the 32bit and 64bit versions. In a nutshell currently we have access to more cores for us to play our retro systems on the 32 bit version. RetroArch provide a RetroArch_ra32.apk which is a dedicated 32bit version we can sideload/install and use, however Hyperspin is NOT setup to use this version as some of the paths changed.
So...I decompiled the Hyperspin.apk and made the necessary changes (yes including the config path) to solely use RA_32. I've done some limited testing with RA_32 (1.8.7) and it seems a okay to me (even the Daphne test core works) however I don't use screen overlays or really bother with alternate config setups (in truth I've not used the STV in many months!). Feel free to download it and test yourselves, obviously backup your essential files AND do remember the .ini files need to be adjusted to use RA32....
It's easy enough to open all your .ini files with notepad++. Use the Search and replace feature to find com.retroarch/ and replace to com.retroarch.ra32/ do this for all opened files then save all.
Those who use adopted storage it's wise to move the Retroarch_ra32 app to internal storage after installing AND before running it for the first time. Let me know how it works for you, I'll do a Youtube video to help those less experienced with setting up Hyperspin when I know it's working 100% and I have the free time.
Mega Link for Hyperspin_0.1.8_Hono.apk (https://mega.nz/file/zQNBCYKI#QVrG4uVVmvXHshl8LbosQi7LAjQmUA09R5k_YqhcMBI)
RetroArch_ra32 (1.8.8) newest stable version at time of posting (http://buildbot.libretro.com/stable/1.8.8/android/)
Hi all, It seems retroarch (at least on android) has removed their Mupen64plus core and replaced it with Mupen64plus-next. My hyperspin (Nvidia shield) won't launch N64 games anymore because it's trying to launch a core that no longer exist. I have tried editing my "Nintendo 64.ini" file with multiple variations to get the new core to launch, but I cannot get it to work. Anyone know the new core parameters off hand? I've searched quite a bit and am coming up empty. Just to clarify I'm looking for the "Parameters =" line under the exe= that determines which core retro arch will use. I have confirmed manually loading the "Mupen64Plus-Next" core works with content. I just can't seem to get the command line correct to have it launch from hyperspin. Any help is appreciated thanks! I have already switched to it launching "Mupen64 FZ" in the meantime, but I prefer the launch coming from retroarch because FZ resumes mid-game where you left off when starting from hyperspin, and I prefer the WOW factor of games loading from the title screen.
I realise there is already a thread for the Commodore Amiga in the Android section. I should know, as of late I've essentially taken it over! It's one of the most viewed threads in the Android section, so clearly many of you adore the Amiga as much as I do.
That thread has become quite long and it's quite confusing with people choosing to emulate the Amiga in different ways. I decided it would be best to start my own thread, streamlining it to show the best way to get this done. As I do have a "proof of concept" setup working!
This project I've taken on is a mammoth undertaking, as the Amiga is quite a complicated system to do. I'll try to explain why and how I've decided to proceed, keeping you guys up to speed with my progress here.
The first real issue is the naming that Hyperspin has been using for some time now. It's based from the Whdload zip file names, which was a logical choice BUT the problem is these zip names keep changing over time as they get updated. This throws the database entries and all media assets out of whack. It's my belief that this naming is what is really holding us back doing the Amiga justice.
Second problem for us Android users anyway, is that we can't use the zip files directly with an emulator. They needed to be extracted out and we used a bootloader to patch the files for the emulator and launch the games. All seemed well and good until I started testing games and found many wouldn't work. Very confusing as the same game files worked fine from a workbench environment I'd set up, with it's own bootloader I added in. I suspected it was the "ultimate amiga" bootloader for the Hyperspin wheel at fault, which proved to be correct.
So the best way to launch these Amiga games from the Hyperspin wheel, is to actually use HDF versions of the games. This removes the need for the bootloader. I decided to keep the game folders extracted from the whdload zip files. Continuing to use these with the workbench (Amiga's OS) hdf I created. Having this is a nice nostalgic nod, I'm sure genuine Amiga fans will appreciate.
Unfortunately we can't just point the emulator to these hdf files, it's not that simple. Each game requires a config file that points to where the particular hdf game file is, what kick-start (i.e Bios) to use, video settings, control bindings etc. These files are known as uae files, as that is the extension we tell Hyperspin to look for. We trick it into thinking these uae's are the actual "game Roms".
Sadly uae files aren't universal between emulators. So choosing the right emulator to begin with is important. Many people had chosen to use RetroArch. Which can't do the CD32, so I'll strike it off for that reason alone (although there are other reasons). I spent a long time waiting on Amiberry to be ported to Android but the devs haven't delivered. I'm not waiting any longer, so I'm continuing to proceed with Uae4arm.
As I write this, the latest version of Uae4arm crashes on Android TV (i.e Shield TV) but does run fine on Android phones. The devs are aware and trying to resolve this. There is an older apk version we can install for now, which does work. Another slight annoyance is that Uae4arm is quite fussy about how the uae files are named. They can NOT have special characters in them (e.g a space) or the emulator won't launch them!
My next complaint was that Hyperspin has "rules" about what games should be included in the xml database file. I do NOT agree with these "guidelines". I want a definitive collection of Amiga games.
I've decided to branch the Amiga out into different wheels, ECS, AGA and CD32. As an analogy think of Sega's Megadrive and it's hardware addons. Megadrive=ECS, Sega32X=AGA (better graphics chipset on later Amigas) and finally the MegaCD=CD32 (better audio track and FMV).
There is a "HDF game set" floating around. However... I got to know the creator, from doing videos on my proof of concept setup. I've persuaded him to rename the files to something more sensible, that should help other frontends scrape for metadata and artwork. These names will not change over time as he updates the collection. He does release notes, so this info can be used to keep the xml database file up to date. Currently he's overhauling the hdf files so they take up less storage and even adding cheat and trainer options to the loading splash screen....very cool stuff!
I'm working on creating missing artwork (wheel, 3D box, diskette and video snaps), keeping busy until this new hdf collection is complete. Then I can start creating the uae files needed. This will be laborious, as Uae4arm doesn't do cycle exact emulation. I need to make sure each game is configured correctly to run at the proper speed, I'll also bind commonly needed keyboard keys to the gamepad on a per game basis.
If you're confused, that's OK! It should all make sense, once I get around to uploading some more videos. Yes I will make my assets available to you all (minus the games obviously due to Hyperspin rules), once I'm happy with the collection.
***UAE4ARM BETA APK LINK***
Retroarch (Google Play) has updated itself to the latest version 1.7.8 and it seems to have broken compatibility with Hyperspin ?
Having done some quick reading (https://www.libretro.com/index.php/retroarch-1-7-8-important-changes-for-people-using-the-google-play-build/) it seems under the "infinite wisdom" of Google. They're forced to build in both 32 and 64bit support for the app, so the device (Shield TV) will default to using the 64bit version as it is a 64bit device. I'm not entirely sure what's gone wrong as I haven't had time to delve further into it, although I know ZeroJay did a modded Hyperspin apk for 64bit support (that doesn't work either). Just wanted to warn users so they don't update and have any aggro.
You can still side load 32bit versions of Retroarch, I'll do that later and test. I'm actually quite excited about some of the features that have now come in the latest version.
The retroarch_ra32.apk (v1.7.8) changes the path (typical). So it's now "exe=com.retroarch32/com.retroarch.browser.retroactivity.RetroActivityFuture". Hyperspin doesn't like this and it misbehaves as it did trying to load the original 64bit Google play version, which is why ZeroJay did the modified Hyperspin apk.