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.
Please note my knowledge of this system does not run deep but everything here works and plays fine.
What is it?
Capcom Play System III or CPS-3 is an arcade system board that was first used by Capcom in 1996 with the arcade game Red Earth. It was the second successor to the CP System arcade hardware, following the CP System II. It would be the last proprietary system board Capcom would produce before moving on to the Dreamcast-based Naomi platform.
How to emulate in Android (Shield TV)
Quick and simple way is with the FBA core of RetroArch and matching FBA romset.
At time of writing current versions are:-
Core:- FB Alpha v0.2.97.42 (commit 6b7a701)
FBA:- 0.2.97.42 (9 July 2017)
Other options are MAME core in RetroArch or MAME4Droid reloaded (0.139mame romset). I believe the CHD files are needed for some games and with MAME4Droid, at least, I had to "install" the game when it 1st launched in the emulator. That process took about 20-30mins and not all worked. Redearth was one I tested and "installed".
JoJo no Kimyouna Bouken: Miraie no Isan (Japan 990913) = (jojoba.zip)
JoJo's Venture (USA 990108) = (jojo.zip)
Red Earth (Euro 961121) = (redearth.zip)
Street Fighter III 2nd Impact: Giant Attack (USA 970930) = (sfiii2.zip)
Street Fighter III 3rd Strike: Fight for the Future (EUR 990608) = (sfiii3.zip)
Street Fighter III: New Generation (USA 970204) = (sfiii.zip)
I replaced this entry in the official database with the european version as I could not get it to launch in FBA.
Street Fighter III 3rd Strike: Fight for the Future (USA 990608) = (sfiii3u.zip)
EDIT:- USA version is working with RetroArch core version 0.2.97.44. Make sure you have the correct RomSet version
1. Open RetroArch and download the Arcade (FA Alpha) core.
Main Menu -> Online Updater -> Core Updater
1a. Transfer your games to your prefered location (You only need the six zip files listed in the database and above)
2. Add the "Capcom Play System III" system to your Hyperspin setup with HyperHQ on a PC and transfer the files/folder to your device or by manually creating all the relevent folders to your device. (Download at bottom of guide)
3. Add Capcom Play SYstem III to your Main Menu.xml or Main Menu_Android.xml
4. Add these lines to your Capcom Play System III.ini file found in Hyperspin/Settings/ or Hyperspin/Settings_Android/
PLAY SOME STREET FIGHTER .......................
Under the FB Alpha "Quick Menu -> Options" you can select between different regions. Choosing a different region will give you the different loading screens along with other things I'm not sure about.
Street Fighter III 3rd Strike (Default)Euro
Street Fighter III 3rd Strike (USA)
ANDROID MEDIA PACK AND DATABASE (Get your videos from emumovies.com)
As we celebrate 25 years of DOOM! John Romero has brought us SIGIL, an unofficial 5th chapter to the original game. So as Retroarch's Prboom core has now been updated to support it...figured I should really add it to my Doom Classics wheel...
Threw together a Sigil theme, wheel art and video snap. I was pleasantly surprised, that the prboom core now played the midi music natively. Doom 1&2 originally required me to add the music tracks as mp3 files.
(FYI having trouble with upping some screenshots and the new formatting so please excuse the wierd format)
Converting 16x9 Themes for Hyperspin Android
List of theme animation compatibility
(I am in NO way competent with artwork resolutions but my method works and looks good to me)
Because sometimes that theme you really liked just doesn’t display correctly
The main reason for theme problems is the use of animation and scripting of the .swf assets in the “theme”.zip
(It’s best to replace themes that cause Hyperspin to crash out, but you can try to convert them)
1. Extract PNG assets from swf files
2. Reduce HQ artwork to be compatible with Hyperspin
3. Further reduce artwork width to allow for Hyperspin 4x3 -> 16x9 stretching
4. Recompile your theme
What is Needed:
Update on resizing tool.
Fotosizer is now advised against because of the compression/quality loss it causes.
pPlease use Photoshop or this program recommended by @IceLancer https://sourceforge.net/projects/easyimagesizer/?source=typ_redirect
A A Fotosizer (http://www.fotosizer.com/) batch resize image files
B. Flash Decompiler (https://www.free-dec...flash/download/) extract png’s from swf
C. Time and Themes
I have done a little testing for Main Menu themes. This spreadsheet shows what I have tested and its Android compatibility status. The sheet has download section links for all themes I have tried.
Let’s get to it...
So grab a theme zip you want to play with and Unzip it. Any 16x9 Main Menu, Game or System Default theme will do.
BakerMan provided me a guide to extracting the PNG’s from SWF but it has since been lost.
These are the steps
1. Open JPEXS once downloaded and installed from link above
2. Click on the “Open” tab and browse to the offending .swf file from your unzipped theme
3. Right click on “Images” on the left and click “Export Selection”
(At this step you may find multiple images. If these images are only parts of one image, say the arms and legs of a character, you will have to lose that image completely from the theme or replace it with another one)
4. Click “ok” to PNG file type then choose a location for the exported images (Default is Desktop. Only export one at a time and then move the PNG out of the output folder as it overwrites each one if not)
5. Now browse to that Output location and you will find your PNG’s in an “images” folder.
You are now ready for phase 2 – Resizing the images
Note, fotosizer does cause a reduction in artwork quality. If your sensitive to this you may want to use another method. (If you know of a better program please comment) I only run a 37' screen and don't mind myself.
(Resizing Artwork is covered comprehensively by Avar in his tutorials found HERE)
Open Fotosizer Add the Artwork that was converted to PNG Reduce the images to 68% KEEP MAINTAIN ASPECT RATIO TICKED (this is the best size for the ones I have done)
4. Move the right side settings bar down and select an Output Folder
5 Remove that Artwork from Fotosizer
6. Add the newly resized artwork back into Fotosizer
7. Reduce the Width to 75% (to allow HS to stretch it back when its loaded)
8. UNTICK MAINTAIN ASPECT RATIO
9. Now add this finished art back into the theme folder and zip it up again
10. Name the zip file the same as you have it in the “Main Menu.xml” database
Now when you try this theme out you may find the artwork has slightly changed location. If so adjust the Artwork positions in the theme.xml file within the theme.zip OR load it into Hypertheme and adjust it as required
Hope this helps someone.
HS Android Theme Animations.txt