Kodi Community Forum

Full Version: Adding new cores
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
What is the procedure for adding new cores to XBMC Retroplayer? Is it something that can be done by a layman
, or does it need a lot of coding knowhow? I'd like to contribute to the project if possible and this seems like a good way. Would anybody care to write a tutorial so that I, or anybody else, could have a go at it?
Are you planning to compile and use an existing retroarch core for retroplayer or do you want to write your own core?

Every libretro core that does not use the libretro-gl extension can be used for retroplayer. To make it visible via the addon system of xbmc you will have to talk with garbear so he can upload it to his repository. I think it is this is the used repo: github

For information about implementing an libretro core you should visit http://www.libretro.com/.

Hope I could help!
Thanks Dippo.

I certainly don't intend to write my own core, that is far beyond my capability. What I'd like to do is take an already existing core which is not already in retroplayer and make it available.

Do they need to be recompiled specifically for XBMC Retroplayer, or can cores be copied from retroarch for example? If it's a simple case of copying the dll and writing an addon.xml, it's certainly something I could do.

If they need rewriting/compiling, then with some help I'm sure I could manage.
In case the core is working with retroarch it should also work within retroplayer if you write an addon xml. If you plan to make it available in the repository you should build a 32 and 64 bit version of it.

For testing purpose you could just replace a working core dll file with your own.

When playing around with your own cores be aware that retroplayer will mark non functional cores in the database. This prevents the core from being loaded the next time (you will see that in the log file).

I am only using linux and cannot give further instructions how to compile emulator cores for windows.
Unfortunately, the core I want to get working, picodrive, is not available in 32 bit. Using the 64bit dll results in a crash to desktop in Windows. Is there any way to get a 64bit dll to work with 32bit XBMC?
(2014-02-20, 06:12)Tomkun Wrote: [ -> ]Is there any way to get a 64bit dll to work with 32bit XBMC?
That is not a good idea. Do you have a 32 bit machine or why are you using 32 bit xbmc?

Where did you get that dll from?

I just cloned the source from https://github.com/libretro/picodrive and it compiled without any problems on my 64bit linux (have to test if it is also workgin with xbmc later this day :-) ).
I am on Windows. As far as I am aware, there is only 32bit XBMC on Windows. The dll came from the 64bit Retroarch megapack. I checked, but there is no 32bit Picodrive. When I asked about it on their site, they said 32 bit had compile issues but nobody was working on it right now.
What do you want to play? Maybe we can find another core for the same system.
I want to get the Sega 32X working. It's the only system of that generation that won't work so far.
(2014-02-20, 15:20)Tomkun Wrote: [ -> ]I want to get the Sega 32X working. It's the only system of that generation that won't work so far.

Gens works with Sega 32x http://www.segaretro.org/Gens/GS not that I've tested it, mind you.
There are plenty of fine 32X emulators around, but unfortunately they don't work with retroplayer, which is what I would like in an ideal world. Unfortunately, this is all beyond my skills and so I can only be patient and hope that somebody fixes it.
There is already a 32X core it just needs to be added to retroplayer: https://github.com/libretro/picodrive

Quote:This is yet another Megadrive / Genesis / Sega CD / Mega CD / 32X / SMS
emulator, which was written having ARM-based handheld devices in mind
(such as smartphones and handheld consoles like GP2X and Pandora),
but also runs on non-ARM little-endian hardware too.

The emulator is heavily optimized for ARM, features assembly cores for
68k, Z80 and VDP chip emulation, also has dynamic recompilers for SH2 and
SSP16 (for 32X and SVP emulation). It was started by Dave (aka fdave,
finalburn author) as basic Genesis/Megadrive emulator for Pocket PC,
then taken over and expanded by notaz.

PicoDrive was the first emulator ever to properly emulate Virtua Racing and
it's SVP chip.
Thanks for the input, drivesoslow, but if you'll read back you'll see that's exactly what I am trying to do. Add PicoDrive to retroplayer. Unfortunately without a 32bit dll, it is impossible to run on Windows, so I am stuck.
MESS/UME cores are being worked on for RetroArch, so a 32bit core should be feasible in the possible near future.

If you want to play on the bleeding edge, you could try to compile a 32bit core of MESS for Windows.
Another option (which is what I do) is use the RomCollectionBrowser plugin with the 64bit version of RetroArch for Windows.
That's exactly what I do too. Looking forward to the MESS cores though, thanks for the heads up!