Jump to content
Sign in to follow this  
therourke

Tutorial: Amiga running on Retroarch, for Hyperspin Android (NVIDEA Shield)

Recommended Posts

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

spacer.png spacer.png

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

Commodore Amiga.ini

  • Like 1
  • Super Like 2

Share this post


Link to post
Share on other sites

Awesome stuff my Amiga amigo, glad to see my ramblings as I work on my project helped you out! Yes the PUAE core is an absolute god send, the guys have done amazing work with it, I'm so glad I waited and didn't proceed with UAE4ARM....damn those uae files! ;)

As PUAE can now do cycle exact emulation we can just set it as a decent Amiga (A1200) as you suggest. If for some reason a game should happen to play too slow or fast, it's easy enough to use the quick menu to adjust the cycle exact speed or other settings and save an opt file for the game (which sets it so we can forget it). If we name the games with certain tags (e.g (AGA), (FAST)) it can help the emulator out with it's auto configuration BUT your method is perfectly acceptable. I chose to rename the game files anyway to help other front ends scrape online for metadata and media. That's so I have one Amiga set to use on PC, STV and my Android phone (Hyperspin doesn't work on my phone but Arc Browser does).

If I recall the Amiga Forever Kickstarts were NOT the specific versions needed for PUAE. If that has changed since I last checked I will take your word for it. It also lacks the Kickstarts for CD32 and CDTV which the PUAE core can also emulate. There are some problem games, like Star Trek 25th Anniversary that wants a stupid amount of Fast RAM. Worth mentioning the E.A.B (English Amiga Board) is an amazing resource for Amiga fans. They have a file server which can be accessed through Google drive, they don't host kickstarts and copyrighted material (in case mods reading this are nervous about it) but it's still worth checking out for all sorts of goodies.

I've been meaning to do a Youtube video to help people understand RetroArch and the Amiga, I've just had so much going on at home. Your write up is actually really good, enjoy your setup I know you've worked hard for it!

Share this post


Link to post
Share on other sites
13 hours ago, therourke said:

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

Try pressing the "scroll lock" (try "Fn + Capslock" if there is no dedicated key) on the keyboard to activate game focus mode, this disables the keyboard shortcuts like "F1" opening the RA quick menu. It will hide the system mouse cursor on PC so you'd only see the "Lemming hand" cursor, I have not tried it on the STV yet as it's packed away...let me know how it goes.

Share this post


Link to post
Share on other sites

The scroll lock enable/disable doesn't work. 

If I use the analogue controller as a mouse it is fine, and only shows the Amiga cursor. But any external mouse shows two cursors.

Share this post


Link to post
Share on other sites
On 7/11/2020 at 8:49 PM, therourke said:

The scroll lock enable/disable doesn't work. 

If I use the analogue controller as a mouse it is fine, and only shows the Amiga cursor. But any external mouse shows two cursors.

That's a shame, thank you for letting me know.

It will show a cursor when the mouse is connected because of the Android OS, it won't add one for a virtual controller RetroArch is using. In Android Oreo the feature was added for apps to "capture the OS cursor" but it has to be written into the program (I think DosBox, Uae4arm and a few other emus do use it iirc). So this is an issue that needs to be raised with Libretro, I wouldn't be surprised if it's not already. It's a very niche problem. People who do emulation are a very small percentage of Android users and of them even fewer are emulating classic computers that use a mouse.

Share this post


Link to post
Share on other sites

I posted earlier about my roms not loading from my hdd for amiga but I was using an older puae core...once i updated, they load from the hdd ...so its important ppl use the lastest core and not the older puae core

Share this post


Link to post
Share on other sites

Hello everyone,
a little help to try to understand better the process described at the beginning of this topic and apologies for my (bad) English. I don't have much experience in emulators, but I would like to relive my youth when it comes to Amiga games with the help of Nvidia Shield. I pass the experience so far, after following all the steps above, there are games that I can play removed from the freeroms (zip file), but I have several packs like HDF and ADF that do not run any games, it is right in the start menu, type of , with cursor flashing. What am I doing wrong and if there is any tutorial.
Thank you

Share this post


Link to post
Share on other sites

Can we use Retroarch to run .hdf games for PC also ? Or is another way to run them from PC RL ?

Share this post


Link to post
Share on other sites

