PlayStation PSP Compilation / Development Guide

Environment configuration

You need the homebrew PlayStation PSP SDK and toolchain installed.

RetroArch Compilation

Fetching RetroArch

Clone RetroArch's repository from GitHub

1
2
git clone https://github.com/libretro/RetroArch.git retroarch
cd retroarch

For subsequent builds you only need to pull the changes from the repo

1
2
cd retroarch
git pull

To update your local copy from the repository run git pull

Building RetroArch separately

First, you need to compile 'Salamander'. To compile Salamander (for PlayStation Portable) run:

1
make -f Makefile.psp1.salamander

Second, to compile RetroArch (for PlayStation Portable) run:

1
make -f Makefile.psp1

Note

RetroArch on PlayStation PSP is statically linked. With statically linked RetroArch, each executable is a separate libretro core instead of the core being separately loaded from a single executable. A pre-existing libretro library needs to be present in the root directory in order to link RetroArch Vita. This file needs to be called 'libretro_psp1.a'.

After a few seconds/minutes you should be able to find a retroarch_psp1.elf and retroarch_psp1.self file under that directory.

Building RetroArch in bulk

Instead of building each core one by one, you can build all cores as a batch task. Run from the main 'retroarch' directory:

1
cd dist-scripts

Note

Make sure that all the libretro cores that you want to compile are inside the 'dist-scripts' directory.

Once inside this directory, run :

1
./dist-cores.sh psp1

This process will also automate the packaging process for you.

Packaging RetroArch

Additional Tips:

Core Compilation

Fetching Cores

The easiest way to fetch all the cores is to use libretro-super. Run

1
./libretro-fetch.sh

Building Cores

The easiest way to build all the cores (for PlayStation Portable) is to use libretro-super. Run

1
./libretro-build-psp1.sh

In case you only want to build one and/or more cores instead of all, you can specify the cores you want to build after the first command in no particular order. E.g.:

1
./libretro-build-psp1.sh snes9x2010 fceumm

Once finished, you can find the libretro cores inside directory dist/psp1.