# PCSX2/pcsx2

**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/pcsx2-pcsx2).**

14,432 stars · 1,882 forks · C++ · gpl-3.0

## Links

- GitHub: https://github.com/PCSX2/pcsx2
- Homepage: https://pcsx2.net
- awesome-repositories: https://awesome-repositories.com/repository/pcsx2-pcsx2.md

## Topics

`cpp` `emulation` `emulator` `pcsx2` `ps2`

## Description

This project is a cross-platform emulator designed to execute software originally developed for the PlayStation 2 console on modern computing hardware. By replicating the original processor and graphics architecture, it allows users to run legacy game discs and digital backups within a virtual environment on contemporary desktop and laptop systems.

The software distinguishes itself through advanced graphics enhancement engineering, which enables users to adjust rendering resolutions, apply texture filtering, and utilize community-created patches to improve visual fidelity beyond original hardware limitations. It also provides a modular architecture that supports extensive configuration of system settings, input mapping, and audio output, ensuring compatibility across a wide range of hardware configurations.

Beyond core emulation, the project includes tools for game preservation, such as the ability to convert physical optical media into digital image files and manage virtual memory cards for persistent data storage. It also offers debugging and observability features, including the ability to inspect virtual machine states and analyze graphical data streams to diagnose rendering performance.

The software supports automated execution through command-line arguments, facilitating integration with external launchers and custom scripts. Users can capture and restore the entire memory and processor state of a running session to pause and resume gameplay at any time.

## Tags

### Game Development

- [Console-Specific](https://awesome-repositories.com/f/game-development/web-retro-environments/emulators/console-specific.md) — Translates legacy console instructions to run original game discs and digital backups on modern computing hardware.
- [Emulators](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/cross-platform/emulators.md) — Provides a cross-platform virtual environment for executing classic console software with support for custom rendering and input mapping.
- [State Management Systems](https://awesome-repositories.com/f/game-development/engine-architecture/state-management-systems.md) — Captures the entire memory and processor state of a running game to allow resuming play at any time. ([source](https://pcsx2.net/docs/))

### Graphics & Multimedia

- [Console Emulators](https://awesome-repositories.com/f/graphics-multimedia/legacy-media-emulators/console-emulators.md) — Translates original console processor instructions into native machine code to execute legacy software on modern hardware.
- [Graphics Enhancers](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/graphics-enhancers.md) — Enables users to adjust rendering resolutions, apply texture filtering, and utilize community-created patches to improve visual fidelity.
- [Graphics API Translators](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/graphics-rendering-apis/graphics-api-translators.md) — Intercepts and translates low-level rendering commands into modern graphics API calls for improved display quality.
- [Game Preservation Tools](https://awesome-repositories.com/f/graphics-multimedia/multi-format-asset-distribution/game-asset-converters/game-preservation-tools.md) — Provides tools to convert physical optical media into digital image files and manage virtual memory cards for persistent data storage.

### Operating Systems & Systems Programming

- [Dynamic Binary Translators](https://awesome-repositories.com/f/operating-systems-systems-programming/instruction-translation-accelerators/dynamic-binary-translators.md) — Translates legacy processor instructions into native machine code at runtime to enable execution on modern hardware.
- [Hardware Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators.md) — Runs software designed for older console generations within a virtual environment on modern hardware. ([source](https://pcsx2.net/docs/category/advanced))
- [Hardware Abstraction Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-abstraction-layers.md) — Provides a unified interface for software to interact with diverse host hardware components like graphics and audio.
- [Hardware Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-technologies/hardware-emulators.md) — Replicates original processor and graphics architecture to enable software compatibility on contemporary computing devices.

### Software Engineering & Architecture

- [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 processor register state into a file to allow users to pause and resume execution.
- [Plugin-Based Architectures](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures.md) — Separates core emulation logic from peripheral components to allow independent updates and extensibility.
- [Code Patching Engines](https://awesome-repositories.com/f/software-engineering-architecture/code-patching-engines.md) — Injects custom code modifications into running software to enable enhancements like widescreen support. ([source](https://pcsx2.net/docs/))

### Business & Productivity Software

- [Media Digitizers](https://awesome-repositories.com/f/business-productivity-software/digitization-pipelines/media-digitizers.md) — Converts physical optical media into digital image files to preserve game collections. ([source](https://pcsx2.net/docs/category/setup))

### Data & Databases

- [Virtual Storage Managers](https://awesome-repositories.com/f/data-databases/storage-management-systems/virtual-storage-managers.md) — Manages virtual memory card files to maintain game progress and achievements across sessions. ([source](https://pcsx2.net/docs/category/configuration))
- [Virtual Storage Mappings](https://awesome-repositories.com/f/data-databases/storage-management-systems/virtual-storage-managers/virtual-storage-mappings.md) — Maps virtual console storage devices to local files to simulate persistent data retention.

### Development Tools & Productivity

- [Visual Fidelity Controllers](https://awesome-repositories.com/f/development-tools-productivity/dynamic-configuration/dynamic-rendering-options/visual-fidelity-controllers.md) — Adjusts rendering resolution, texture filtering, and frame pacing to improve visual fidelity. ([source](https://pcsx2.net/docs))

### System Administration & Monitoring

- [Controller Mapping](https://awesome-repositories.com/f/system-administration-monitoring/remote-device-management/remote-pairing-controllers/controller-mapping.md) — Assigns physical gamepad buttons and sticks to virtual console controller inputs for gameplay. ([source](https://pcsx2.net/docs/category/configuration))