The first step: download RetroArch
Step Two: Configure your Controllers
Step Three: Download emulators (also known as " Kernels»)
Step Four: Add your ROM collection
Step Five: Continue with the setup if you want

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By edboy542
      I have attached a short video showing that the Arcade games not launching and other games launching perfectly with no problem. So when I try to launch the Arcade Game it appears to open up Retroarch, but does not load the core. Do I have to edit the Hyperspin Info Settings to make sure it is opening up the Core to launch the game? I am trying to provide all information that I can in order to get this build fully up and running. Once again thanks in advance for any assistance with this. 
    • By HyperSeeder
      HyperSpin v0.1.8 for Android
      This is an unofficial version of HyperSpin for Android able to launch all modern versions of RetroArch.
      Support topic: https://hyperspin-fe.com/forums/topic/42774-modified-hyperspin-apk-for-retroarch-works-with-all-modern-versions/
      File Information:
      HyperSpin_v0.1.8_HyperSeeder.apk
      MD5: 4692846e4fe9a90bd0da3a6cd9f10ed3
      SHA512: 2f5db6b625983c189b9f82c574bf48781921780825a38ceaf9c1094bd113545f9abdd06c5b4ac8707093e3e2ac0fc1185b9bc939f30f5ee830a41689c68e5b21
      How to configure your Settings_Android ini files:
      Main APK from RetroArch's website and Google Play Store Version:
      exe=com.retroarch/com.retroarch.browser.retroactivity.RetroActivityFuture RetroArch's website 32bit version:
      exe=com.retroarch.ra32/com.retroarch.browser.retroactivity.RetroActivityFuture RetroArch's website 64bit version and RetroArch Plus:
      exe=com.retroarch.aarch64/com.retroarch.browser.retroactivity.RetroActivityFuture Have fun!
      FAQ:
      Can I mix and match multiple RetroArch distributions?
      Yes, you just need to set different exe values for different systems.
      For instance, you can use the 64bit version of RA + Dolphin core for GameCube games (Nintendo GameCube.ini): exe=com.retroarch.aarch64/com.retroarch.browser.retroactivity.RetroActivityFuture parameters=cores/dolphin_libretro_android.so
      And the 32bit version of RA + MAME Core (MAME.ini): exe=com.retroarch.ra32/com.retroarch.browser.retroactivity.RetroActivityFuture parameters=cores/mame2010_libretro_android.so  
      Will it load separate configuration files for 32bit and 64bit versions?
      Yes, it will always load the default configuration file for each version.
      Default configuration files are in /storage/emulated/0/Android/data/[package name]/files/retroarch.cfg
      For example:
       
      /storage/emulated/0/Android/data/com.retroarch.ra32/files/retroarch.cfg  
      Can I make Hyperspin launch my own custom compiled version of RetroArch?
      Yes. As long as the package name starts with com.retroarch everything should work.
      Can I configure HyperSpin to load retroarch.cfg from a custom location?
      Not for now. I find that I can accomplish what I want with the default config file + settings overrides.
      If you have a specific use case that would benefit from this feature comment bellow and I'll see what I can do.
      How was this implemented?
      I reversed engineered the original Google Store APK using Apktool and JEB.
      You can find the two lines of code that I've modified bellow. You can use APK Studio to verify my changes.
       
       
    • By HyperSeeder
      To anyone following my posts lately, I have been working in modifying HyperSpin so that it can run all modern versions of RetroArch. I know that some of you have been waiting for it since 2019.
      Well, the wait is finally over.
      Download:
      HyperSpin_v0.1.8_HyperSeeder.apk: https://mega.nz/file/uNx0gQQA#f5ktYDOV6nMAWxatrlg6XAYz14ZMdYlkWg994s-1WDg
      MD5: 4692846e4fe9a90bd0da3a6cd9f10ed3
      SHA512: 2f5db6b625983c189b9f82c574bf48781921780825a38ceaf9c1094bd113545f9abdd06c5b4ac8707093e3e2ac0fc1185b9bc939f30f5ee830a41689c68e5b21
      How to configure your Settings_Android ini files:
      Main APK from RetroArch's website and Google Play Store Version:
      exe=com.retroarch/com.retroarch.browser.retroactivity.RetroActivityFuture RetroArch's website 32bit version:
      exe=com.retroarch.ra32/com.retroarch.browser.retroactivity.RetroActivityFuture RetroArch's website 64bit version and RetroArch Plus:
      exe=com.retroarch.aarch64/com.retroarch.browser.retroactivity.RetroActivityFuture Have fun!
      FAQ:
      Can I mix and match multiple RetroArch distributions?
      Yes, you just need to set different exe values for different systems.
      For instance, you can use the 64bit version of RA + Dolphin core for GameCube games (Nintendo GameCube.ini): exe=com.retroarch.aarch64/com.retroarch.browser.retroactivity.RetroActivityFuture parameters=cores/dolphin_libretro_android.so
      And the 32bit version of RA + MAME Core (MAME.ini): exe=com.retroarch.ra32/com.retroarch.browser.retroactivity.RetroActivityFuture parameters=cores/mame2010_libretro_android.so  
      Will it load separate configuration files for 32bit and 64bit versions?
      Yes, it will always load the default configuration file for each version.
      Default configuration files are in /storage/emulated/0/Android/data/[package name]/files/retroarch.cfg
      For example:
       
      /storage/emulated/0/Android/data/com.retroarch.ra32/files/retroarch.cfg  
      Can I make Hyperspin launch my own custom compiled version of RetroArch?
      Yes. As long as the package name starts with com.retroarch everything should work.
      Can I configure HyperSpin to load retroarch.cfg from a custom location?
      Not for now. I find that I can accomplish what I want with the default config file + settings overrides.
      If you have a specific use case that would benefit from this feature comment bellow and I'll see what I can do.
      How was this implemented?
      I reversed engineered the original Google Store APK using Apktool and JEB.
      You can find the two lines of code that I've modified bellow. You can use APK Studio to verify my changes.
       
      Has it been tested?
      Barely. I tested it with my NVIDIA Shield 2017 and 2019. It worked with all mentioned distributions, RA versions 1.9.0 and 1.9.1 How can I help?
      Test it and let me know if it works :).
      If you know someone able to get my two lines change integrated in the official build and published to the Google Play Store, please point the person to this topic. Acknowledgment: Many thanks to@zerojay, @yarrick and @Honosuseri for "hacking" their own versions of HyperSpin. While this version is my own work, I couldn't do it without the information that you all made available to the community.
×
×
  • Create New...