Kodi Community Forum

Full Version: RetroPlayer Test Builds (updated for Nexus)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(2016-01-28, 19:24)Torkalis Wrote: [ -> ]Where can i enable savegames?

Latest working save game branch is sadly still on 13.2, https://github.com/eibma/xbmc if you want to compile yourself. I'm still on that and it works nicely. Discussion about it there: http://forum.kodi.tv/showthread.php?tid=186483
When navigating to RetroPlayer Add-ons > Emulators, I'm not seeing any emulators, the repository is empty. I'm running latest (1/31) update, Raspberry PI 2
First, let me say that I'm very excited about this project bringing proper game integration into Kodi with (what appears to be from the comments) support from some key members of the Kodi team. Hoping it will become more mainstream!

Sorry folks - this is probably a stupid question so apologies in advance!

I'm trying to work out the state of play. As I understand it (as a Window user)...
1) The installation is simple (at version 15.2) and simply replaces the existing version
2) There are however no emulators for major systems (e.g. N64/Sega) in place by default
3) Work on these emulators is ongoing (as per the matrix) but there is no simple solution to get these working - i.e. nowhere they are readily available to "add-in"?

Again, apologies, but having scoured the content of the various threads this is what I have deduced - is that correct?
(2016-02-01, 18:53)martinconroy Wrote: [ -> ]1) The installation is simple (at version 15.2) and simply replaces the existing version

Yes, it should be zero-configuration

(2016-02-01, 18:53)martinconroy Wrote: [ -> ]2) There are however no emulators for major systems (e.g. N64/Sega) in place by default
3) Work on these emulators is ongoing (as per the matrix) but there is no simple solution to get these working - i.e. nowhere they are readily available to "add-in"?

Windows is missing a lot of emulators, but the problem for most is actually incredibly simple. They just don't build on Jenkins, our buildbot. Usually it's just a compile error that can be fixed with a quick patch. For example, on bNES, I had to change 3 lines that didn't parse correctly with MinGW.

We load libretro cores unmodified (just renamed), so if jenkins can't build an add-on, you can download the core from the libretro builtbot and the add-on XML fluff from https://github.com/kodi-game, or create the XML by hand using an existing add-on for reference. I used to create libretro cores this way until the build system guys gifted us with our binary add-on build system.
Just kicked off some new Jenkins builds. The "down" and "left" skipping issue has been fixed. The controller was generating both button and discrete dpad axis events about 5 ms apart. Now, only the first is accepted.

The noteworthy addition is a countdown timeout when prompting for input. After 5 seconds of no input, the input prompt is cancelled. The user is warned starting at 3 seconds.

Also some joystick.xml changes have been made to ignore input during fullscreen game. Also the left stick is now used for navigation in addition to the D-pad.

Also I swapped the order of A and B, X and Y for snes/nes. Now the same bottom-right-left-up face button pattern is used for all controllers. I think that the reversed order also indicates to the user that the layout of these controllers is atypical.
Thanks garbear. The whole parsing thing is a bit beyond me I think.

It would be great if there was somewhere you could simply download the successfully compiled modules and install like a regular add-in. I guess that doesn't exist? If not, could it?

I assume that once we have these we don't actually need Libretro or any of the emulators installed?

Sorry if these are silly questions!
You can download the modules from the libretro buildbot that I linked to, but Kodi won't recognize them as game add-ons. For this, they need some additional XML. For example, check out the XML that PCSX-Rearmed uses: https://github.com/kodi-game/game.libret...sx-rearmed . No programming required.

For most of these add-ons, the XML already exists at https://github.com/kodi-game. You just have to copy/paste. More in-depth information is in the documentation subforum.

The gist of this is - Yes, all libretro cores are available. Yes, the ones we don't package will require a lot of work (which is all documented). Yes, if you wait long enough, everything will "just work".
(2016-02-02, 00:22)garbear Wrote: [ -> ]Also I swapped the order of A and B, X and Y for snes/nes. Now the same bottom-right-left-up face button pattern is used for all controllers. I think that the reversed order also indicates to the user that the layout of these controllers is atypical.

