MCPcopy Create free account
hub / github.com/RetroAchievements/RALibretro

github.com/RetroAchievements/RALibretro @1.8.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.8.3 ↗ · + Follow
1,430 symbols 2,819 edges 73 files 73 documented · 5% updated 20d ago1.8.3 · 2026-03-07★ 25039 open issues

Browse by type

Functions 1,101 Types & classes 329
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

RALibretro

RALibretro is a multi-emulator that can be used to develop RetroAchievements and, of course, earn them.

The "multi-emulation" feature is only possible because it uses libretro cores to do the actual emulation. What RALibretro does is to connect the emulation to the tools used to create RetroAchievements.

The integration with RetroAchievements.org site is done by the RAIntegration.

Building RALibretro with MSYS2/Makefile

Install MSYS2

  1. Go to http://www.msys2.org/ and download the 32 bit version.
  2. Follow the installation instructions on the site http://www.msys2.org/.
  3. When on the prompt for the first time, run pacman -Syu (NOTE: at the end of this command it will ask you to close the terminal window without going back to the prompt.)
  4. Launch the MSYS2 terminal again and run pacman -Su

Install the toolchain

$ pacman -S make git zip mingw-w64-i686-gcc mingw-w64-i686-SDL2 mingw-w64-i686-gcc-libs

Clone the repo

$ git clone --recursive --depth 1 https://github.com/RetroAchievements/RALibretro.git

Build

$ cd RALibretro
$ make

NOTE: use make for a release build or make DEBUG=1 for a debug build. Don't forget to run make clean first if switching between a release build and a debug build.

Building RALibretro with Visual Studio

Clone the repo

> git clone --recursive --depth 1 https://github.com/RetroAchievements/RALibretro.git

Build

Load RALibretro.sln in Visual Studio and build it.

Command Line Arguments

Argument Description
-c [--core] the core's name, e.g. --core picodrive_libretro
-s [--system] the system id, see ConsoleID in RAInterface/RA_Consoles.h, e.g. --system 1
-g [--game] full path to the game's file, e.g. --game "C:\ROMS\GEN\Demons Of Asteborg Demo.gen"

In order to run a game on startup, provide the core, system and game, e.g.:

RALibretro.exe --core picodrive_libretro --system 1 --game "C:\ROMS\GEN\Demons Of Asteborg Demo.gen"

Core symbols most depended-on inside this repo

Shape

Method 600
Function 501
Class 267
Enum 62

Languages

C++97%
C3%

Modules by API surface

src/libretro/Core.cpp225 symbols
src/stb_image.h207 symbols
src/libretro/libretro.h94 symbols
src/Gl.cpp65 symbols
src/Memory.cpp61 symbols
src/Application.cpp60 symbols
src/libretro/Core.h48 symbols
src/stb_image_write.h45 symbols
src/speex/resample.c41 symbols
src/KeyBinds.cpp40 symbols
src/components/Video.cpp36 symbols
src/Util.cpp34 symbols

For agents

$ claude mcp add RALibretro \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page