Cool, I'll check into it and work on it some more. FYI - the build I'm using just has a re-configured start script, to allow loading of those custom configs. If you're interested in trying it out on your system, here is the link to the forum post with all the details:
http://openelec.tv/forum/128-addons/7297...450#150421
Essentially, the BULK of RetroArch is in the first link, where he included a whole bunch of working cores that are specifically compiled for use with the Pi's, and have all been tested (not by me yet) to be working. Just put it somewhere your Pi can access via "Install from Zip" and run that. In my tests, I didn't use the 2nd link. It looks like that is just a re-configured retroarch.cfg for use with a PS3 controller, which I don't have, so I didn't bother. The 3rd link I'm also not using at present. I've played a little with shaders on my PC, but really didn't like much of any of them. I don't like to see all the extra little tweaks people do OUTSIDE the ROM.. I'm a purest so a straight output was good enough for me. The 4th link though is the key. He re-wrote the retoarch.start script to run a check for the addition of a cfg file to load with the core. In my first test attempts, I didn't realize this was NECESSARY. I was trying to launch the ROM directly without adding in a cfg in the command line. All I would get were errors about the "whatever ROM path".cfg wasn't found. It wasn't until I created a dummy "test.cfg" file and included that in my command line that I was finally able to get it to load. The final bits of that post just provided you with examples of what the command line would be, and an example of his .cfg he created for that specific core. In his case, he's using a shader, and then the default retroarch.cfg is taking over for the controls. In my case, I just created a new .cfg from within the running core and saved it. The new save file was essentially "corename_libretro.cfg", where "corename" is whatever core you're loading.
Once I work out the re-programming of your .xml for Sega Genesis, I will go through the same process for all the other cores and update your xml as necessary. Something else that came to mind, is perhaps requesting you provide a way to filter out unwanted consoles from the list. For instance, say in the future I have a friend over and I'm showing him the addon. He decides to go into Nintendo 64 and tries to load it up. Well surpise! N64 doesn't exactly work very well with Pi2, so I never bothered setting it up. He didn't know that, and since the console is listed, it should work right? Well my request would be some way to have an "Enabled/Disable" check box or switch in the addon's configuration so we can disable the ones we don't want to see. You can still scrape and add them on your backend though because even though (in my example) N64 won't work for me on the Pi, it does work sufficiently on my PC, and there are PC users out there.
Thanks again for the reply! Looking forward to keeping you up to date with what I find!
EDIT - Found the xml file. Scrolled down to the OpenELEC "OS" and found the picodrive command. I changed it to this. Would this be correct?
Code:
<launcher name="RetroArch Pico Drive (Sega 32X/CD)" os="OpenElec">
<launcher_command>/storage/.kodi/addons/emulator.tools.retroarch/bin/retroarch.start picodrive /storage/.kodi/userdata/addon_data/emulator.tools.retroarch/config/picodrive_libretro.cfg "%ROM_PATH%"</launcher_command>
EDIT 2 - Ok, that didn't work. Since I was able to run "retroarch.start" without giving it the explicit path in SSH like you suggested, I decided to take all that out. Now my command is
Code:
<launcher name="RetroArch Pico Drive (Sega 32X/CD)" os="OpenElec">
<launcher_command>retroarch.start picodrive picodrive_libretro.cfg "%ROM_PATH%"</launcher_command>
Running that caused Kodi to black out, but nothing else happens. I checked the log, and it looks like it is running the script correctly:
Code:
23:10:15 281.608337 T:1637065792 NOTICE: Downloading Selected ROM
23:10:15 281.609253 T:1637065792 NOTICE: http://archive.org/download/No-Intro-Collection_2015-03-03/Sega%20-%20Mega%20Drive%20-%20Genesis.zip/Sega%20-%20Mega%20Drive%20-%20Genesis%2FAero%20the%20Acro-Bat%20%28USA%29.zip
23:10:15 281.609467 T:1637065792 NOTICE: /storage/.kodi/userdata/addon_data/plugin.program.iarl/temp_iarl/Aero the Acro-Bat (USA).zip
23:10:17 283.411804 T:1637065792 NOTICE: Unzipping /storage/.kodi/userdata/addon_data/plugin.program.iarl/temp_iarl/Aero the Acro-Bat (USA).zip
23:10:17 283.499969 T:1637065792 NOTICE: Unzip Successful
23:10:17 283.502960 T:1637065792 NOTICE: External Command: retroarch.start picodrive picodrive_libretro.cfg "/storage/.kodi/userdata/addon_data/plugin.program.iarl/temp_iarl/Aero the Acro-Bat (USA).md"
23:10:17 284.200500 T:1968037888 NOTICE: Storing total System Uptime
23:10:17 284.201172 T:1968037888 NOTICE: Saving settings
23:10:17 284.326782 T:1968037888 NOTICE: stop all
It doesn't seem to actually launch the game. It just sits there. So I did a reboot, and in SSH just ran the "External Command" directly. It loaded up the game fine. So somewhere between IARL launching it's command, and RetroArch trying to take over Kodi there is a problem. RetroArch disables Kodi on launch. Does IARL disable Kodi when it launches the External Command as well? Maybe that is where the hang up is, because RetroArch then tries to do it too, and get's hung up. I don't know how to get any kind of logs from what RetroArch is doing once Kodi isn't running. Darn! So close!
EDIT 3 - Last one for tonight, I'm sleepy!
Ok, so as an "experiment", I went into the retroarch.start file and # commented out the 2 lines dealing with shutting down and restarting Kodi. I then tried to launch another game from IARL. It kinda worked! Essentially I could hear the game in the background, but Kodi was still very much in the foreground. So I definitely think the problem I was having is with the Kodi shut down part. By commenting out the shutdown in the retoarch.start file, I essentially left it to IARL to handle it, and well... it didn't. I did find in your /bin that you have an applaunch.sh and an applaunch_OE.sh. I assume the "oe" is for "OpenELEC?" If I go in there I can see you have already setup some method of closing Kodi, but it looks like they're all # commented out as well. It says to uncomment them and comment the other part, but I'm not sure how far to go / what parts to comment out. Should I take out the rest of the file? Or just the part leading up to "done;"? I don't want to mess it up. I suppose I can do a trial & error run. But I'm too tired to mess with it more tonight! Maybe you'll know what I need to do by the time I wake up tomorrow?

TTYL!