Game development: Difference between revisions
Gamester17 (talk | contribs) |
Gamester17 (talk | contribs) |
||
Line 41: | Line 41: | ||
An input addon is used to map the buttons/axis on your physical input device, to the buttons/axis of your virtual system. This is necessary because different retro systems usually have different button layouts. (game.controller.<platform>) | An input addon is used to map the buttons/axis on your physical input device, to the buttons/axis of your virtual system. This is necessary because different retro systems usually have different button layouts. (game.controller.<platform>) | ||
== Subsystem | == Subsystem Architecture == | ||
[[File:RetroPlayerTransparent.png|400px|right]] | [[File:RetroPlayerTransparent.png|400px|right]] | ||
*[[Game API]] - ? | *[[Game API]] - ? | ||
Line 47: | Line 47: | ||
**[[Libretro Wrapper]] - ? | **[[Libretro Wrapper]] - ? | ||
*[[Hardware API]] - ? | *[[Hardware API]] - ? | ||
** [[Peripheral API]] - ? | |||
*** [[Peripheral Add-ons]] - ? | |||
*** [[Peripheral Buses]] - ? | |||
*** [[Input Library]] - ? | |||
** [[Media Readers API]] - ? | |||
** [[Input API]] - ? | ** [[Input API]] - ? | ||
*[[RetroPlayer]] - ? | *[[RetroPlayer]] - ? | ||
** [[RetroPlayer Savegames]] - ? | ** [[RetroPlayer Savegames]] - ? | ||
====Architecture development discussions:==== | |||
* [http://forum.kodi.tv/showthread.php?tid=195552 Fitting RetroPlayer into Kodi] | |||
* [http://forum.kodi.tv/showthread.php?tid=225126 Peripheral Input Documentation] | |||
* [http://forum.kodi.tv/showthread.php?tid=224328 Porting Libretro cores to Kodi] | |||
* [http://forum.kodi.tv/showthread.php?tid=211138 New input API discussion] | |||
== Game add-ons == | == Game add-ons == |
Revision as of 11:52, 23 April 2015
Development | Game development |
NOTICE: Kodi-Game branch has not been merged into Kodi mainline. As such, this is a work in progress, and many things are subject to changes. |
INCOMPLETE: This page or section is incomplete. Please add information or correct uncertain data which is marked with a ? |
This page is about Kodi-Game branch of Kodi which tries to implement a gaming environment for Kodi. The goal is to start, stop and play video games like you can currently play video files. Kodi-Game constist of several addons and subsystems which should be described on this page to minimize confusion. The current version based on Kodi 15alpha2 introduced a lot of changes for this reason information for 13.2 or previous versions you can find on the forum may not apply. Official repository is on github.
FAQ
Answers to some questions you may have.
Is it possible to support system X on platform Y
RetroPlayer uses libretro to emulate systems. The current support matrix can be found at Game add-ons:
Status on ported currently existing game client addons for the new Game API made available in Kodi Game branch.
These pages are maintained by the community, it only goes as far as fair use, and this should not be considered as an endorsement for copyright infringement. The information on this page might also contain errors or be outdated. It might also contain ants, and their antsy antics. * |
Lutris
Lutris is a game manager for GNU/Linux with support for most popular emulators, Wine and Steam. It can be integrated into Kodi with the Lutris-Kodi addon.
Libretro cores
- Main pages: Libretro and Porting Libretro cores to game add-ons
The Game API in the Kodi Game branch has a Libretro wrapper which is 1:1 compatibility with the libretro API, so all libretro cores are valid game add-ons. Libretro itself is a well defined interface to handle the communication between a frontend (Kodi with RetroPlayer) and an Emulator Core (e.g. nestopia).
Here is a list of Libretro cores, of which most already have been ported into game add-ons for Kodi, at least as an initial port, (you can see the status of each libretro core in the table below):
Libretro core | Platform emulated | Version | License * | Supports VFS | Supports Rewind | Requires GL | Status |
---|---|---|---|---|---|---|---|
2048 | 2048 Game Clone | 1.0.0.138 | Public Domain | yes | ? | no | done |
Test Core - 3D Engine | 3D Engine | 1.0.0.24 | GPLv3 | yes | ? | yes | done |
Sinclair - ZX 81 (EightyOne) | ZX81 | 1.0.0.25 | GPLv3 | yes | ? | no | done |
Atari - 5200 (a5200) | Atari 5200 | 2.0.2.13 | GPLv2 | yes | ? | no | done |
Atari - 5200 (Atari800) | Atari 5200 | 3.1.0.30 | GPLv2 | no | ? | no | done |
Nintendo - SNES / SFC (Beetle bsnes) | Super Nintendo Entertainment System | 0.9.26.29 | GPLv2 | no | ? | no | done |
Nintendo - Game Boy Advance (Beetle GBA) | Game Boy Advance | 0.9.36.29 | GPLv2 | yes | ? | no | done |
Atari - Lynx (Beetle Lynx) | Lynx | 1.24.0.51 | Zlib, GPLv2 | yes | ? | no | done |
SNK - Neo Geo Pocket / Color (Beetle NeoPop) | Neo Geo Pocket (Color) | 1.29.0.36 | GPLv2 | no | ? | no | done |
NEC - PC Engine / SuperGrafx / CD (Beetle PCE) | PC Engine/SuperGrafx/CD | 1.29.0.26 | GPLv2 | no | ? | no | done |
NEC - PC Engine / CD (Beetle PCE FAST) | PC Engine/PCE-CD | 1.31.0.46 | GPLv2 | no | ? | no | done |
NEC - PC-FX (Beetle PC-FX) | PC-FX | 0.9.36.39 | GPLv2 | no | ? | no | done |
Sony - PlayStation (Beetle PSX) | PlayStation | 0.9.44.58 | GPLv2 | no | ? | no | done |
Sony - PlayStation (Beetle PSX HW) | PlayStation | 0.9.44.9 | GPLv2 | no | ? | yes | done |
Sega - Saturn (Beetle Saturn) | Saturn | 1.29.0.45 | GPLv2 | no | ? | no | done |
NEC - PC Engine SuperGrafx (Beetle SuperGrafx) | PC Engine SuperGrafx | 1.29.0.42 | GPLv2 | no | ? | no | done |
Nintendo - Virtual Boy (Beetle VB) | Virtual Boy | 1.31.0.36 | GPLv2 | yes | ? | no | done |
Bandai - WonderSwan/Color (Beetle Cygne) | WonderSwan/Color | 0.9.35.44 | GPLv2 | yes | ? | no | done |
Elektronika - BK-0010/BK-0011(M) | BK-0010/BK-0011(M) | 1.0.0.27 | BSD | yes | ? | no | done |
Sega - Mega Drive - Genesis (BlastEm) | Sega Genesis | 0.6.3.29 | GPLv3 | yes | ? | no | done |
MSX/SVI/ColecoVision/SG-1000 (blueMSX) | MSX/SVI/ColecoVision/SG-1000 | 0.0.1.38 | GPLv2 | no | ? | no | done |
Nintendo - NES / Famicom (bnes) | Nintendo Entertainment System | 0.83.0.28 | GPLv3 | yes | ? | no | done |
Doom 3 (boom3) | Doom 3 Game Engine | 1.5.0.29 | GPLv2 | no | ? | yes | done |
Nintendo - SNES / SFC (bsnes) | Super Nintendo Entertainment System | 115.0.0.10 | GPLv3 | no | ? | no | done |
Nintendo - SNES / SFC (bsnes-hd beta) | Super Nintendo Entertainment System | 10.6.0.7 | GPLv3 | no | ? | no | done |
Nintendo - SNES / SFC (bsnes-mercury Accuracy) | Super Nintendo Entertainment System | 0.94.0.31 | GPLv3 | yes | ? | no | done |
Nintendo - SNES / SFC (bsnes-mercury Balanced) | Super Nintendo Entertainment System | 0.94.0.33 | GPLv3 | yes | ? | no | done |
Nintendo - SNES / SFC (bsnes-mercury Performance) | Super Nintendo Entertainment System | 0.94.0.33 | GPLv3 | yes | ? | no | done |
Nintendo - SNES / SFC (bsnes 2014 Accuracy) | Super Nintendo Entertainment System | 0.94.0.18 | GPLv3 | yes | ? | no | done |
Nintendo - SNES / SFC (bsnes 2014 Balanced) | Super Nintendo Entertainment System | 0.94.0.17 | GPLv3 | yes | ? | no | done |
Nintendo - SNES / SFC (bsnes 2014 Performance) | Super Nintendo Entertainment System | 0.94.0.18 | GPLv3 | yes | ? | no | done |
Cannonball | Outrun Game Engine | 0.0.1.33 | Non-commercial | no | ? | no | done |
Amstrad - CPC/GX4000 (Caprice32) | CPC/GX4000 | 4.5.3.38 | GPLv2 | no | ? | no | done |
ChaiLove | ChaiLove | 1.2.1.22 | MIT | no | ? | no | done |
Minecraft (Craft) | Minecraft Game Clone | 0.0.1.22 | MIT | yes | ? | yes | done |
Amstrad - CPC (CrocoDS) | CPC | 0.0.1.27 | MIT | yes | ? | no | done |
Arcade (Daphne) | Arcade (various) | 0.0.1.19 | GPLv2+ | no | ? | no | done |
Nintendo - DS (DeSmuME) | Nintendo DS | 0.0.1.30 | GPLv2 | no | ? | yes | done |
Nintendo - DS (DeSmuME 2015) | Nintendo DS | 0.0.1.22 | GPLv2 | no | ? | no | done |
Dinothawr | Dinothawr Game Engine | 1.0.0.36 | Non-commercial | no | ? | no | done |
Nintendo - GameCube / Wii (Dolphin) | GameCube / Wii | 2.0.0.24 | GPLv2+ | no | ? | yes | done |
DOS (DOSBox) | DOS | 0.74.0.27 | GPLv2 | no | ? | no | done |
DOS (DOSBox-Pure) | DOS | 0.9.8.28 | GPLv2 | no | ? | no | done |
Wolfenstein 3D (ECWolf) | Wolfenstein 3D Game Engine | 0.01.0.29 | BSD, LGPL | no | ? | no | done |
Enterprise - 64/128 (ep128emu) | 64/128 | 1.2.9.15 | GPLv2 | no | ? | no | done |
Arcade (FB Alpha 2012) | Arcade (various) | 0.2.97.31 | Non-commercial | no | ? | no | done |
Arcade (FB Alpha 2012 CPS-1) | CP System I | 0.2.97.22 | Non-commercial | no | ? | no | done |
Arcade (FB Alpha 2012 CPS-2) | CP System II | 0.2.97.22 | Non-commercial | no | ? | no | done |
Arcade (FB Alpha 2012 CPS-3) | CP System III | 0.2.97.17 | Non-commercial | no | ? | no | done |
Arcade (FB Alpha 2012 Neo Geo) | Neo Geo | 0.2.97.17 | Non-commercial | no | ? | no | done |
Arcade (FinalBurn Neo) | Arcade (various) | 1.0.0.73 | Non-commercial | no | ? | no | done |
Nintendo - NES / Famicom (FCEUmm) | Nintendo Entertainment System | 0.0.1.52 | GPLv2 | no | ? | no | done |
Sega - Dreamcast/Naomi (Flycast) | Sega Dreamcast | 0.1.0.57 | GPLv2 | no | ? | yes | done |
Microsoft - MSX (fMSX) | MSX | 6.0.0.39 | Non-commercial | no | ? | no | done |
Fairchild ChannelF (FreeChaF) | FreeChaF | 1.0.0.27 | GPLv3 | yes | ? | no | done |
Mattel - Intellivision (FreeIntv) | Intellivision | 1.2.0.27 | GPLv3 | no | ? | no | done |
Commodore - C64 (Frodo) | C64 | 0.0.1.28 | GPLv2 | no | ? | no | done |
Sinclair - ZX Spectrum (Fuse) | ZX Spectrum (various) | 1.6.0.36 | GPLv3 | yes | ? | no | done |
Galaksija (galaxy-libretro) | 0.1.0.10 | Public Domain | yes | ? | no | done | |
Nintendo - Game Boy / Color (Gambatte) | Game Boy/Game Boy Color | 0.5.0.49 | GPLv2 | yes | ? | no | done |
Nintendo - Game Boy / Color (Gearboy) | Game Boy/Game Boy Color | 3.4.1.19 | GPLv3 | yes | ? | no | done |
Coleco - ColecoVision (Gearcoleco) | ColecoVision | 1.0.1.10 | GPLv3 | yes | ? | no | done |
Sega - MS/GG/SG-1000 (Gearsystem) | Sega 8-bit (MS/GG/SG-1000) | 3.4.2.9 | GPLv3 | yes | ? | no | done |
Sega - MS/GG/MD/CD (Genesis Plus GX) | Sega 8/16-bit (Various) | 1.7.4.59 | Non-commercial | no | ? | no | done |
Sega - MS/GG/MD/CD (Genesis Plus GX Wide) | Sega 8/16-bit (Various) | 1.7.4.26 | Non-commercial | no | ? | no | done |
Gong | Pong Game Clone | 1.0.0.19 | GPL v3 | yes | ? | no | done |
Nintendo - Game Boy Advance (gpSP) | Game Boy Advance | 0.91.0.39 | GPLv2 | no | ? | no | done |
Handheld Electronic (GW) | Handheld Electronic | 1.6.3.30 | zlib | yes | ? | no | done |
Atari - Lynx (Handy) | Lynx | 0.97.0.39 | Zlib | no | ? | no | done |
Atari - ST/STE/TT/Falcon (Hatari) | Atari ST/STE/TT/Falcon | 1.8.0.37 | GPLv2 | no | ? | no | done |
Arcade (HBMAME) | Arcade (various) | 0.220.0.18 | GPLv2+ | no | ? | no | done |
Jump 'n Bump | 0.1.0.7 | GPLv2 | yes | ? | no | done | |
Sony - PlayStation 2 (LRPS2) | Sony PlayStation 2 | 1.7.0.8 | GPL | no | ? | yes | done |
Lua Engine (Lutro) | Lutro | 0.0.1.32 | MIT | no | ? | no | done |
Arcade (MAME - Current) | Arcade (various) | 0.251.0.18 | GPLv2+ | no | ? | no | done |
Arcade (MAME 2000) | Arcade (various) | 0.37.0.33 | MAME | no | ? | no | done |
Arcade (MAME 2003) | Arcade (various) | 0.78.0.55 | MAME | no | ? | no | done |
Arcade (MAME 2003 Midway) | Arcade (various) | 0.78.0.21 | MAME | no | ? | no | done |
Arcade (MAME 2003-Plus) | Arcade (various) | 0.0.1.78 | MAME Noncommercial | no | ? | no | done |
Arcade (MAME 2010) | Arcade (various) | 0.139.0.26 | MAME | no | ? | no | done |
Arcade (MAME 2015) | Arcade (various) | 0.160.0.26 | MAME | no | ? | no | done |
Arcade (MAME 2016) | Arcade (various) | 0.174.0.25 | GPLv2+ | no | ? | no | done |
Nintendo - DS (melonDS) | Nintendo DS | 0.9.3.39 | GPLv3 | yes | ? | yes | done |
NEC - PC-98 (Neko Project II) | PC-98 | 0.86.0.21 | MIT | no | ? | no | done |
Nintendo - NES / Famicom (Mesen) | Nintendo Entertainment System | 0.9.9.33 | GPLv3 | no | ? | no | done |
Nintendo - SNES / SFC / Game Boy / Color (Mesen-S) | Super Nintendo Entertainment System / Game Boy / Game Boy Color | 0.4.0.16 | GPLv3 | yes | ? | no | done |
Nintendo - Game Boy Advance (Meteor) | Game Boy Advance | 1.4.0.24 | GPLv3 | yes | ? | no | done |
Nintendo - Game Boy Advance (mGBA) | Game Boy/Game Boy Color/Game Boy Advance | 0.11.0.48 | MPLv2.0 | yes | ? | no | done |
Mac II (minivmac) | Mac68k | 0.0.1.7 | GPLv2 | no | ? | no | done |
Moonlight | Moonlight | 1.0.3.5 | GPLv3 | yes | ? | yes | done |
Mr.Boom (Bomberman) | Mr.Boom | 5.3.0.155 | MIT | yes | ? | no | done |
Palm OS (Mu) | Palm OS | 1.3.1.27 | CC BY-NC 3.0 US (Non-commercial) | no | ? | no | done |
Nintendo - Nintendo 64 (Mupen64Plus-Next) | Nintendo 64 | 2.5.0.42 | GPLv2 | yes | ? | yes | done |
SNK - Neo Geo CD (NeoCD) | SNK Neo Geo CD | 20.22.0.20 | LGPLv3 | no | ? | no | done |
Nintendo - NES / Famicom (Nestopia UE) | Nintendo Entertainment System | 1.52.0.42 | GPLv2 | yes | ? | no | done |
Cave Story (NXEngine) | Cave Story Game Engine | 1.0.0.38 | GPLv3 | no | ? | no | done |
Magnavox - Odyssey2 / Philips Videopac+ (O2EM) | Magnavox Odyssey2 / Philips Videopac+ | 1.18.0.44 | Artistic License | yes | ? | no | done |
Oberon RISC Emulator | Oberon RISC machine | 0.0.1.18 | ISC | no | ? | no | done |
Tomb Raider (OpenLara) | Classic Tomb Raider engine | 1.0.0.18 | 2-clause BSD | no | ? | yes | done |
The 3DO Company - 3DO (Opera) | 3DO | 1.0.0.38 | LGPL/Non-commercial | no | ? | no | done |
Nintendo - Nintendo 64 (ParaLLEl N64) | Nintendo 64 | 0.2.0.33 | GPLv2 | yes | ? | yes | done |
Nintendo - Nintendo 64 (ParaLLEl N64) | Nintendo 64 | 0.2.0.18 | GPLv2 | yes | ? | yes | done |
PC (PCem) | PC | 12.0.0.21 | GPLv2 | yes | ? | no | done |
Sony - PlayStation (PCSX ReARMed) | PlayStation | 23.0.0.53 | GPLv2 | no | ? | no | done |
Sega - MS/GG/MD/CD/32X (PicoDrive) | Sega 8/16-bit + 32X (Various) | 2.00.0.43 | MAME | no | ? | no | done |
PocketCDG | Music | 0.0.1.28 | MIT | yes | ? | no | done |
Nintendo - Pokemon Mini (PokeMini) | Pokemon Mini | 0.60.0.38 | GPLv3 | yes | ? | no | done |
Watara - Supervision (Potator) | Supervision | 1.0.5.19 | Public Domain | yes | ? | no | done |
Sony - PlayStation Portable (PPSSPP) | PSP | 0.0.1.24 | GPLv2 | no | ? | yes | done |
Doom (PrBoom) | DOOM Game Engine | 2.5.0.46 | GPLv2 | no | ? | no | done |
Atari - 7800 (ProSystem) | Atari 7800 | 1.3.0.40 | GPLv2 | yes | ? | no | done |
Sharp - X68000 (PX68k) | Sharp X68000 | 0.15.0.26 | Custom Non-Commercial | no | ? | no | done |
NEC - PC-8000 / PC-8800 series (QUASI88) | PC-8000 / PC-8800 series | 0.6.4.31 | BSD 3-Clause and MAME non-commercial | yes | ? | no | done |
Nintendo - NES / Famicom (QuickNES) | Nintendo Entertainment System | 1.0.0.41 | LGPLv2.1+ | yes | ? | no | done |
SNK - Neo Geo Pocket / Color (RACE) | Neo Geo Pocket (Color) | 2.16.0.27 | GPLv2 | no | ? | no | done |
Redbook Audio Player | Redbook | 1.0.0.7 | Apache 2.0 | no | ? | no | done |
Flashback (REminiscence) | Flashback Game Engine | 0.3.6.23 | GPLv3 | no | ? | no | done |
PSP RemotePlay (RemoteJoy) | 1.0.0.19 | GPLv2 | yes | ? | no | done | |
PICO-8 (Retro8) | PICO8 | 0.1.0.22 | GPLv3 | yes | ? | no | done |
Philips - CDi (SAME CDi) | CD-i | 0.239.0.10 | GPLv2+ | no | ? | no | done |
Nintendo - Game Boy / Color (SameBoy) | Game Boy/Game Boy Color | 0.15.4.39 | MIT | yes | ? | no | done |
ScummVM | Game engine | 2.7.0.38 | GPLv3 | no | ? | no | done |
Sega - MS/GG (SMS Plus GX) | Sega 8-bit | 1.8.0.29 | GPLv2 | yes | ? | no | done |
Nintendo - SNES / SFC (Snes9x) | Super Nintendo Entertainment System | 1.62.3.47 | Non-commercial | yes | ? | no | done |
Nintendo - SNES / SFC (Snes9x 2002) | Super Nintendo Entertainment System | 7.2.0.40 | Non-commercial | yes | ? | no | done |
Nintendo - SNES / SFC (Snes9x 2010) | Super Nintendo Entertainment System | 1.52.4.40 | Non-commercial | yes | ? | no | done |
Atari - 2600 (Stella) | Atari 2600 | 7.0.0.48 | GPLv2 | yes | ? | no | done |
Nintendo - SNES / SFC (Beetle Supafaust) | Super Nintendo Entertainment System | 1.29.0.27 | GPLv2+ | yes | ? | no | done |
Sony - PlayStation (SwanStation) | PlayStation | 1.0.0.27 | GPLv3 | no | ? | no | done |
Nintendo - Game Boy / Color (TGB Dual) | Game Boy/Game Boy Color | 0.8.3.33 | GPLv2 | yes | ? | no | done |
Thomson - MO/TO (Theodore) | Thomson MO/TO | 0.0.1.33 | GPLv3 | no | ? | no | done |
The Powder Toy | Physics Toy | 92.5.336.30 | GPLv3 | yes | ? | no | done |
Quake (TyrQuake) | Quake Game Engine | 0.62.0.41 | GPLv2 | no | ? | no | done |
Commodore - Amiga (PUAE) | Amiga | 5.0.0.69 | GPLv2 | no | ? | no | done |
Commodore - Amiga (UAE4ARM) | Amiga | 0.5.0.5 | GPLv2 | no | ? | no | done |
Uzebox (Uzem) | Uzebox | 2.0.0.25 | MIT | yes | ? | no | done |
Nintendo - Game Boy Advance (VBA Next) | Game Boy Advance | 1.0.2.33 | GPLv2 | yes | ? | no | done |
Nintendo - Game Boy Advance (VBA-M) | Game Boy/Game Boy Color/Game Boy Advance | 2.1.7.42 | GPLv2 | yes | ? | no | done |
GCE - Vectrex (vecx) | Vectrex | 1.2.0.39 | GPLv3 | yes | ? | yes | done |
VeMUlator | SEGA Visual Memory Unit | 0.1.0.16 | GPL v3 | no | ? | no | done |
Commodore - C128 (VICE x128) | C128 | 3.7.0.15 | GPLv2 | no | ? | no | done |
Commodore - C64 (VICE x64, fast) | C64 | 3.7.0.53 | GPLv2 | no | ? | no | done |
Commodore - C64DTV (VICE x64dtv) | C64DTV | 3.7.0.16 | GPLv2 | no | ? | no | done |
Commodore - C64 (VICE x64sc, accurate) | C64 | 3.7.0.15 | GPLv2 | no | ? | no | done |
Commodore - CBM-II 6x0/7x0 (VICE xcbm2) | CBM-II | 3.7.0.15 | GPLv2 | no | ? | no | done |
Commodore - CBM-II 5x0 (VICE xcbm5x0) | CBM-5x0 | 3.7.0.16 | GPLv2 | no | ? | no | done |
Commodore - PET (VICE xpet) | PET | 3.7.0.16 | GPLv2 | no | ? | no | done |
Commodore - PLUS/4 (VICE xplus4) | PLUS/4 | 3.7.0.17 | GPLv2 | no | ? | no | done |
Commodore - C64 SuperCPU (VICE xscpu64) | C64 SuperCPU | 3.7.0.16 | GPLv2 | no | ? | no | done |
Commodore - VIC-20 (VICE xvic) | VIC-20 | 3.7.0.16 | GPLv2 | no | ? | no | done |
Atari - Jaguar (Virtual Jaguar) | Jaguar | 2.1.0.39 | GPLv3 | yes | ? | no | done |
Sharp X1 (X Millennium) | Sharp X1 | 0.60.0.32 | BSD | no | ? | no | done |
Rick Dangerous (XRick) | Rick Dangerous Game Engine | 0.21212.0.37 | GPLv3 | no | ? | no | done |
Sega - Saturn (YabaSanshiro) | Saturn | 3.4.2.1 | GPLv2 | no | ? | yes | done |
Sega - Saturn (Yabause) | Saturn | 0.9.15.52 | GPLv2 | no | ? | no | done |
* License is GPLv2 compatible
If something in the core matrix needs to be changed, leave a message in the forum.
BIOS requirements
Some libretro cores require BIOS files to work, and those BIOSes must be placed in the system folder (with each BIOS being a binary file). For now you will need to find those BIOS files by yourself and and copy them to your system yourself as it may not be fully legal for Team-Kodi to provide them bundled with each libretro core that needs them. The reason for this is that these BIOSes are usually considered to be in an legal gray-zone and can be a little difficult to aquire, at least legally. For example, since all PlayStation emulators, like Beetle PSX & PCSX ReARMed, require a closed source BIOS file to work, and its BIOS file must be placed in the system folder on your emulator software (libretro cores in this case).
- See: https://github.com/libretro/Lakka/wiki/BIOSes and and http://www.lakka.tv/doc/Accessing-Lakka-filesystem/ (or see: http://github.com/libretro/Lakka/wiki/ROMs-and-BIOSes ). You should find the most up-to-date information here https://github.com/libretro/libretro-super/tree/master/dist/info and here https://github.com/libretro/libretro-database/blob/master/dat/BIOS%20-%20Merged.dat
BIOS requirement table
The table below lists all the required BIOSes which some emulators requires for each each emulated system, so if a systems BIOS is not listed here then it means that it should not require a BIOS file.
Warning! Linux is a case sensitive system. Please name BIOS files exactly according to this table. |
System | BIOS file | MD5 | Comment | |
---|---|---|---|---|
3DO - 3DO | panafz10.bin | 51f2f43ae2f3508a14d9f56597e2d3ce | ||
Atari - 7800 | 7800 BIOS (U).rom | 0763f1ffb006ddbe32e52d497ee848ae | ||
Atari - Lynx | lynxboot.img | FCD403DB69F54290B51035D82F835E7B | ||
Final Burn Alpha | BIOS goes next to the ROMs | |||
DOOM | BIOS goes next to the ROMs | |||
Magnavox - Odyssey2 | o2rom.bin | 562d5ebf9e030a40d6fabfc2f33139fd | ||
MAME 2003 | BIOS goes next to the ROMs | |||
NEC - PC Engine - TurboGrafx 16 | syscard3.pce | 0754f903b52e3b3342202bdafb13efa5 | ||
NEC - PC-FX | pcfx.rom | 08e36edbea28a017f79f8d4f7ff9b6d7 | ||
Nintendo - Famicom Disk System | disksys.rom | ca30b50f880eb660a320674ed365ef7a | ||
Nintendo - Game Boy Advance | gba_bios.bin | a860e8c0b6d573d191e4ec7db1b1e4f6 | ||
Phillips - Videopac+ | o2rom.bin ? | Same as Magnavox Oddessy2? | ||
Sega - Dreamcast | dc_boot.bin | e10c53c2f8b90bab96ead2d368858623 | Goes under system/dc/ | |
Sega - Dreamcast | dc_flash.bin | 0a93f7940c455905bea6e392dfde92a4 | Goes under system/dc/ | |
Sega - Mega Drive - Genesis | bios_CD_J.bin | 278a9397d192149e84e820ac621a8edd | Japan | |
Sega - Mega Drive - Genesis | bios_CD_U.bin | 2efd74e3232ff260e371b99f84024f7f | USA | |
Sega - Mega Drive - Genesis | bios_CD_E.bin | e66fa1dc5820d254611fdcdba0662372 | Europe | |
Sega - Saturn | saturn_bios.bin | f273555d7d91e8a5a6bfd9bcf066331c | ||
Sony - PlayStation | scph5500.bin | 8dd7d5296a650fac7319bce665a6a53c | Japan | |
Sony - PlayStation | scph5501.bin | 490f666e1afb15b7362b406ed1cea246 | USA (Can be renamed from scph7003.bin) | |
Sony - PlayStation | scph5502.bin | 32736f17079d0b2b7024407c39bd3050 | Europe | |
Sony - PlayStation Portable | ppge_atlas.zim | a93fc411c1ce7d001a2a812643c70085 | Goes under system/PPSSPP/ |
- Note that most of these BIOSes are not reverse engineered releases but binary ROMs ripped from the EEPROM inside of an actual game console system hardware, so they are proprietary binary blobs (precompiled software binaries) which might still be under copyright depending on the console age and origins. It may be that some of those BIOSes can be seen as fair use since these game consoles are no longer sold and there is probably no commercial value in them, but that is something that the XBMC Foundation needs to talk about with attorneys before being able to distributing such BIOS files as resource add-ons or bundled with each libretro core in an official repository.
What is a BIOS?
A BIOS (Basic Input Output System) is the startup code of a system and is required for certain emulators to work.
Where do I place the BIOS files?
You will need to place them into the System Directory (linux example for pcsx bios files: ~/.kodi/userdata/addon_data/game.libretro.pcsx-rearmed/resources/system/ ).
Alternatively, you can place the into your Content Directory next to the game you are going to play.
Remember, since Linux is a case sensitive system, you have to rename the BIOS files according to this table so that the libretro cores will be able to find the BIOS files.
Why isn’t my BIOS working?
- Make sure the BIOS files are placed into the correct directory (see above).
- Make sure they are named correctly so the core can identify them.
- Make sure it’s the correct version/region of a BIOS.
- Make sure your files are not corrupted (bad source, broken download, etc.).
- Make sure to check the log for any errors.
FAQ
Beetle PSX
Controller not working in some games?
Some PSX games don't recognize correctly Analog PSX controller. To solve the issue go to Setting > Adavanced Settings and disable "DualShock Analog button toggle" setting. Your Gamepad should be then recognized correctly.
See also
- Gaming in Kodi - Index of game related articles
- Game management - A guide to managing game files for and in Kodi
- Game playback controls - A guide that describes the player controls and menus for gaming in Kodi
- Game controllers - Guides for configuring gamepads and jooystick controllers in Kodi
- Game add-ons
- Game development - A guide to developing games for Kodi
- Compiling Kodi with RetroPlayer
- Compiling existing game add-ons
- Game management - A guide to managing game files for and in Kodi
Return to top |
---|
mupen64plus (n64) is not working
Mupen64plus and some other emulators (PSP, Dolphin) requires OpenGL / OpenGL ES rendering extensions to libretro which is currently not implemented in the current upstream kodi-game branch. See a1rwulf's repository for his "retrogl" implementations if you would like to help the work being done for these systems.
End-users (non-programmers)
You are probably reading this because you would like to download a finished Kodi application or complete OpenELEC image with nice out-of-the-box experience. We are sorry but such build does not yet exist at the moment. This page will be updated with links to available builds if and when such release become available.
You can help still help if you are a more experienced computer user and are able to compile Kodi-Game branch yourself, please see the developers sections below. Also, spread the word about this project to your friends and family, we are sure they will enjoy it too as it matures.
Developers (programmers)
If you are a C/C++ developer and like to help then great! Please checkout the Compiling Kodi-Game article to get started. Currently this build instruction is for Linux operating-systems on x86/x86-64 based hardware only.
You should be proficient in C/C++ programming language, and although not really required knowledge of OpenGL or other multimedia programming is a plus, as well as prior cross-platform or porting development experience.
Who is who
RetroPlayer
Project name for all infrastructure changes which need to be made in the Kodi source code and cannot be delivered as addons. This work also includes a highly modified input system ready for gaming requirements
Libretro
A well defined interface to handle the communication between a frontend (Kodi with RetroPlayer) and an Emulator Core (e.g. nestopia).
Emulator Core
An Emulator Core does the actual work of emulating a system. Due to the Libretro interface it is possible to re-use good working and well tested emulators for the RetroPlayer platform. Every emulator that supports libretro can easily be integrated.
Input addon
An input addon is used to map the buttons/axis on your physical input device, to the buttons/axis of your virtual system. This is necessary because different retro systems usually have different button layouts. (game.controller.<platform>)
Subsystem Architecture
- Game API - ?
- Game Client Addons - ?
- Libretro Wrapper - ?
- Hardware API - ?
- Peripheral API - ?
- Peripheral Add-ons - ?
- Peripheral Buses - ?
- Input Library - ?
- Media Readers API - ?
- Input API - ?
- Peripheral API - ?
- RetroPlayer - ?
Architecture development discussions:
- Fitting RetroPlayer into Kodi
- Peripheral Input Documentation
- Porting Libretro cores to Kodi
- New input API discussion
Game add-ons
- See: Game add-ons
Communication:
- freenode irc: #kodi-game
- kodi forum: http://forum.kodi.tv/forumdisplay.php?fid=194
See also
External Links
- ?