PPSSPP

Last updated
PPSSPP
Original author(s) Henrik Rydgård (a.k.a. hrydgard)
Developer(s) PPSSPP Team
Initial releaseNovember 1, 2012;11 years ago (2012-11-01)
Stable release
V1.17.1 / February 4, 2024;46 days ago (2024-02-04) [1]
Repository
Written in C++, C [2]
Operating system Windows, macOS, Linux, Xbox Series X/S, iOS, Android, BlackBerry 10, Symbian, Pandora (Console), Wii U
Platform IA-32, x86-64, ARM, ARM64
Size 16.1 MB: Windows 32-bit
17.8 MB: Windows 64-bit
19.7 MB: macOS 64-bit
28.2 MB: Android
10.0 MB: BlackBerry 10
9.2 MB: Symbian
44.7 MB: Source code
Available in
Type Video game console emulator
License GNU GPLv2+
Website www.ppsspp.org   OOjs UI icon edit-ltr-progressive.svg

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, Nintendo WiiU, Nintendo Switch, BlackBerry 10, MeeGo, Pandora, Xbox Series X/S [3] and Symbian with an increased focus on speed and portability. [4] 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. [5]

Contents

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.

PPSSPP also supports the Vulkan API, which was added in v1.5.4 release and is intended to provide a substantial performance boost on supported devices. [6]

Portability

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. [7] [8] [9] The source code also unofficially supports a wide variety of operating systems and platforms, including Raspberry Pi, Loongson, Maemo, Universal Windows Platform (Microsoft Windows 10 Mobile, Xbox One, Microsoft Windows 10 (X86_32, X86_64, ARM and ARM64)), Meego Harmattan and Pandora. [10] There was at one stage a port for Xbox 360. [11] 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. [12] The Qt frontend is able to support all officially supported platforms and is the suggested alternative if no native interface exists. [13]

As of March 2017, 984 games are playable in PPSSPP, while 67 games load to some frame of in-game state. 4 games can only reach the main menu or introduction sequence. [14] As of July 2020, almost all games are playable in PPSSPP emulator. [15]

See also

Related Research Articles

<span class="mw-page-title-main">Executable and Linkable Format</span> Standard file format for executables, object code, shared libraries, and core dumps.

In computing, the Executable and Linkable Format, is a common standard file format for executable files, object code, shared libraries, and core dumps. First published in the specification for the application binary interface (ABI) of the Unix operating system version named System V Release 4 (SVR4), and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems. In 1999, it was chosen as the standard binary file format for Unix and Unix-like systems on x86 processors by the 86open project.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

A computing platform, digital platform, or software platform is an environment in which software is executed. It may be the hardware or the operating system (OS), a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed using the services provided by the platform. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries. A computing platform is the stage on which computer programs can run.

In computer science, dynamic recompilation is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. By compiling during execution, the system can tailor the generated code to reflect the program's run-time environment, and potentially produce more efficient code by exploiting information that is not available to a traditional static compiler.

Qt Extended is an application platform for embedded Linux-based mobile computing devices such as personal digital assistants, video projectors and mobile phones. It was initially developed by The Qt Company, at the time known as Qt Software and a subsidiary of Nokia. When they cancelled the project the free software portion of it was forked by the community and given the name Qt Extended Improved. The QtMoko Debian-based distribution is the natural successor to these projects as continued by the efforts of the Openmoko community.

In software engineering, a compatibility layer is an interface that allows binaries for a legacy or foreign system to run on a host system. This translates system calls for the foreign system into native system calls for the host system. With some libraries for the foreign system, this will often be sufficient to run foreign binaries on the host system. A hardware compatibility layer consists of tools that allow hardware emulation.

<span class="mw-page-title-main">Kodi (software)</span> Free software media player

Kodi is a free and open-source media player and technology convergence software application developed by the Kodi Foundation, a non-profit technology consortium. Kodi is available for multiple operating systems and hardware platforms, with a software 10-foot user interface for use with televisions and remote controls. It allows users to play and view most streaming media, such as videos, music, podcasts, and videos from the Internet, as well as all common digital media files from local and network storage media, or TV gateway viewer.

<span class="mw-page-title-main">OpenGL ES</span> Subset of the OpenGL API for embedded systems

OpenGL for Embedded Systems is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerated using a graphics processing unit (GPU). It is designed for embedded systems like smartphones, tablet computers, video game consoles and PDAs. OpenGL ES is the "most widely deployed 3D graphics API in history".

<span class="mw-page-title-main">OpenSceneGraph</span>

