Ir para o conteúdo
PS5PCEM

Compilação 0.3.3 · 4 de outubro de 2026

Estado do projeto

O que o emulador consegue fazer, subsistema por subsistema. As etapas de cada jogo estão na página de compatibilidade; esta página mostra a engenharia por trás delas.

Compilação atual

0.3.3

Versão

Jogos registrados

9 de 18 terminados

Confirmação mais recente 2 de outubro de 2026

Máquina de referência

NVIDIA GeForce RTX 3070 Ti

Todos os tempos deste site

Subsistemas

O estado de cada parte

Condensado do documento sobre o estado da implementação, que traz a lista completa.

Guest execution

Funciona

Native x86-64 guest execution on Windows, with ELF/SELF loading, relocation, module linking and TLS.

  • ELF and SELF loading, relocation, module linking, TLS and firmware HLE.
  • Contained-fault diagnostics keep a faulting guest thread from taking down the host.
  • Native cooperative fibers retain suspended guest stacks across switches.
  • Inspection, decoding and HLE components also build on Linux and macOS; native execution is Windows-only.

AGC command stream

Parcial

Stateful AGC command-stream execution drives graphics, compute and VideoOut work.

  • Ordered AGC completion acknowledgement removes intermittent retirement races.
  • Two bounded CPU workers prepare graphics and compute commands while one Vulkan backend owner preserves execution and completion order.
  • Guest image allocations share a range-based alias registry across colour, depth/stencil, storage and sampled use.
  • Descriptor recovery no longer replays each kernel's prolog once per resource it names.

RDNA2 shader translation

Parcial

A growing RDNA2-to-SPIR-V pipeline covers graphics and compute workloads.

  • Merged NGG vertex programs translate, including fetch-shader continuations ending in S_SETPC_B64.
  • Runtime shaders can pass through a common typed IR before SPIR-V; PS5_GPU_SHADER_IR=1 selects legalized IR and PS5_GPU_SSA=1 adds phi/def-use state, constant folding and iterative DCE.
  • Structured control flow restores UI text in titles that previously lost it.
  • Typed buffer accesses retain their resource bindings and per-access formats; comparison samplers follow the instructions that use them.
  • Asynchronous pipeline compilation is enabled by default with two workers and a compute shader warmup catalog.
  • Shader coverage remains incomplete; the 0.3.3 validation run reproduces the same ten SPIR-V test failures and one reported leak as the 0.3.2 tag.

Vulkan rendering

Funciona

VideoOut reaches a Vulkan swapchain with resident render targets and timeline scheduling.

  • Persistent render targets, large writable storage buffers, resident storage images, and bounded texture and pipeline caches.
  • Fifty-six host formats are reachable, spanning BC1–BC7, signed and unsigned integer and normalized channels, R16/RG16, half-float and RGBA32_FLOAT.
  • Image layout and access state is tracked per aspect, mip and array layer.
  • Timeline retirement avoids waits for unrelated buffers and retains upload data until its GPU readers complete. Public guest completion remains ordered.
  • Correct HTILE/DCC metadata clears and a larger Tetris render-target cache reduce stale UI copies and repeated readbacks.
  • GPU compute detile covers 4/8/16-byte 2D and 3D standard and PRT surfaces; RB+ and MSAA still fall back to the CPU.

Audio and media

Funciona

Host audio at 48 kHz, plus H.264/AAC playback through FFmpeg.

  • SceAvPlayer returns synchronized NV12 video and stereo PCM through the title's own allocation and file callbacks.
  • Observed intro movies play at about their native frame rate in ReleaseFast builds.
  • The observed PS5 multichannel ATRAC9 layout decodes as interleaved mono streams; Yōtei movie audio now starts at the correct point.
  • The unsupported movie haptics track preserves timing through silence, without emulating controller vibration. Competing audio ports no longer repeatedly reopen the host device.

Input

Funciona

DualSense and DualShock 4 pads are read directly over HID, with XInput and keyboard fallbacks.

  • Sony pads work without a translation layer; the launcher reports which one it found.
  • The launcher can drive motors and the light bar as a check.
  • Launcher-managed input profiles support controller, keyboard or hybrid control.

Savedata and storage

Funciona

A mounted slot becomes a writable /savedata0, so titles store and reload progress.

  • Games save through the ordinary file API and find their data again on the next run.
  • The launcher groups every local slot by title ID.
  • Portable settings and savedata are kept beside the application.

Windows launcher

Funciona

A native library with local cover art, per-title saves, input profiles and direct launching.

  • Remembers up to 32 titles across pages of eight and displays the release version.
  • Ships the debug PKG extractor with NAPS mapping and Kraken payload support.
  • Reads artwork from each title's local sce_sys/icon0.png.
  • Detects DualSense and DualShock controllers and persists sound and input profiles.

Memory

Funciona

A freeing, thread-safe allocator and aligned direct-memory ranges keep long runs stable.

  • Aligned Windows direct-memory ranges share 64 KiB section views, so temporary uploads, readbacks and 16 KiB guest pages no longer accumulate as an ever-growing host commit charge.
  • The opt-in GPU page tracker tracks 16 KiB guest pages by generation and handles the first native CPU store as an invalidation fault.

VR presentation

Adiado

VR titles map their plugins and boot, but there is no host headset bridge.

  • Headset, tracking, controller and host OpenXR support are intentionally deferred.
  • Pistol Whip and Propagation: Paradise Hotel reach engine bootstrap without VR presentation.

O que aqui não se afirma de propósito

Um menu não é jogabilidade, e um quadro desenhado não é ser jogável. Alguns jogos desenham corretamente, mas muito devagar para serem jogados, e é assim que ficam registrados. Nada aqui afirma uma etapa que não tenha sido observada numa compilação.

Mais a fundo

A documentação do repositório

O interior dos subsistemas — RDNA2, GPU, Vulkan, memória, carregador, HLE, CPU, diagnóstico e tempo de execução — está indexado na documentação de arquitetura.

Apoiar o desenvolvimento

O PS5PCEM é GPL-3.0-or-later e desenvolvido abertamente. Boosty e Patreon são as duas formas de apoiar o trabalho.