RetroPlayer is a custom branch of XBMC that can play legally obtained ROMs using emulators from the amazing RetroArch project at libretro.org.
The source code is at
https://github.com/garbear/xbmc. The PR candidate code branch is retroplayer-pr (default). Soon i´ll have a branch containing the features I left out of the Pull Request (like savestates, a savestate manager, RCB compatibility,
Note to hardcore gamers: For a more immersed game browsing experience, install Rom Collection Browser (RCB) through the Game Add-ons link in the Games window. With some configuration it can launch games using internal emulators. See
http://forum.xbmc.org/showthread.php?tid...pid1330034. Will not work on PR branch.
FAQ
Q: Where do I get ROMs? We are gathering a list of publich domain rom sites.
Q: What platforms? Win32 and linux. Linux emus are 64-bit. For 32-bit, go to Settings -> Add-ons -> Get add-ons -> Libretro Emulators -> Add-on repository -> Libretro Emulators (32-bit) -> Install. (Or grab binaries from my github repo.) The work-in-progress PR:2230 is hoping to make this process easier. Until then, you may have to compile linux emulators yourself. See libretro-super on GitHub.
I enabled 32-bit emulators, how do I disable the 64-bit ones? To disable 64-bit emulators, delete xbmc_dir/addons/repository.libretro-linux/ (the 64-bit repo) and xbmc_user_dir/userdata/Database/Addons15.db (the database caching all the add-ons) at the same time. NOTE: This might have dire consequences, but I haven´t found any.
Q: How to launch a ROM in a .zip file? Enter the zip file and load the ROM. RetroPlayer can also play .zips directly, simple right click (context menu) on a .zip file and hit Play.
Q: Why does audio not work? The buffer used by AudioEngine for resampling is too large for real-time gameplay, so your hardware and driver must support the emulator´s audio sample rate. Upload a debug log and I´ll help you out.
Q: Why so "crashy"? Emulator cores are "picky" and I don´t maintain a while/black list. Try different combinations of the debug settings below. Once RetroPlayer itself is more complete, I´ll start contributing code to the emulators to make them play more nicely with XBMC.
Q: What is libretro? It is an API (not a library) used by RetroArch (http://www.libretro.org). Instead of porting a million emulators to a million consoles, you port them to one API and then use a single frontend on different consoles. RetroArch is the frontend. Arcan-fe is another frontend. XBMC is also a frontend now, due to its new RetroPlayer core.
Q: What is RetroPlayer? XBMC uses player cores - DVDPlayer, PAPlayer, "faux cores" (external player, omxplayer, amlplayer). RetroPlayer is a new core that intercepts input events and mimics DVDPlayer.
DEBUGGING (Settings -> Games -> Debugging)
Q: What is "Prefer loading files from memory"? Loading by memory is the only way to use XBMC´s many virtual file system (VFS) protocols: Sabma, NFS, FTP, inside RAR and ISO, etc. If an emulator doesn´t support this, it can only load game files on the local hard drive. If it supports loading files by memory AND the file is on a local drive, this setting is the tie-breaker. Loading by memory crashes some emulators, and loading by filename crashes others. Hence the debug setting.
FEATURE LIST
See for yourself Smile It´s a long list, eventually I´ll write it down.
Cheers =)
Garrett
I rebased retroplayer on Gotham. This means that retroplayer is now a patch on top of gotham, so openelec 4.0 should be easy and your userdata folder is portable between gotham and retroplayer.
This milestone contains a shiny new feature - a generic Game API for xbmc. In an effort to encapsulate libretro-specific code, xbmc´s libretro interface has now been pushed into an add-on that can be loaded in xbmc. The add-on is basically a compatibility layer, so all emulators implementing the libretro API can be used with the Game API as well.
CHANGELOG
* Rebased on XBMC Gotham 13.0
* New Game API