# hrydgard/ppsspp

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hrydgard-ppsspp).**

13,375 stars · 2,421 forks · C++ · other

## Links

- GitHub: https://github.com/hrydgard/ppsspp
- Homepage: https://www.ppsspp.org
- awesome-repositories: https://awesome-repositories.com/repository/hrydgard-ppsspp.md

## Topics

`emulators` `ppsspp` `psp`

## Description

This project is a cross-platform, open-source emulator designed to execute handheld gaming software on modern desktop and mobile hardware. By recreating the original console environment and system libraries, it allows users to run game files without requiring original firmware. The software achieves high-performance execution through a combination of dynamic recompilation and just-in-time instruction translation, which map console-specific instructions to native host machine code.

The emulator distinguishes itself by providing advanced visual and connectivity enhancements that extend beyond the capabilities of the original hardware. It features a graphics abstraction layer that enables high-resolution upscaling, texture filtering, and post-processing effects on modern displays. Furthermore, it restores multiplayer functionality by tunneling local wireless communication protocols over standard network sockets, allowing users to connect via custom servers or ad-hoc relay systems.

The platform includes a comprehensive suite of tools for managing game data, including support for importing existing save files and capturing system memory states for instant progress persistence. Users can customize their experience through flexible input mapping for gamepads, touch interfaces, and keyboards, alongside various performance configuration settings. The project also maintains a public compatibility database and provides integrated debugging and profiling utilities to support ongoing development and accuracy verification.

## Tags

### Graphics & Multimedia

