# jpd002/play-

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

2,539 stars · 336 forks · C++ · other

## Links

- GitHub: https://github.com/jpd002/Play-
- Homepage: http://purei.org
- awesome-repositories: https://awesome-repositories.com/repository/jpd002-play.md

## Topics

`cpp` `emulation` `emulator` `playstation-2`

## Description

Play- is a multi-system game emulator and virtual hardware emulator that simulates various console and arcade hardware to run original game files on modern devices. It functions as a retro game frontend, providing a graphical interface for organizing, launching, and managing libraries of legacy console and arcade titles.

The project includes a hardware input mapper that translates modern controllers and mouse movements to simulate specialized legacy input devices, such as light guns and steering wheels. It also features a game state manager capable of capturing and restoring the exact memory state of a running application to resume progress instantly.

Beyond game emulation, the software provides a dedicated playback application for rendering PlayStation Stereo Format audio files from personal music archives.

## Tags

### Game Development

- [Cross-Platform Console](https://awesome-repositories.com/f/game-development/game-engines-frameworks/game-engines/cross-platform/emulators/cross-platform-console.md) — Simulates various console and arcade hardware to run original game files across desktop, mobile, and web platforms.
- [Retro Game Emulation](https://awesome-repositories.com/f/game-development/retro-game-emulation.md) — Provides software designed to run classic console and handheld games on modern hardware across multiple systems.
- [Emulator Save State Managers](https://awesome-repositories.com/f/game-development/emulator-save-state-managers.md) — Provides a tool for capturing and restoring the exact memory state of a running application to resume progress instantly.
- [Retro Gaming Frameworks](https://awesome-repositories.com/f/game-development/retro-gaming-frameworks.md) — Provides a graphical interface to organize, launch, and manage libraries of legacy console and arcade titles.

### Hardware & IoT

- [Gamepad-to-Keyboard Mappings](https://awesome-repositories.com/f/hardware-iot/gamepad-to-keyboard-mappings.md) — Maps gamepad buttons and joysticks to emulate keyboard keys and other inputs required for emulation. ([source](https://playjs.purei.org/))

### Operating Systems & Systems Programming

- [Arcade Hardware Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/arcade-hardware-emulators.md) — Executes games from specific arcade hardware architectures on modern computing devices. ([source](https://purei.org/))
- [Swappable Cores](https://awesome-repositories.com/f/operating-systems-systems-programming/emulator-core-orchestrators/swappable-cores.md) — Isolates specific hardware architecture logic into swappable components to support diverse console and arcade systems.
- [Hardware Abstraction Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-abstraction-layers.md) — Provides a hardware abstraction layer to map physical input devices and controllers to virtual hardware signals.
- [Hardware Input Translation](https://awesome-repositories.com/f/operating-systems-systems-programming/keyboard-input-modes/hardware-input-translation.md) — Converts modern keyboard and controller events into the specific binary or electrical signals required by legacy hardware.
- [System State Snapshots](https://awesome-repositories.com/f/operating-systems-systems-programming/system-state-snapshots.md) — Features a game state manager capable of capturing and restoring the exact memory state of a running application to resume progress instantly. ([source](http://purei.org))
- [Vintage Software Execution](https://awesome-repositories.com/f/operating-systems-systems-programming/vintage-software-execution.md) — Runs legacy software from arcade boards and consoles using simulated hardware on modern platforms. ([source](http://purei.org/index.php))
- [Console Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators/console-emulators.md) — Simulates the full processor and system architecture of gaming consoles to execute original ROMs and software. ([source](http://purei.org))
- [System Emulators](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators/hardware-interface-emulators/system-emulators.md) — Provides full system emulation to run console games and arcade titles across multiple operating systems. ([source](https://cdn.jsdelivr.net/gh/jpd002/play-@master/README.md))
- [Virtual Memory Mappers](https://awesome-repositories.com/f/operating-systems-systems-programming/virtual-memory-management/virtual-memory-mappers.md) — Simulates the original memory address space to map legacy binary files for execution on modern operating systems.

### User Interface & Experience

- [Input Control Mappings](https://awesome-repositories.com/f/user-interface-experience/input-control-mappings.md) — Translates modern controller and mouse movements to simulate specialized legacy peripherals like light guns and steering wheels.
- [Console Input Mappers](https://awesome-repositories.com/f/user-interface-experience/input-controls/peripheral-input-drivers/console-input-mappers.md) — Maps physical controllers and mouse movements to mimic original console hardware signals for accurate gameplay.

### DevOps & Infrastructure

- [Emulator Save State Management](https://awesome-repositories.com/f/devops-infrastructure/sandbox-lifecycle-management/snapshot-capture-and-restoration-managers/emulator-save-state-management.md) — Manages captured system states for the rapid restoration of gaming sessions from a specific saved point.

### 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 volatile memory and CPU register state to disk for instant session restoration.
- [Cross-Platform Runtimes](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-runtimes.md) — Implements a unified execution engine that allows emulated hardware instructions to run consistently across desktop, mobile, and web environments.

### System Administration & Monitoring

- [Peripheral Simulation](https://awesome-repositories.com/f/system-administration-monitoring/virtual-device-drivers/input-device-emulators/device-specific-input-rules/input-device-mapping/peripheral-simulation.md) — Provides a hardware input mapper that translates modern controllers and mouse movements to simulate specialized legacy input devices. ([source](https://cdn.jsdelivr.net/gh/jpd002/play-@master/README.md))

### Part of an Awesome List

- [Game Emulators](https://awesome-repositories.com/f/awesome-lists/more/game-emulators.md) — PlayStation 2 emulator for multiple platforms.
