Advanced Launcher

Install Advanced Launcher
The games menu that I’m using in the Youtube video is “Advanced Launcher”. You will need to download the addon as a zip-file, transfer it to the SHIELD and install it from the zip-file:
http://lindqvist.synology.me/shieldguide/advanced-launcher-2.5.8.zip

Follow the steps in this video to install the addon and do the initial setup:

It requires a bit of effort to setup shortcuts for each emulator. The commands you must setup are long and complicated compared to how it works on other operating systems. In the bottom of the section I will go through the configuration if you are interested in knowing more about it or customize Advanced Launcher yourself.

I’ve created a base configuration file where all the emulators have been set up. However, this only works if you have created the Roms folder structure described in the “Installing RetroArch” section:
http://lindqvist.synology.me/shieldguide/launchers.xml

Download this base configuration file and place it in the addon_data folder for Advanced Launcher on the SHIELD:

Screen Shot 2016-05-15 at 20.32.37

Restart SPMC and the configuration will be loaded. Now you can add the Games shortcut to the main menu:

You can now can follow the individual guides under “Core guides” to add games for each emulator.

If you want to remove an emulator from the list then go to that line and select “Edit Launcher” then “Delete”. If you want the emulator back on the list after deleting it, you will have to add it manually. I will go through the basics below if you want to add things manually or change the settings.

Quick guide to the settings in launchers.xml
If you open the launchers.xml file in a text editor you will see the structures used to specify settings for each emulator launcher. As an example these are the launcher settings for the Nintendo NES emulator before any games have been added:

<launcher>
 <id>nes</id>
 <name>Nintendo NES</name>
 <category>emulators</category>
 <application>/system/bin/am</application>
 <args>start --user 0 -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -e ROM "%rom%" -e LIBRETRO /data/data/com.retroarch/cores/nestopia_libretro_android.so -e CONFIGFILE /sdcard/Android/data/com.retroarch/files/retroarch.cfg -e IME com.android.inputmethod.latin/.LatinIME -e REFRESH 60 -n com.retroarch/.browser.retroactivity.RetroActivityFuture</args>
 <rompath>/sdcard/Roms/NES/</rompath>
 <thumbpath>/sdcard/Roms/NES/</thumbpath>
 <fanartpath>/sdcard/Roms/NES/</fanartpath>
 <trailerpath></trailerpath>
 <custompath></custompath>
 <romext>zip|nes</romext>
 <platform>Nintendo Entertainment System</platform>
 <thumb></thumb>
 <fanart></fanart>
 <genre></genre>
 <release></release>
 <publisher></publisher>
 <launcherplot></launcherplot>
 <finished>false</finished>
 <minimize>false</minimize>
 <lnk></lnk>
 <roms>
 </roms>
 </launcher>

Many of the sections are used for meta data if you use scrapers to download information and fan art for each game. I don’t use meta data in my setup, so all of those fields are blank. These are the sections that are relevant for the way I’ve configured my setup:

Field Comment
id Unique reference to the launcher used by scanned games to associate themselves with the launcher. You will notice this when the roms section is filled after a game scan is done for the launcher.
name The name that will be shown in Advanced Launcher
category The category that the launcher is stored under. The top level of Advanced Launcher is a list of categories under which you can create launchers. In the launchers.xml file I’ve provided there is a Default and Games category defined.
application The application that is launched when you select a game. This needs to be /system/bin/am which is an application that can launch other Android apps.
args Parameters passed to the application when a game is selected. This is the long command I mentioned earlier which is required to launch RetroArch. You should only change these parts of the command string:

  • LIBRETRO: the name of the Libretro core that will be started
  • REFRESH: the refresh rate that should be switched to
  • CONFIGFILE: the RetroArch config file that will be used
rompath This is the folder that will be scanned for games for the launcher. If you want to use a different folder structure than the one I’ve described earlier, then you will need to update this setting.
romext The file extensions that Advanced Launcher will scan for.
platform The system platform. This is used if you want to use scrapers to download meta data for the games.
roms  This section will be filled with the games that are detected when scanning the rom folder of the launcher.