For reference: GStreamer looks like an article on an API to me. We may be able to grab some ideas on how it should look from there. (This note should be removed when moving to article space, of course.)
Libretro
Written inC++, C
Operating systemGNU/Linux, Android, iOS, FreeBSD, OS X, Windows
TypeApplication programming interface
LicenseMIT License
Websitewww.libretro.com

Libretro is a free and open source API, which is licensed under the MIT License.

It specifies how to write a library, called libretro core, so that it can be loaded by a frontend, like RetroArch. The frontend then manages video, audio and input. Because you only have to port the core that handles video, audio and input it is widely used for game emulation, because of the portability

Other projects that implement the libretro API include XBMC[1] and Arcan[2].

It is important to note that neither Libretro nor RetroArch is a game emulator, even though the API is mostly used for gaming as of now.

RetroArch

edit

RetroArch is a free and open source reference implementation of the libretro API. RetroArch has been ported to various platforms and runs on Microsoft Windows, OS X, GNU/Linux, Android[3][4][5][6], iOS (jailbroken), Blackberry 10[7], Raspberry Pi, OpenPandora, PlayStation 3, Xbox, Xbox 360, GameCube, and Nintendo Wii. It is described as a modular multi-system emulator/game system that is designed to be fast, lightweight, and portable.[8]

Console emulation cores

edit

The following table constitutes a non-exhaustive list of console emulation cores currently maintained and supported side by side with the original codebase used.

System Based on code from
PlayStation 1 PCSX ReARMed, Mednafen PSX
Nintendo Entertainment System FCEUmm, Nestopia, QuickNES, bnes
Super Nintendo SNES9x, SNES9X Next, bsnes
Game Boy/Game Boy Color Gambatte, TGB Dual
Game Boy Advance VBA Next, Mednafen GBA, Meteor
SEGA Genesis/Mega Drive Genesis Plus GX
SEGA CD/Mega CD Genesis Plus GX
SEGA Master System/SEGA Game Gear Genesis Plus GX
Arcade MAME [0.78], Final Burn Alpha
Virtual Boy Mednafen VB
PC Engine/PC Engine CD Mednafen PCE Fast
Neo Geo Pocket Color Mednafen NGP
Wonderswan Color/SwanCrystal Mednafen WonderSwan

Game cores

edit

RetroArch supports as well games natively written for its libretro API and other popular games ported to its API thanks to the source code availability.

Game Based on code from
DOOM engine Prboom
Cave Story NX Engine (heavily modified)
Quake TyrQuake

WIP cores

edit

The following emulation cores are currently a work-in-progress.

System Based on code from
Atari 2600 Stella
Nintendo DS DeSmuME
Nintendo Entertainment System QuickNES
LucasArts Adventure ScummVM
MS-DOS DOSBox

Other cores

edit
Function Based on code from
Video Player (software) FFmpeg[9]
edit
  1. ^ "RetroPlayer Subforum on the xbmc forum".
  2. ^ "Arcan SourceForge Page".
  3. ^ "30 best Android apps this week". www.guardian.co.uk. February 1, 2013.
  4. ^ "RetroArch: Android Apps on Google Play". play.google.com. May 8, 2013.
  5. ^ "Getting to grips with Android emulator app RetroArch - One emulator to rule them all - but is it any good?". pocketgamer.com. February 6, 2013.
  6. ^ "RetroArch Emulates Nearly Every Classic Gaming Console on Android". lifehacker.com. March 6, 2013.
  7. ^ "How to play your favorite old school console games on your BlackBerry 10 phone or BlackBerry PlayBook". crackberry.com. June 3, 2013.
  8. ^ themaister.net/retroarch.html
  9. ^ "FFmeg Core on GitHub". June 16, 2013.

{{Nintendo emulators}}

Category:Nintendo Entertainment System emulators Category:Super Nintendo Entertainment System emulators Category:Game Boy emulators Category:Game Boy Advance emulators Category:Sega Genesis emulators Category:Sega Master System emulators Category:PlayStation emulators Category:TurboGrafx-16 emulators Category:Arcade video game emulators Category:Free and open-source Android software Category:Android games Category:Android emulation software