PPSSPP (an acronym for "PlayStation Portable Simulator Suitable for Playing Portably") is a free and open-source PSP emulator for Windows, macOS, Linux, iOS, Android, BlackBerry 10 and Symbian with an increased focus on speed and portability. It was first released to the public on November 1, 2012, licensed under the GNU GPLv2 or later. The PPSSPP project was created by Henrik Rydgård, one of the co-founders of the Dolphin emulator.
Features and development
PPSSPP supports save states, dynamic recompilation (JIT) and has rudimentary support of ad hoc wireless networking. To decode PSP multimedia data PPSSPP uses the FFmpeg software library, which was enhanced to enable it to handle Sony's proprietary ATRAC3plus audio format as used by the PSP. PPSSPP offers graphical features that are enhancements over the PSP's capabilities, such as higher screen resolutions, antialiasing, image scaling, support for shaders, and linear and anisotropic filtering.
The ports of PPSSPP for mobile devices offer additional features specific to each platform, such as 'immersive mode' for Android devices, support of the multimedia buttons within Symbian devices and screen stretching on BlackBerry 10 devices to support square screens. All ports of PPSSPP for mobile devices support the use of accelerometers, keyboards and gamepads as input devices.
Since its inception, PPSSPP has had a focus on portability with support for multiple architectures and operating systems. While initially only supporting Microsoft Windows and Android, this quickly grew to include Blackberry 10, Symbian, macOS, Linux and later iOS. The source code also unofficially supports a wide variety of operating systems and platforms, including Raspberry Pi, Loongson, Maemo, Meego Harmattan and Pandora. There was at one stage a port for Xbox 360. Although the port was abandoned, the support code remains, offering support for big-endian CPUs and DirectX compatible GPUs.
To aid with the portability two cross-platform development libraries, SDL and Qt, are able to be used in addition to the non-portable Blackberry, Android and Win32 interfaces. The Qt frontend was instrumental in adding support for platforms such as Symbian. The Qt frontend is able to support all officially supported platforms and is the suggested alternative if no native interface exists.
More than 900 games are playable, while an additional 116 games load to some frame of in-game state. 47 games can only reach the main menu or introduction sequence.