Plugins in PPSSPP

PPSSPP doesn't support traditional PSP plugins, because those often have a far too tight relationship to the PSP OS kernel to work in an emulator that only pretends the kernel is there.

However, PPSSPP now supports plugins specifically made for the emulator.

These will in the future be available to download and activate directly from the app, but for now, they're still a bit obscure both in discovery in usage.

Installing a plugin

Copy it to PSP/PLUGINS in your memory stick directory.

Save States

Plugins are compatible with save states, but updating/removing plugins will not affect the save state. While using plugins, prefer using in-game saves whenever possible.

Dual Analog Support

Some plugins might add second analog stick support, in order to fully take advantage of this feature, second analog stick needs to be configured in the controls menu.

Available plugins

ThirteenAG's plugins

Multiple plugins are available here, for GTA, Splinter Cell and The Warriors. They add ultra-widescreen fixes, framerate improvements and more.

ThirteenAG's plugins

ermaccer's plugins

Plugin for Mortal Kombat Unchained

Censorship plugin for Manhunt 2

Debug/Cheats menu plugin for Manhunt 2

Freakler's Plugins

ppsspp-GTARemastered (second analog stick support for GTA games)

Cheat Device Remastered

Katie's plugins

RemasteredControls_GTpsp provides better controls for Gran Turismo PSP (analog throttle and brake, removed deadzone). Best used with the latest builds of PPSSPP or with 1.17 when it arrives, due to a deadzone problem with XInput. Compatible with the following versions of the game:

  • EU v2.00 (UCES01245 2.00)
  • US v2.00 (UCUS98632 2.00)
  • JP v1.01 (UCJS10100 1.01)
  • ASIA v1.00 (UCAS40265 1.00)

Creating plugins

There are no official instructions, but the below resource can help.

These instructions are from the original pull request by [Unknown].

PSPModeBase is a code base for making plugins.

Basic setup

  1. Create a plugin directory inside PSP/PLUGINS/, i.e. PSP/PLUGINS/mycrisiscoretranslation/.
  2. Add an ini file, such as:
version = 1
type = prx
filename = patch.prx

; Always specify games to indicate what games are supported.
; Normal usage: specify game IDs that are supported.
ULJM05275 = true
; Advanced usage: specify another ini to use a separate prx for a certain game ID.
; (in most cases, you won't use this.)
ULES01048 = spanish.ini
; General plugins for any game: use ALL to indicate all game IDs.
ALL = true

; Optional, specify ini for another prx for specific user interface languages.
; (in most cases, you won't use this.)
hr_HR = croatian.ini

Create and compile your plugin, in this case named patch.prx using the pspsdk, and it'll be loaded. However, you cannot use many kernel or HEN functions, since they don't work in PPSSPP. The internal architecture is different. You can however call the same functions games can call, update RAM, etc.

Additional ini options

You can use memory = 64 under [options] to allocate more RAM, up to 93 MB due to memory map limitations. Beware this gives the game overall more RAM, and may affect cheats and memory management in the game.

Under [games], you can use ULJM05275 = foo.ini to allow your plugin to use a different prx for different game IDs, i.e. multidisc games. true is the same as using plugin.ini, in other words use [options] in the same file. ALL = true or ALL = otherfile.ini can also be used to apply to all games. seplugins won't work, because HEN/kernel funcs are not supported.

You can also add [lang] and put something like se_SE = swedish.ini. This allows you to load a prx just for a user's specific language. This can be in addition to, or instead of, a main plugin.

Future plans

  • More plugins will be listed here
  • Downloads will be available directly from the app