Am I wrongin thinking this should be the other way around? Shouldn't you swap the Xbox keymap around to keep compatable with retroarch?
See:
Image

Also FWIW in Japan I believe circle is used as "select" button rather than cross keeping in sync with Nintendo's layout
(2016-02-02, 08:27)N3MIS15 Wrote: [ -> ]Am I wrongin thinking this should be the other way around? Shouldn't you swap the Xbox keymap around to keep compatable with retroarch?

No, retroarch compatibility is hidden behind as many layers of abstraction as I could throw at the problem. The goal is to do things right, like having per-platform configuration instead of hardcoding everything like retroarch does. Compatibility must be retained, but not at the expense of UX.

I decided to use the Xbox 360 layout for Kodi because that's what modern consoles seem to have converged on. Also, it has the most buttons. Do you see a Guide button in retroarch's layout? That's another one of their limitations I don't want in Kodi.

It makes sense for retroarch to use the SNES layout, given that "retro" is in their name. However, I think the 360 controller offers greater flexibility through more buttons and is the controller that typical users will be the most familiar with.

The important thing is that we're having this discussion. retroarch can't, because the SNES layout is hardcoded in their API, and thus in every single emulator they've ported. In our system, the choice is arbitrary. We could replace Kodi's joystick.xml keymap with one using SNES buttons and have that be the default, our system doesn't care.

(2016-02-02, 08:27)N3MIS15 Wrote: [ -> ]Also FWIW in Japan I believe circle is used as "select" button rather than cross keeping in sync with Nintendo's layout

Right, I think that we're looking at a dichotomy between the physical mapping and the logical mapping. I haven't analyzed much of the button map data yet, but I expect we'll see two clusters around these two doctrines.

If we are able to identify these clusters, we could add the advanced option:
  • Prefer physical mapping over logical mapping for button defaults

and then serve the user the appropriate defaults.
I haven't had a chance to test your new code so I may be misunderstanding. But if the default map for a snes controller uses b as the "select" action and a as "back" action while navigating kodi, I personally believe that is wrong. The controller being used should behave the way it was designed to behave. Not changed to suit the standard.

Just my 2c.

Quote:It makes sense for retroarch to use the SNES layout, given that "retro" is in their name.
Retroplayer Smile
The latest OpenELEC build has marked all my emulators as 'broken' due to unmet dependencies.

OpenELEC-Generic.x86_64-6.0-retroplayer-20160201083906-r21810-gc5e0c04.tar
(2016-02-02, 11:14)magnumopus Wrote: [ -> ]The latest OpenELEC build has marked all my emulators as 'broken' due to unmet dependencies.

OpenELEC-Generic.x86_64-6.0-retroplayer-20160201083906-r21810-gc5e0c04.tar

There is a mismatch of the kodi.game api version. So game.libretro can't find the required version, hopefully this gets sorted out and I'll post a new build when it does.
(2016-02-02, 00:47)garbear Wrote: [ -> ]You can download the modules from the libretro buildbot that I linked to, but Kodi won't recognize them as game add-ons. For this, they need some additional XML. For example, check out the XML that PCSX-Rearmed uses: https://github.com/kodi-game/game.libret...sx-rearmed . No programming required.

For most of these add-ons, the XML already exists at https://github.com/kodi-game. You just have to copy/paste. More in-depth information is in the documentation subforum.

The gist of this is - Yes, all libretro cores are available. Yes, the ones we don't package will require a lot of work (which is all documented). Yes, if you wait long enough, everything will "just work".

Thanks - great to hear - I'll play when I have more time, and keep a close eye on developments.

Really great work Smile
New build uploaded with support for multiple devices using keyboard drivers. Tested with the Xgaming's dual arcade stick, the Tankstick. Arcade bliss was achieved.

Also of note, we have button maps for Recalbox's GPIO driver.
New OpenELEC builds posted, quite a few changes. This build should fix all the add-ons being marked as incompatible.

https://github.com/garbear/xbmc/compare/...492af9627d

https://openelec.freestylephenoms.com/retroplayer/