OpenSceneGraph is an open-source 3D graphics application programming interface, used by application developers in fields such as visual simulation, computer games, virtual reality, scientific visualization and modeling.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another.

Core fonts for the Web was a project started by Microsoft in 1996 to create a standard pack of fonts for the World Wide Web. It included the proprietary fonts Andalé Mono, Arial, Arial Black, Comic Sans MS, Courier New, Georgia, Impact, Times New Roman, Trebuchet MS, Verdana and Webdings, all of them in TrueType font format packaged in executable files (".exe") for Microsoft Windows and in BinHexed Stuff-It archives (".sit.hqx") for Macintosh. These packages were published as freeware under a proprietary license imposing some restrictions on distribution.

<span class="mw-page-title-main">Symbian</span> Discontinued mobile operating system

Symbian is a discontinued mobile operating system (OS) and computing platform designed for smartphones. It was originally developed as a proprietary software OS for personal digital assistants in 1998 by the Symbian Ltd. consortium. Symbian OS is a descendant of Psion's EPOC, and was released exclusively on ARM processors, although an unreleased x86 port existed. Symbian was used by many major mobile phone brands, like Samsung, Motorola, Sony Ericsson, and above all by Nokia. It was also prevalent in Japan by brands including Fujitsu, Sharp and Mitsubishi. As a pioneer that established the smartphone industry, it was the most popular smartphone OS on a worldwide average until the end of 2010, at a time when smartphones were in limited use, when it was overtaken by iOS and Android. It was notably less popular in North America.

<span class="mw-page-title-main">Hacking of consumer electronics</span>

The hacking of consumer electronics is an common practice that users perform to customize and modify their devices beyond what is typically possible. This activity has a long history, dating from the days of early computer, programming, and electronics hobbyists.

Asphalt is a series of racing video games developed and published by Gameloft. Games in the series typically focus on fast-paced arcade racing set in various locales throughout the world, tasking players to complete races while evading the local law enforcement in police pursuits.

<span class="mw-page-title-main">RetroArch</span> Emulator and media player frontend

RetroArch is a free and open-source, cross-platform frontend for emulators, game engines, video games, media players and other applications. It is the reference implementation of the libretro API, designed to be fast, lightweight, portable and without dependencies. It is licensed under the GNU GPLv3.

mpv (media player) Free and open-source media player software

mpv is free and open-source media player software based on MPlayer, mplayer2 and FFmpeg. It runs on several operating systems, including Unix-like operating systems and Microsoft Windows, along with having an Android port called mpv-android. It is cross-platform, running on ARM, PowerPC, x86/IA-32, x86-64, and MIPS architecture.

Felgo is a cross-platform development tool, based on the Qt framework. It can be used to create mobile apps or games. Felgo apps and games are supported on iOS, Android, Windows Phone, embedded devices and desktop devices. Felgo developers use QML, JavaScript and C++ to create mobile apps and games.

References

  1. "Releases - hrydgard/ppsspp" . Retrieved 2022-07-28 via GitHub.
  2. "PPSSPP on Github.com". GitHub . 25 October 2021.
  3. "How to turn your Xbox Series X/S into an emulation powerhouse". 24 November 2020.
  4. PPSSPP Downloads - PSP emulator for Android, Windows, and many more, hrydgard, archived from the original on 2013-08-06, retrieved 2013-09-14
  5. PPSSPP: PSP emulator for Android, iOS, Windows, Linux, MacOSX, Blackberry, Symbian, hrydgard, archived from the original on 2013-08-06, retrieved 2013-09-14
  6. PPSSPP picks up Vulkan graphics support and more in latest update, Android Police, 6 December 2017, retrieved 2018-09-02
  7. "Best PlayStation emulators for desktop PCS". 5 February 2020.
  8. PPSSPP: PSP emulator for Android, iOS, Windows, Linux, MacOSX, Blackberry, Symbian, hrydgard, archived from the original on 2014-04-07, retrieved 2014-06-26
  9. "PPSSPP for iOS 15". 30 January 2023.
  10. PPSSPP PSP Emulator Development Guide, hrydgard, retrieved 2014-06-26
  11. Ced2911/ppsspp, ced2911, retrieved 2014-06-26
  12. Qt for PSP emulator, xsacha, archived from the original on 2015-12-08, retrieved 2014-06-26
  13. Build instructions · hrydgard/ppsspp Wiki , retrieved 2014-06-26
  14. Compatibility List, livisor, 2013-03-10, retrieved 2017-03-20
  15. Games List, PPSSPP, 2020-07-11, retrieved 2020-07-11