- [Console Emulators](https://awesome-repositories.com/f/graphics-multimedia/legacy-media-emulators/console-emulators.md) — Executes handheld gaming software on modern hardware by recreating the original console environment and system architecture. ([source](https://cdn.jsdelivr.net/gh/hrydgard/ppsspp@master/README.md))
- [High-Performance Game Emulators](https://awesome-repositories.com/f/graphics-multimedia/c-multimedia-libraries/high-performance-game-emulators.md) — Translates console-specific instructions to run original game titles on diverse operating systems and hardware architectures.
- [Graphics Enhancers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/graphics-enhancers.md) — Improves visual fidelity of legacy games through high-resolution upscaling, texture filtering, and post-processing effects.
- [Graphics API Translators](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/graphics-rendering-apis/graphics-api-translators.md) — Maps original hardware rendering commands to modern graphics APIs to enable cross-platform visual output and high-resolution scaling.
- [Texture Scaling Algorithms](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/dynamic-texture/texture-scaling-algorithms.md) — Enhances visual fidelity by applying advanced scaling algorithms to game textures during real-time rendering. ([source](https://cdn.jsdelivr.net/gh/hrydgard/ppsspp@master/README.md))
- [Rendering Quality Settings](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/graphics-rendering-apis/rendering-quality-settings.md) — Allows users to adjust graphics resolution, frame skipping, and texture filtering to balance visual quality. ([source](https://www.ppsspp.org/docs/settings))

### Development Tools & Productivity

- [Save Synchronizers](https://awesome-repositories.com/f/development-tools-productivity/gaming-utilities/save-synchronizers.md) — Captures and restores the exact progress of a gaming session at any moment to provide flexible save and load capabilities.
- [Execution State Synchronizers](https://awesome-repositories.com/f/development-tools-productivity/gaming-utilities/save-synchronizers/execution-state-synchronizers.md) — Captures current memory and execution state of a running game to allow users to resume progress instantly. ([source](https://www.ppsspp.org/))

### Networking & Communication

- [Network Tunneling](https://awesome-repositories.com/f/networking-communication/network-tunneling.md) — Tunnels local wireless communication protocols over standard network sockets to enable multiplayer connectivity for emulated handheld games.
- [Relay Server Configurations](https://awesome-repositories.com/f/networking-communication/relay-server-configurations.md) — Facilitates local and remote network play through ad-hoc relay servers that mimic original wireless communication. ([source](https://cdn.jsdelivr.net/gh/hrydgard/ppsspp@master/README.md))
- [Wireless Gaming Session Simulators](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/wireless-network-utilities/wireless-gaming-session-simulators.md) — Links multiple software instances over networks to simulate wireless gaming sessions for cooperative or competitive play. ([source](https://www.ppsspp.org/docs/intro))

### Operating Systems & Systems Programming

- [Hardware Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators.md) — Recreates original hardware architecture and system environments to execute handheld gaming software on modern devices. ([source](https://www.ppsspp.org/docs/intro))
- [High-Level](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators/hardware-interface-emulators/system-emulators/high-level.md) — Replaces low-level hardware components with software implementations of system libraries and kernels to improve compatibility and execution speed.

### Programming Languages & Runtimes

- [Just-In-Time Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/execution-engines/just-in-time-compilers.md) — Translates original console machine code into native host instructions at runtime to achieve high-performance execution on modern processors.

### Software Engineering & Architecture

- [Dynamic Recompilation Engines](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/performance-optimization/computational-efficiency/cpu-optimization-strategies/hardware-instruction-targeting/instruction-set-targets/instruction-set-architecture-learning/dynamic-recompilation-engines.md) — Converts guest instruction streams into optimized host machine code blocks to minimize the overhead of emulating different processor architectures.
- [State Snapshots](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/state-management/persistence-and-serialization/state-serialization/state-snapshots.md) — Captures the entire memory and register state of the emulated system to allow for instant saving and loading of progress.

### User Interface & Experience

- [Console Input Mappers](https://awesome-repositories.com/f/user-interface-experience/input-controls/peripheral-input-drivers/console-input-mappers.md) — Configures physical controllers and touch interfaces to replicate original console button layouts for responsive gameplay.
- [Gamepad Mappers](https://awesome-repositories.com/f/user-interface-experience/input-device-detection/embedded-input-controllers/gamepad-mappers.md) — Provides native driver support for linking standard PC and mobile game controllers to enable physical control. ([source](https://www.ppsspp.org/docs/faq))

### Part of an Awesome List

- [Media & Communication](https://awesome-repositories.com/f/awesome-lists/media/media-communication.md) — PSP emulator

### Game Development

- [Emulators](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/cross-platform/emulators.md) — Executes game files in standard disk image formats by simulating the original console environment and system functions. ([source](https://www.ppsspp.org/docs/faq))
- [Game Servers](https://awesome-repositories.com/f/game-development/online-multiplayer/game-servers.md) — Redirects network traffic to community-hosted infrastructure to restore online multiplayer functionality. ([source](https://www.ppsspp.org/docs/multiplayer/infrastructure-servers/))
- [Save Data Importers](https://awesome-repositories.com/f/game-development/game-save-synchronization-tools/save-data-importers.md) — Supports transferring existing progress files from original handheld hardware to continue gaming sessions seamlessly. ([source](https://www.ppsspp.org/))

### System Administration & Monitoring

- [Internal Resolution Scaling](https://awesome-repositories.com/f/system-administration-monitoring/resolution-scaling-tools/internal-resolution-scaling.md) — Increases internal rendering resolution to improve visual clarity on modern high-resolution displays. ([source](https://www.ppsspp.org/))
- [System Debuggers](https://awesome-repositories.com/f/system-administration-monitoring/diagnostic-tools/diagnostics/execution-tracers/system-debuggers.md) — Provides interactive debuggers and logging facilities to trace system calls and monitor internal state during software execution. ([source](https://www.ppsspp.org/docs/development/getting-started))

### Web Development

- [Wireless Communication Tunnels](https://awesome-repositories.com/f/web-development/multiplayer-synchronization/multiplayer-session-synchronizers/wireless-communication-tunnels.md) — Restores multiplayer functionality by tunneling local wireless communication protocols over standard network sockets.
- [Gaming Performance Optimizers](https://awesome-repositories.com/f/web-development/browser-compatibility-configurations/gaming-performance-optimizers.md) — Allows users to adjust internal rendering, audio, and input settings to improve game compatibility and visual quality. ([source](https://www.ppsspp.org/docs/intro))

### Hardware & IoT

- [Input Configurators](https://awesome-repositories.com/f/hardware-iot/input-behavior-configurators/input-configurators.md) — Supports mapping game actions to touch interfaces, external gamepads, or keyboards for personalized control schemes. ([source](https://www.ppsspp.org/))

### Testing & Quality Assurance

- [Console Compatibility Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/console-compatibility-testing.md) — Compares software output against expected results from real hardware to verify system accuracy and identify regressions. ([source](https://www.ppsspp.org/docs/development/getting-started))
- [Performance Profiling](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-profiling.md) — Analyzes dynamically generated code using sampling profilers to identify bottlenecks and improve execution speed. ([source](https://www.ppsspp.org/docs/development/getting-started))

### Data & Databases

- [Compatibility Databases](https://awesome-repositories.com/f/data-databases/database-versioning/compatibility-migrators/compatibility-databases.md) — Maintains a public database of software titles to document compatibility across different regions and software versions. ([source](https://report.ppsspp.org/games))
