edit: One other user is reporting that the current build of ScummVM works fine one his android device - so I have to preface – the following is describing a workaround if in your case also - launching the ScummVM Core in RetroArch 1.3.0 crashes the app.
The devs botched the ScummVM support in the current 1.3.0 version again - but with some ingenuity I got it working.
I will not open any tickets on the bug tracker - as I had a very bad experience with this in the past - I will list the problems, causes and steps that are necessary to get this working in here and in here only. So if you are a dev and want to do something about this - this is as much input as you will get from me.
Ok - lets start.
Older versions of Retroarch had an issue where on the ScummVM menu (once the core was loaded) the mouse speed for left stick mouse emulation was so freakishly high - that you couldnt select any settings or import a game into ScummVM and then start it - without spending half an hour trying to position the cursor - thousands of times.
1.3.0 has fixed this.
BUT - and there is a big but here.
On 1.3.0:
- The current downloadable scummvm core (Android build) crashes the app entirely.
- When you use an older version of the core, the core starts up and works perfectly - but none of the settings of ScummVM itself (I’m talking about data stored in the scummvm.ini) get stored. Rendering this entirely useless again - because ScummVM is a very setup intensive core. When it doesnt even remember the games you have imported into Scumm VM this again becomes a 5 minute process - every time you want to launch a game (import game, set savepath, set game settings…)
It is possible though - to install an older version of Retroarch, with the old version of the Scumm VM core integrated into the package - then launch Retroarch once - immediately start Retroachs “second menu level” by highlighting the first menu item (“start Retroarch” or something along those lines) and confirming (the old Android Versions differentiated between a first menu level (“App look”) and a second menu level (“Text only”)). From there selecting load core, loading the prepackaged ScummVM core.
If you are lucky - the insane mouse speed for the stick emulation doesnt trigger. (This by the way is the ONLY time and the only way you have a chance of it not triggering. Usually - if you dont start the core from the first menu level the core crashes within seconds, and if you start it from the first menu level it has the mouse speed problem. But for some reason - on the first start, and if you dont select a game with it the core does not crash Retroarch if you start it from the second menu level.)
edit: If it crashes for you at that point - reload and try again by using the “load game, detect core” option in the second Retroarch Menu level. Once you have the Scummvm Interface laoded and Retroarch doesnt crash immediately - you are through the rough part.
Once in Scummvm and without insane mouse speed, setup the save path in the ScummVM options (to somewhere on your Android sdcard partition). Then select ok. Then quit ScummVM via its menue. Then quit Retroarchs second menu layer, then quit Retroarchs first menu layer. Each time by selecting the corresponding menu options. This is necessary to get Scummvm to save its settings.
Because older versions of Retroarch dont have a problem with setting up the ScummVM cores “save structure” (scummvm.ini stuff).
Once you have done this - you install the Retroarch 1.3.0 apk (again, prepackaged with the older version of the ScummVm core, because the current one just crashes) over the previous installation.
To do this both apk packages have to have been signed “the same way” (after being packaged with the older version of the ScummVM core). I used the Android app “Zip Signer” to do that. The official 1.3.0 apk is signed with a different key and therefore wont install “over” a package you had to sign yourself.
Once Retroarch 1.3.0 successfully installs over the previous installation - you launch it again.
The “setting up for the first time” screen has a few graphical glitches (always displaying 2% complete) - but just give it 30 seconds, it does its job, and then (still with 2% displaying), launch the ScummVM Core once more.
This time you can import the first game you want to play, launch it - play it for a bit, then exit Scummvm (the Android Back Button is mapped to the Scummvm In Game menu), then exit Retroarch - again through the corresponding menu items.
On the next launch of Retroarch - Retroarch itself will behave entirely like it should - the ScummVM Core (I am using an archived version that shows version number 1.8.0 git) will still be launchable, mouse speed in the ScummVm menu will be normal, and the ScummVM setting (even new ones you make) will finally stick.
So essentially you are golden, and can move to finish setting up Retroarch (use force 3:2 or 16:10 edit: or 19:12 aspect ratio for early Lucas Arts games for example - see: http://www.gamasutra.com/blogs/FelipePepe/20150423/241730/No_MSDOS_games_werent_widescreen_Tips_on_correcting_aspect_ratio.php ).
If there is interest, and I have the confirmation from a mod in here that I can do so - I can upload both Retroarch packages I have used (older version of the ScummVM Core prepackaged) for this process and link them in here - which makes finally getting ScummVM to work on Android devices with proper Gamepad Support a pretty painless process. But then again - I will do this only if I get the go ahead from the project management.
This is a working workarround - until the devs get along to fixing all those issues themselves.
(For 1.3.0 they are: Current ScummVM Core for Android crashes the app and older versions of the ScummVM Core dont get set up properly (scummvm.ini file (location?)). Game Pad Mouse Emulation Speed is fixed already.)
edit: Here are the two .apks (already signed) you need for this to work:
Follow the steps mentioned above exactly to end up with the intended end result.