EmuNews

PS5PCEM

iStark/PS5PCEM

10 tracked updates · latest 6 days ago

GitHub

PS5PCEM 0.3.6

v0.3.6 release
Release notes · 7 files

PS5PCEM 0.3.6

This release collects 71 commits after 0.3.5, including merged contributor history, plus release preparation. It introduces the experimental native DirectX 12 renderer, ZAR loading/extraction, launcher FPS limits and motion sensor input, alongside Vulkan performance, graphics, audio and save fixes.

Downloads

  • Windows x64: portable ZIP and per-user installer. The three applications and installer carry SHA-256 Authenticode signatures and timestamps using the same Artur Strazewicz / PS5PCEM certificate as 0.3.5. The certificate is self-signed; Windows/SmartScreen can still warn.
  • Linux x64: .deb, .rpm, .pacman and .AppImage, with the native GTK 3 launcher, game-run and pkgextractor. See the Linux guide.
  • SHA256SUMS.txt covers all six packages. Linux packages do not use Windows Authenticode signatures.

The CPU baseline remains x86-64-v3 (AVX2/BMI2/FMA). Vulkan remains the default renderer on both platforms. DirectX 12 is Windows-only and experimental. Windows packages include the pinned Microsoft DXC compiler, DXIL validator and license notices; keep these DLLs beside the executables. Linux requires glibc 2.31+, Linux 5.11+ with FSGSBASE/Syscall User Dispatch, GTK 3, X11/XWayland, Vulkan 1.2 and PulseAudio or PipeWire's PulseAudio service. The AppImage uses these system libraries. Games, firmware, keys, saves and shader caches are not included.

Native DirectX 12

The Windows library and Settings now offer Vulkan / DirectX 12. This is a native D3D12/DXGI backend, not a Vulkan translation layer. Unsupported work is reported explicitly; it neither silently switches APIs nor skips draws and reports them as successfully rendered.

  • Shared RDNA2 translation feeds SPIRV-Cross HLSL, Shader Model 5.1 and DXC Shader Model 6 wave shaders. Shader/PSO caches retain compiled programs.
  • Indexed, instanced, bounded indirect, triangle-fan and rectangle draws; NGG passthrough routing, linked varyings, scalar buffers, blend state, depth/stencil attachments, HTILE expansion and mixed multiple render targets.
  • Tiled surfaces, BC textures, video sampling, packed RGBA4444, RGBA16F and R16_UNORM; cube/2D-array textures, mip chains, 3D volume sampling and anisotropic filtering. DMA transfers now populate uploaded font atlases.
  • Checked fragment loops reject exhausted shader execution instead of publishing truncated results. Guest clipping, depth clamps and fractional shadow bias preserve the supported raster behavior.
  • Bounded resource pools, CPU scratch reuse, exact surface-conversion caches, immutable inputs and ordered command groups reduce allocations and waits. Experimental retention modes that did not demonstrate a speedup stay off by default.

Terminator 2D reaches first-level gameplay on D3D12. Raiden IV reaches its first-stage sequence. Super Woden GP reaches the world map with readable labels. Asterix and Quake II remain bring-up work: their Vulkan playability does not imply D3D12 playability. MSAA, general compute-image handling and other unsupported paths still limit this backend. See the implementation and dated tests.

Vulkan graphics and performance

  • Raiden IV: retained render passes, descriptor reuse, bounded resource preparation, transient uploads, validated vector-only scalar loads and indexed snapshot lookup reduce CPU work. The measured PPSA08832 Vulkan profile is selected automatically by ordinary CLI and launcher launches. Other games retain their own defaults.
  • ASTRO BOT: RG16F DCC clears, stable prepared storage bindings and streamed texture MIN_LOD fix the reproduced colored noise and stale texture levels. Long compute loops can complete; exhausted dispatchers are diagnosed. An exact NVIDIA RGBA16F RGB-mask path saves/restores alpha bits on the GPU and reduces an isolated expensive pass without dropping effects.
  • Severed Steel: corrected menu presentation, depth-array views, DCC velocity clears and exposure-data publication. The maintainer confirms the observed black-frame flicker is gone. The local raster workaround remains necessary; full ray tracing is not implemented.
  • Super Woden GP: shared copy orientation and guest vertex/UV transforms restore upright interface text and icons. No title-specific flipped image replacement is used.
  • OXIDE Room 104: bounded per-lane FLAT pointer snapshots remove initial compute faults. A title-specific virtual -noraytracing preference uses the game's raster path to reach the introduction and GET UP prompt.
  • Scalar condition tracking, base-level storage views, overlap/readback diagnostics and opt-in RenderDoc capture improve correctness and debugging.

Selected historical Windows development measurements, RTX 3070 Ti, with their original scope retained:

Scene and API Recorded result Scope
Raiden IV, Vulkan 86.59 FPS over 1,800 frames / 20.7867 s Warm scripted route, October 20; lowest 60-frame interval 50.58 FPS, so not a stable 60 FPS minimum
Severed Steel, Vulkan 8.70 FPS over 261 flips / 30.0004 s Stationary Trash Compactor scene, October 21; 13 FPS target not reached
ASTRO BOT, Vulkan 161.448 → 3.593 ms for one completed draw Isolated HDR pass, October 24; not whole-game FPS
ASTRO BOT title, Vulkan 11.55 → 12.20–12.35 FPS Same-process title comparison, October 24; optimized gameplay FPS not measured

These are dated observations, not benchmarks of the packaged release or minimum performance across entire games. Internal rendering remains controlled by the guest game even when output is set to 1920×1080.

Audio, saves and firmware

  • Raiden IV audio: ATRAC9-backed NGS2 sampler processing restores observed effects. The maintainer confirmed button sounds and music at death; continuous menu/stage music is not claimed fixed.
  • KeyWe: save memory returns the readiness result expected by Unity, and the shipped Dialogs.prx joins deferred plug-in discovery. Fresh-save and restart runs reach the post-office tutorial with a real save on disk.
  • Jets 'n' Guns 2: valid empty save containers can be remounted, fixing the reproduced first-run startup failure.
  • Animal Well / issue #7: implement the NGS2 voice channel-information query. The missing import resolves; local gameplay validation is unavailable.
  • ASTRO BOT / issue #8: kernel AMM imports and native APR command execution cover converted AMPR modules. Registration lifetime, submit and completion handling are corrected. The PPSA21567 reporter's later zero-filled APR stream remains unresolved; invalid streams fail before I/O. Selective bundled-module HLE routing is available for diagnosis. Local PPSA21564 improvements do not establish a fix for that different package.
  • Reviewed Demon's Souls bring-up adds import routing, offline NP request lifetimes, safe output handling, memory checks, AMPR registration fixes and nested /devlog/app writes. Two unknown guest CRT imports still return unavailable; JPEG encoding and complete sparse-memory support are not claimed. Demon's Souls gameplay remains unverified locally.

Launchers, archives and controllers

  • Twelve interface languages on Windows and Linux: Turkish, Japanese, Hindi and Korean join English, Russian, German, French, Chinese, Spanish, Arabic and Portuguese. Existing saved language IDs retain their meaning.
  • 30 / 60 / 120 FPS / Unlimited in both launchers. The limit paces completed guest flips, not just the host window. Unlimited remains the default.
  • Read-only .zar launch support streams raw/zstd blocks with a bounded cache. Extracted executables take precedence; ambiguous multiple archives are not selected automatically.
  • Separate Extract PKG / Extract ZAR buttons, live logs, cancellation and output-folder selection in both launchers. Extraction validates archive paths and sizes; game data is never bundled with PS5PCEM.
  • DualSense / DualShock 4 motion input on Windows: calibrated gyroscope and accelerometer reports feed libScePad motion/orientation state, with reset and sampling controls. ASTRO BOT's later tilt tutorial still needs a dedicated physical-controller verification.
  • The README links the official Discord community and its language channels. The refreshed English launcher screenshot shows API selection, FPS limits and both extraction buttons.

Compatibility changes since 0.3.5

Title New result and remaining limits
Severed Steel — newly documented First-level rendering, corrected exposure flicker; low FPS, raster workaround and later graphics limits remain
ASTRO BOT PPSA21564 Character control confirmed; opening graphics and streamed textures improved; unresolved resources and later scenes still require work
Raiden IV x Mikado Remix Playable · Completable, maintainer-confirmed on Vulkan; much faster recorded route, but no stable 60 FPS minimum
KeyWe Playable · Completable, maintainer-confirmed; development checks verify save creation/reload and the opening tutorial
Terminator 2D: No Fate First-level gameplay on DirectX 12; existing Vulkan grade retained
Super Woden GP Upright Vulkan UI; DirectX 12 map startup and text restored; racing not verified in these checks
OXIDE Room 104 Advances beyond the earlier black screen to the introduction and GET UP prompt; character control unverified
Jets 'n' Guns 2 First-run save initialization repaired; existing Vulkan playable grade retained
Quake II / Asterix Additional D3D12 startup support; Vulkan results remain separate
Animal Well / Demon's Souls Import/firmware bring-up; no new local gameplay claim

Full reports, dates and API-specific limitations remain in the compatibility table. Thank you to kleinergoo7 for PR #10 and subsequent bring-up contributions, and to everyone providing issue logs, test results and controller feedback. Original contributor commits and attribution are preserved.

Screenshots from the documented runs

KeyWe — post-office tutorial, Vulkan, October 30.

KeyWe tutorial

ASTRO BOT — corrected streamed textures in the opening sequence, Vulkan, October 24. This image is a cinematic, not a gameplay benchmark.

ASTRO BOT opening sequence

Terminator 2D — first-level gameplay through DirectX 12, October 22.

Terminator 2D DirectX 12 gameplay

Super Woden GP — restored DirectX 12 map text, October 30.

Super Woden GP DirectX 12 map

Severed Steel — Trash Compactor after exposure correction, Vulkan, October 21.

Severed Steel after exposure correction

Raiden IV — Vulkan first-level capture, October 17.

Raiden IV gameplay

English Windows launcher — API selection, FPS limit and PKG/ZAR extraction.

PS5PCEM launcher

See the release validation record for build, test, signature and package checks. Linux remains experimental; the dated Windows measurements above are not Linux performance results.

Full source changes: https://github.com/iStark/PS5PCEM/compare/v0.3.5...v0.3.6

PS5PCEM 0.3.5

v0.3.5 release
Release notes · 7 files

PS5PCEM 0.3.5

This release collects the 58 development commits after 0.3.4, plus release packaging and installation fixes. It adds the first Linux packages, native controller feedback on Windows, major audio corrections, shared renderer optimizations and 15 newly documented titles.

Downloads

  • Windows x64: portable ZIP and per-user installer. The launcher, runner, extractor and installer carry SHA-256 Authenticode signatures and timestamps using the same Artur Strazewicz / PS5PCEM certificate as previous releases. The certificate is self-signed; Windows/SmartScreen can still warn.
  • Linux x64: .deb, .rpm, .pacman and .AppImage, containing the native GTK 3 launcher, game-run and pkgextractor. See the Linux installation guide.
  • SHA256SUMS.txt covers all six downloadable packages. Linux packages are not Authenticode-signed; that signature format applies to Windows executables.

Both builds target x86-64-v3 (AVX2/BMI2/FMA) and require a Vulkan 1.2 driver. Windows requires Windows 10 2004 or newer. Linux requires glibc 2.31+, Linux 5.11+ with FSGSBASE/Syscall User Dispatch, GTK 3, X11/XWayland and PulseAudio or PipeWire's PulseAudio service. The AppImage uses these system runtime libraries. Games, firmware, keys, saves and shader caches are not included.

Native Linux runtime and launchers

  • Native guest execution, FS/GS switching, signal-based fault containment, guest threads and cooperative fibers, low-address host stacks and a Syscall User Dispatch guard for guest syscall instructions.
  • X11 Vulkan presentation and keyboard input, including physical-key fallback with non-Latin layouts; PulseAudio output with stereo folding for 7.1 streams.
  • Case-insensitive guest-path resolution, host memory checks and PPM captures.
  • A native GTK 3 / Cairo / Pango launcher with the shared eight-language UI, library, settings, save browsing, PKG extraction and Vulkan diagnostics.
  • Both launchers now hold 48 games, offer grid/table views and library search, and check GitHub Releases for updates. Version displays read 0.3.5.
  • Installed Linux packages and AppImages use writable XDG settings/data directories. --version and --check-install support installation checks.

Linux remains experimental. The earlier WSL2/lavapipe bring-up reached the Jets 'n' Guns 2 mission screen; it is not a native-driver performance result. Sony HID/XInput feedback and Media Foundation video decoding remain Windows features. The dated Windows game results below are not Linux results.

Controller vibration and LightBar

  • scePadSetVibration drives ordinary two-motor feedback through native DualSense/DualShock 4 HID output, with XInput fallback.
  • scePadSetLightBar and scePadResetLightBar now apply game-requested RGB colors. Coalesced updates preserve motor and color state together; pending HID writes retain their buffers. Close/shutdown stops motors and resets color.
  • HID descriptors determine USB/Bluetooth report sizes. Bluetooth output handles padded reports, CRC, connection timing and LED initialization.
  • DualSense USB vibration and red/green/blue LightBar changes were physically confirmed by the maintainer. Physical Bluetooth, DualShock 4 and XInput output were not revalidated. Adaptive triggers, audio haptics, microphone LEDs and player indicators are not implemented by this change.

Audio and media

  • Independent host streams for concurrent AudioOut submissions and correct PCM ordering after underruns fix interrupted music/effects in Jets 'n' Guns 2.
  • NGS2 PCM streaming, buffer-backed system/rack creation, custom sampler voices, geometry helpers and port information extend real audio processing.
  • AudioOut2 keeps its clock phase; ACM convolution and valid batch completion fix the reproduced Subnautica startup crackle/NaN/silence chain. Clear sound was confirmed on repeated launches. Quake II also gains working NGS2 audio.
  • AvPlayer stages decoded frames through host buffers before publishing writes to GPU-watched guest memory, restoring Asterix movie startup. GTA III movie completion no longer depends on the broken presentation-clock behavior.
  • Dead Cells menu sampler playback and blended scene composition are corrected. Remaining discontinuities and untested titles are recorded in the reports.

Loader, firmware and extraction

  • Correct SELF library-version metadata handling and standard ELF dynamic-table lookup fix Raiden IV's false TruncatedSelf failure without inventing tables.
  • Real pthread semaphores, cleanup handlers and cancellation-state operations unblock Arcade Spirits, Super Woden GP and KeyWe imports.
  • Fiber stack/context handling and migration, plus POSIX additions, unblock Arkanoid. Further Audio3d and VoiceQoS connection-attribute imports resolve.
  • Direct-memory allocation preserves live mappings; POSIX startup imports and real file rename allow Minecraft Legends to create its LevelDB world.
  • Monster Boy input polling and save startup now reach its first level.
  • Large PKG metadata reads and NAPS boundary lookup improve extraction. Plain dump handling and observed font fallback unblock ASTRO BOT startup.

Graphics and performance

  • Correct MSAA depth/stencil-only passes restore Asterix masks and remove four accidental whole-frame diagnostic readbacks. Proven vertex ranges avoid oversized sprite uploads in Dreaming Sarah.
  • Fullscreen-copy shortcuts now respect blending. Reflection/cube publication, native texture layouts, mip/array layers, narrow 8/16-bit layouts, storage ownership and exact buffer publication receive correctness fixes.
  • Compute wave synchronization, color conversion, M0-indexed vector moves, indirect register state and split texture descriptors improve shader handling. BVH diagnostics and compute replays improve failure visibility; they do not establish complete ray-tracing support.
  • Shared static shader analysis, bounded scalar walks, read masks, exact descriptor keys, content fingerprints and smaller snapshots reduce CPU work.
  • Bounded command recording and completion polling, indexed resource scans, reduced uploads/readbacks, reuse and parallel publication reduce host/GPU traffic. Changes without a demonstrated FPS gain are retained only where correctness checks and reduced work justify them.

Selected dated Windows measurements, Ryzen 7 7700 / RTX 3070 Ti, 1080p output request; internal rendering stays game-controlled:

Scene Recorded result Scope
Asterix opening forest 46.45 → 162.20 FPS median Matched stationary 30 s window-counter samples, October 9
Dreaming Sarah opening 53.25 → 198.25 FPS median Final 60 s sample; later platform screen 144.35 FPS, October 10
Big Helmet Heroes menu 4.9 → 9.4 FPS median 45 s sample, October 10; stable 15 FPS not reached
GTA III opening street 8.27 FPS 30 s presented-frame sample with Bloom/Motion Blur off, October 10; not an isolated A/B result
Subnautica 14.20 FPS menu; 4.85 FPS near plant Separate 30 s samples, October 10; not the same scene/build and not an audio-cost comparison
ASTRO BOT animated title 17.83 FPS 2,640 frames / 148.07 s, October 16; 60-frame blocks 16.08–19.75 FPS
Ghost of Yōtei tree/settings 1.27 FPS 38 frames / 30.001 s, October 13; no proven improvement or character control

These are specific development observations, not whole-game minima or new release-wide benchmarks. ASTRO BOT's latest small optimization did not prove an aggregate FPS gain over its previous 18.05 FPS observation. Its 20 FPS target, GTA III's 10 FPS target and Subnautica's 30 FPS target remain unmet.

Newly documented games since 0.3.4

Title Furthest recorded milestone and remaining limits
ASTRO BOT Animated title and diagnostic cinematic; 12 unresolved storage bindings and cinematic defects; character control unverified
Raiden IV x Mikado Remix First level renders after loader/shader fixes; complete playability unverified
Dead Cells Menu and first level; corrected dark composition and menu music; playability not established
Arkanoid: Eternal Battle Title and main menu; gameplay unverified
Arcade Spirits: The New Challengers Main menu and opening story/video; manual control and completion unverified
Super Woden GP World-map menu; inverted labels and wrong flag colors; racing unverified
KeyWe Save-slot selection; empty panels and later black output
PAC-MAN WORLD Re-PAC Intro, title and terms screens; distorted movie colors; gameplay unverified
Charon's Staircase First 3D forest-road scene; controls unverified and unresolved resources
Medieval Dynasty Main menu; vertically inverted image; gameplay unverified
Oxide Room 104 Autosave notice; later black output and shader/queue blockers
Monster Boy and the Cursed Kingdom Controllable first level and New Game save; large black polygons remain
Police Simulator: Patrol Officers Main menu, New Career and district confirmation; severe rendering defects; street gameplay unverified
Minecraft Legends Controllable opening tutorial; severe color/lighting corruption and missing glyphs
Goat Simulator 3 Controllable farm scene; upside-down image, shading defects and roughly 1.8 FPS in the recorded sample

Existing compatibility grades are retained. A new entry means an observed milestone, not that a title is fully supported or completable. Full dated reports and screenshots are in the compatibility table.

Screenshots from the documented runs

ASTRO BOT — animated title, October 16. This is not gameplay.

ASTRO BOT title

Raiden IV x Mikado Remix — first-level capture, October 11.

Raiden IV first level

GTA III — opening street, October 10. Shadow defects remain reported.

GTA III street

See the release validation record for build, package and test results. Historical known RDNA2 failures and the remaining game-specific rendering defects are not presented as resolved.

Full source changes: https://github.com/iStark/PS5PCEM/compare/v0.3.4...v0.3.5

PS5PCEM 0.3.4

v0.3.4 release
Release notes · 3 files

PS5PCEM 0.3.4

This release fixes a launcher regression that prevented games from starting in packaged installations. Updating both the launcher and runner is recommended. It also adds working font rendering, fixes Jurassic Park's font-atlas startup, implements MemoryPool and AMPR counters, and expands RDNA2 shader support.

These are the changes since 0.3.3, covering the October 7–9 development commits. The portable ZIP and per-user installer include the updated launcher, runner and PKG extractor. All three applications and the installer carry timestamped SHA-256 Authenticode signatures using the same Artur Strazewicz / PS5PCEM certificate as the previous release.

Important launcher fix

The launcher could pass its own executable path as the runner's working directory because a shortened Windows path lacked its terminating zero. Windows rejected CreateProcessW with ERROR_DIRECTORY before the game started. The development zig-out\bin layout masked the defect, while ordinary portable and installed layouts exposed it. The directory is now correctly terminated.

If Windows refuses to create the runner process, the launcher now displays Windows' explanation, the numeric error code and advice for the relevant failure. The messages cover application-control policy, security-software blocking, access errors and damaged executables, in all eight launcher languages. The status line also retains the error number.

Fonts and Jurassic Park

  • Font HLE now owns real FreeType faces and provides glyph metrics, rasterization, clipping, scaling, slant and kerning, with bounded caches. An embedded Noto Sans fallback and dependency license notices are included.
  • Valid characters absent from the font use its .notdef glyph. This fixes Jurassic Park Classic Games Collection failing on U+007F while building its Latin-1/ImGui atlas, which terminated CarbonMainThread and left the remaining threads waiting before normal GPU submissions.
  • Two October 8 development launches passed the former failure. The first level rendered and the map overlay responded to keyboard input. This is a startup regression fix for an already listed game, not a new full-playthrough verification. Font writing-line APIs remain incomplete.

Jurassic Park — first level at the park gates after the font fix, October 8. This is an unedited development capture, not a fresh FPS measurement of the packaged release.

Jurassic Park first-level gameplay after the font-atlas startup fix

Firmware and memory

  • MemoryPool: implement the six missing reserve, expand, commit, decommit, batch and block-statistics exports. Pools use shared physical backing, preserve data across decommit/recommit, account for ownership and support ordered commit/decommit/protection batches with rollback and partial-result reporting. Batch MOVE remains unsupported.
  • PNG encoding: implement query/create/encode/delete. Pitched RGBA/BGRA input can produce 8-bit RGB/RGBA PNGs with row filtering, compression levels 0–9, bounded writes and valid PNG/zlib checksums. Palette, grayscale, 16-bit and interlaced output remain unsupported.
  • RTC: add calendar validation, current-clock offsets, days-in-month, Windows FILETIME conversion and tick addition for ticks, microseconds, seconds, minutes, hours and weeks. Correct the invalid-value error code and reject arithmetic overflow without modifying output. Host DST conversion is not added.
  • AMPR: complete three command-size query exports and implement 128 software counters with field-preserving stores, bitwise operations, wrapping addition, coherent pairs, reads and execution-time timestamps. Correct the ordinary versus _04_00 counter argument signatures.
  • Unsatisfied counter waits retain a private command snapshot and resume when the dependency is satisfied, preserving later writes and completion events. Reset cancels and joins bounded workers. WaitOnAddress, hardware queue priorities and cycle-accurate accelerator timing remain incomplete.

Details: MemoryPool, PNG/RTC/export coverage, AMPR counters.

Graphics and shader coverage

  • Packed 11/11/10 UNORM blending: copy a single-sample target into a storage buffer, unpack its channels, apply guest blending in the fragment shader, and repack the result. This fills a format gap in Vulkan's fixed-function blending. It does not establish that all Yōtei lighting defects are fixed.
  • DS instructions: add DS_ORDERED_COUNT, increment/decrement atomics, DS_MSKOR, high-half byte/halfword accesses and DS_PERMUTE/DS_BPERMUTE. Ordered count updates once per active guest wave. Exact wave-launch ordering, multi-dword ordered counts and GDS permutes remain unsupported.
  • MIMG multi-texel loads: implement BY2/BY4 and PCK2/PCK4, including explicit mip levels for the validated native 2D formats. Typed integer bindings, result packing, bounds and register preservation are covered. Corresponding stores and unvalidated format combinations remain unsupported.
  • Horizontal gathers: implement IMAGE_GATHER4H and IMAGE_GATHER4H_PCK, including typed texture access, packed raw texels, result widths, offsets and edge handling for the validated subsets.
  • Scalar shader calls: implement bounded S_SWAPPC_B64 and S_CALL_B64 subroutines, nested calls, full 64-bit return addresses and verified AGC fetch-shader calls. Resource analysis follows the callee. Invalid boundaries, recursion, escaping/clobbered links and unsupported dynamic calls are rejected. This is not an unrestricted dynamic call stack.
  • Output defaults: report 1920×1080 SDR output with the supported default refresh mode; keep 120 Hz unavailable. An unset game preset now requests performance mode. Internal render resolution remains controlled by each game; frame diagnostics also report large internal color targets.

Details: multi-texel loads, horizontal gathers, scalar calls.

Validation and current limits

The included development checks on the RTX 3070 Ti pass 174 multi-texel dispatches / 178,176 result words, 1,242 horizontal-gather dispatches / 635,904 words, and 42 scalar-call dispatches / 21,504 words. These are native Vulkan instruction probes, not game FPS benchmarks. The scalar-call checkpoint passes 259/259 GPU-analysis and 232/232 Vulkan module tests. The RDNA2 suite passes 271/281, retaining the same ten existing failures and one reported leak; the full suite is not green.

The final release builds and packaging checks are recorded in the release verification report.

No new game is graded playable or completable by these instruction checks, and no new game FPS result is claimed. Existing Subnautica, GTA III, Little Nightmares, Big Helmet Heroes and Yōtei measurements remain dated development results. First-use compilation, texture churn, incomplete rendering and long-session stability still need work. See the compatibility table.

Windows 10 version 2004 or newer, an x86-64-v3 CPU (AVX2, BMI2, FMA) and a current Vulkan 1.2 driver are required. AVX-512 is not required. No games, firmware, keys, saves or driver caches are included. The signing certificate is self-signed, so Windows trust/SmartScreen warnings may still appear; SHA256SUMS.txt contains the download hashes.

All changes since 0.3.3 · Earlier releases

PS5PCEM 0.3.3

v0.3.3 release
Release notes · 3 files

PS5PCEM 0.3.3

Changes since 0.3.2: three additional titles reach in-game scenes, Subnautica: Below Zero can create and restore a world, GTA III reaches driving, Little Nightmares reaches character control and save/reload, and Big Helmet Heroes advances into its tutorial. This release also includes the accumulated renderer, synchronization, memory, shader-cache and package-extraction work from September 25 through October 5, 2026.

PS5PCEM remains experimental. The measurements below are dated development checks included in this release's source history, not fresh benchmarks of every title on the final packaged executable. All reported FPS comes from the development host, a Ryzen 7 7700 / GeForce RTX 3070 Ti 8 GiB. A visible scene or working save does not establish a complete playthrough.

Newly demonstrated games

Title Verified milestone Measured performance and limits
Subnautica: Below Zero — PPSA02457 v1.022.125 New Game, world rendering, movement, normal Save and restoration in a fresh process. The maintainer's compatibility grade is Playable · Completable; the documented development checks do not independently validate a full playthrough. October 3 repeat: 15.50 FPS in the menu; 12.70 / 8.50 FPS in two stationary world samples, 10.60 FPS combined. The same executable previously averaged 9.52 FPS with a ten-second stall. Lighting defects, shorter delays and long-session stability remain open; 30 FPS is not reached.
Grand Theft Auto III: The Definitive Edition — PPSA03527 v1.007 Package extraction, startup, New Game and Give Me Liberty. Walking, entering the car and a short drive are verified. Two opening-position samples: 8.10 / 8.97 FPS, 8.53 combined. Seated in the car: 7.20 FPS; wider city view: 3.57 FPS. Performance mode, Bloom/Motion Blur off, Classic Lighting on. Lighting/shadow defects remain; this is not an 8 FPS gameplay minimum. Completion, reliable startup, saves and audio correctness are unverified.
Little Nightmares Enhanced Edition — PPSA10737 v01.004.000 Startup, story/save-slot selection, movement, camera follow and lighter input in the opening room. Nonempty saves restore the room in fresh processes. 4.46 FPS beside the suitcase and 3.73 FPS after moving right, each over 30 unpaused seconds, in Performance mode. Dark lighting, reflective materials, unsupported shaders/resource gaps and intermittent allocator failures remain. 5 FPS is not reached; completion is unverified.

Output is requested at 1920×1080. Internal rendering remains game-controlled and may use larger targets. See the detailed reports for settings and measurement methods: Subnautica repeat, GTA III rendering, Little Nightmares saves and performance.

Screenshots of the new in-game milestones

These are unedited captures from the dated development runs. Remaining defects are visible; the images are not promises of corrected lighting or stable FPS.

Subnautica: Below Zero — snowy crash site and HUD, October 3.

Subnautica Below Zero snowy world and HUD

GTA III — player and car at Callahan Bridge after the color/reflection fixes.

GTA III opening gameplay with player, car and HUD

Little Nightmares — Six beside the suitcase; lighting and material defects remain.

Little Nightmares opening room with incomplete lighting and materials

Progress in previously demonstrated games

  • Big Helmet Heroes advances beyond the main menu into its tutorial. GPU-watched file reads, interrupted save mounts and command-header handling are corrected. The latest matched September 29 samples measure 6.37 FPS in the menu and 3.70 FPS in the tutorial. Individual buffer-pool, page-watch and scalar-history changes reduce specific costs but do not all establish a repeatable FPS gain. Visual artifacts and startup/stability issues remain; full playability and 30 FPS are unverified.
  • Quake II retains its maintainer-confirmed playable/completable grade. Observed gameplay has level lighting, textures, weapons and visible NPCs. Draw reuse, command batching, direct-memory queries, buffer retention and GPU clears reduce overhead. The maintainer reports 60–70 FPS peaks in lighter scenes; these are not a stable minimum or a new release benchmark.
  • Ghost of Yōtei reaches the tree, a later 3D cinematic and, in an earlier October 4 run, the illustrated movie after it. The latest tree repeat is 1.231 FPS. A later unpaused cinematic interval presents only two frames in 30.045 seconds (0.0666 FPS). Character control remains unconfirmed. Tree streaks, dark lighting, incomplete character surfaces and memory pressure remain unresolved.
  • Earlier confirmed grades for Terminator 2D: No Fate, Jets 'n' Guns 2, Asterix & Obelix: Slap Them All!, Cat Quest III, Dreaming Sarah, Jurassic Park Classic Games Collection and Rita's Rewind are retained. This release does not claim new playthrough checks for them. Tetris Effect, The Precinct, REANIMAL and the VR titles retain their documented limits.

Big Helmet Heroes — tutorial scene, September 29.

Big Helmet Heroes tutorial

Quake II — lit gameplay with enemies and the player's weapon.

Quake II gameplay

Ghost of Yōtei — tree scene; streaks and other rendering defects remain.

Ghost of Yotei tree scene

Ghost of Yōtei — illustrated movie reached in the October 4 run.

Ghost of Yotei illustrated movie after the tree

Ghost of Yōtei — responsive pause overlay over the incomplete 3D cinematic, October 5. This is not a character-control screenshot.

Ghost of Yotei incomplete cinematic and pause overlay

Why Yōtei can take minutes to draw a transition

One measured transition frame takes 197.573 seconds: graphics pipeline creation consumes 41.936 seconds and compute pipeline creation 135.167 seconds, about 90% of the frame. The next frame still spends 65.400 seconds creating compute pipelines. These first-use costs are separate from steady gameplay FPS.

Later sampled frames also upload 1.4–2.6 GiB of textures and evict roughly 4,800–5,200 sampled images per frame. Resource preparation, copies and waits remain expensive. A captured draw uses 3328×1872 internal targets despite 1080p output. Its active packed 11/11/10 UNORM blending is still unsupported.

The new shared shader-key storage removes redundant canonical program copies; one captured inventory contains approximately 200 MiB of such duplication. Large Windows driver-cache snapshots now use mapped temporary files. An isolated 256 MiB snapshot test reduces additional private memory by approximately 256 MiB and produces identical files. These memory results do not establish a new game FPS improvement.

Post-tree timing and memory report

Rendering and shader changes

  • Preserve colors during depth-only draws, correct sRGB attachment encoding, and retain color mip identities, array slices and cube-face publication. Complete resident mip chains and color-grading volumes can stay on the GPU instead of being read back, tiled on the CPU and uploaded again.
  • Preserve NGG LDS position and parameter exports used by GTA III geometry. Correct bounded fragment loops used by reflection filtering and selected scalar-buffer descriptor/resource paths.
  • Respect CB_SHADER_MASK, route compact pixel exports across attachment gaps, and retain pixels in disabled packed targets. Active unsupported packed blending still reports an error rather than silently dropping it.
  • Preserve packed 11-bit normalized color and storage-image data, improve HTILE handling and avoid invalidating sampled textures merely because a storage binding is read-only.
  • Recover checked material pointers, scalar-buffer descriptor tables and null-image resources. Keep address bounds and memory checks when resolving indirect fragment reads; reuse valid translations after texture relocation.
  • Share immutable shader analysis, scalar-memory headers and canonical translation-key prefixes. Release unused diagnostic IR, reduce duplicated FLAT loads and keep runtime resource choices out of invariant pipeline keys where supported. Unsupported shader operations remain explicit failures.

Frame preparation, transfers and synchronization

  • Record draw batches in one command buffer and reuse unchanged draws only after resource, scalar, image and storage validation. Reuse compatible dynamic viewport, scissor, depth and stencil state.
  • Add bounded adaptive CPU resource workers; reserve foreground compiler capacity during warmup and replace cold entries in bounded warmup catalogs.
  • Reduce repeated scalar walks, checkpoint scans, register/history copies, descriptor-array reconstruction and storage-descriptor updates. Reuse index staging and submission allocations, and copy contiguous tiled pixels in wider runs.
  • Index overlapping buffers and cache recency, retain completed Vulkan buffer allocations, batch native page protection changes and skip storage-image rehashing only when tracked guest bytes are unchanged.
  • Preserve newer overlapping GPU writes, partial-write backing contents, command writes and exact publication spans. Reject delayed output after a guest mapping has been replaced; hold mappings while copying/hashing inputs.
  • Batch readbacks at shared completion points and defer releases until their real GPU completion. Credit rendering time when pacing flips. Correct compute-ring doorbell consumption, wraparound and read-pointer advancement used by Little Nightmares' native AGC driver.
  • Report driver-cache save failures, retain the preceding complete file on failure and write large Windows snapshots through temporary file mappings. Detailed timing and resource counters distinguish compilation, staging, cache churn and GPU waits.

Startup, saves, extraction and launcher

  • Resolve GTA III's observed libSceAmpr imports and preserve completion-call arguments. Add the AGC Trinity-capability import and IPMI bootstrap services needed during Little Nightmares startup.
  • Preserve file identities, writable temporary save staging and guest roots across HLE waits. Correct POSIX/asynchronous/positional save writes, truncation and save metadata. Restore Windows stack bounds across firmware calls and guest escapes; preflight native unmaps and retain safe access checks after failure.
  • Fix NAPS layouts with odd outer counts, sparse regions and block-table alignment. The GTA III package now extracts its inner application payload instead of stopping after sce_sys with InvalidPfs.
  • Show PKG extraction progress and logs in the launcher. Keep 1080p as the standard output request, apply supported Unity display startup settings virtually without modifying the installed document, and expose system game performance preferences to titles that read them. Internal render targets can still be larger. Keyboard input now respects window focus.
  • Update the launcher, Windows version resources and package metadata to 0.3.3. Portable and installer packages include ps5pcem.exe, game-run.exe, pkgextractor.exe, documentation and screenshots.

Release validation

The Windows applications are built with Zig 0.16.0 / ReleaseFast, using the portable x86-64-v3 CPU baseline. The complete ReleaseSafe unit run passes 1,511 of 1,522 tests, with one skipped and ten failed. The GPU command suite passes 257/257, Vulkan 229/229, HLE 559/559, memory 31/31 and CPU 50/50. An outdated packed-UNORM test expectation found during the release check was corrected; the implemented format and emitted rendering code are unchanged.

The ten remaining failures are in SPIR-V tests, and that suite also reports one allocation leak. Running the shader tests directly from the 0.3.2 tag reproduces the same ten failing test names and one reported leak. The full suite is not green; these known failures are not hidden.

The latest cache changes pass 21 focused tests. Three native Vulkan probes cover large indirect-image tables, packed UNORM targets and sparse pointer-based fragment resources with Khronos synchronization validation, without validation errors. Earlier individual rendering probes and live runs are recorded in the linked reports. No game runs alongside the release builds or unit tests.

All three application builds succeed (14/14 build steps). The runner and extractor start and report their documented CLI usage; launcher and runner Windows version resources identify 0.3.3.

Requirements and remaining limits

Windows 10 version 2004 or newer, an x86-64-v3 CPU (AVX2, BMI2, FMA) and a current Vulkan 1.2 graphics driver. AVX-512 is not required. Games, firmware, keys, game saves, driver caches and console system libraries are not included.

The applications and installer use SHA-256 Authenticode signatures and timestamps with the existing Artur Strazewicz / PS5PCEM certificate. It is self-signed; Windows trust/SmartScreen behavior is unchanged. Download hashes are provided in SHA256SUMS.txt.

Rendering coverage, first-use compilation, memory use and long-session stability remain incomplete. Check the compatibility table for each game's exact milestone and limitations.

All commits since 0.3.2 · Earlier release notes

PS5PCEM 0.3.2

v0.3.2 release
Release notes · 3 files

PS5PCEM 0.3.2

Changes since 0.3.1-beta.1: more confirmed playable titles, Quake II rendering fixes, working movie audio and later 3D scenes in Ghost of Yōtei, a corrected and faster Tetris interface, parallel shader compilation and command preparation, and a native package extractor included with the launcher.

PS5PCEM remains an experimental emulator. Compatibility claims below distinguish maintainer-confirmed playthroughs from menus, captured scenes, and measured performance on the development machine.

Game compatibility

  • Mighty Morphin Power Rangers: Rita's Rewind is now playable and completable, confirmed by the maintainer on September 24, 2026. The latest capture shows the Red Ranger in the Command Center training stage with the HUD, objectives, and controller prompts. The existing narrowly matched CRT scaling fallback remains necessary on the development host.
  • Quake II reaches gameplay and is recorded as playable and completable following the maintainer's September 16 confirmation. Fixes cover startup imports and directory listings, deferred G-buffer writes, depth comparison samplers, and typed buffer reads used by model vertices and lighting data. Missing NPC geometry has been restored; lighting issues in some scenes remain under investigation.
  • Big Helmet Heroes advances from its intro to a correctly rendered main menu, including character models, textures, lighting, and colors. Fixes cover Gen5 single-sample texture addressing, layered render targets, and scanout channel order. Two clean menu runs measured about 3.2–3.3 FPS on an RTX 3070 Ti. Gameplay has not been verified.
  • Tetris Effect: Connected now renders its license and menu pages without the duplicated UI and vertical boundary seen in earlier builds. Publishing metadata clears correctly and retaining the title's render targets reduces repeated readbacks. License frames improved from 235 ms to 159 ms (about 4.3 to 6.3 FPS); sampled Journey frames improved from 1127–1276 ms to 318–396 ms. These are development measurements, not a claim of stable gameplay. Dark UI elements and a guest video decoder fault remain unresolved.
  • Jets 'n' Guns 2 no longer tears down and reopens the host audio device as two active output ports compete for it. Its previously confirmed playable and completable status is unchanged.

Rita's Rewind gameplay with the Red Ranger

Ghost of Yōtei: movie audio and later scenes

Intro movies now have audio. The verified v_splash_america run starts sound at 6.3 seconds, matching the start of the audio track, instead of remaining silent. Menu audio continues to work.

  • When a dump has no package.manifest, PlayGo treats chunks 0–999 as installed so the game can discover its language audio package. Manifest-backed behavior is retained. Dialogue audio has not been verified separately.
  • Decode the observed PS5 multichannel ATRAC9 layout as interleaved mono streams. Streams from 2 to 36 channels were checked, including 12-channel 7.1.4 movie audio.
  • Preserve playback timing for the unsupported DualSense haptics track by returning silence. This prevents a crash or a stalled movie audio start; it does not emulate controller vibration. Other unknown formats are rejected.
  • Correct compute completion interrupts, preserve loading progress, recover window presentation, and improve resource retirement and shader preparation.

The game reaches later 3D scenes, including the tree scene below. It is still not playable: the last measured tree scene presented 0.73 FPS, and a subsequent loading sequence encountered Vulkan device loss. Slow streaming, rendering artifacts, and late-scene stability remain open issues; a complete playthrough is not claimed.

Ghost of Yōtei tree scene

Launcher and Windows packages

  • Display the release version in the launcher; this build identifies itself as 0.3.2, also reflected in launcher and runner Windows file properties.
  • Expand the library from 8 to 32 titles, with eight per page, page controls, and mouse-wheel navigation.
  • Add Extract PKG and ship pkgextractor.exe beside the launcher and runner in both the portable archive and installer. The extractor supports observed debug FPKG layouts, inner PFS, NAPS mappings, Kraken-compressed blocks, and application payloads. Preserve SELF dynlib-data tails needed by extracted executables. Encrypted retail packages are not supported.
  • Preserve a controller's left stick when keyboard WASD input is idle.
  • Sign all three application executables and the installer with SHA-256 Authenticode and a timestamp, using Artur Strazewicz / PS5PCEM. The certificate is self-signed, so Windows trust or SmartScreen warnings may still appear. SHA256SUMS.txt accompanies the downloadable packages.
  • Include the bundled audio decoders' upstream license and copyright notices with the release documentation.

Rendering, shaders, and performance

  • Run shader compilation through a worker queue, enabled by default with two compiler workers. Retain a title/device-specific compute shader warmup catalog and release temporary shader modules after use.
  • Prepare graphics and compute commands on two bounded CPU workers, with owned command and register snapshots. Vulkan execution and visible guest completion remain ordered through one backend owner. This is preparation overlap, not independent host graphics and compute Vulkan queues.
  • Avoid waits for unrelated resident buffers using timeline retirement; defer shader fault checks until their submissions complete. Keep upload slices and detile descriptors alive until their exact GPU readers retire.
  • Index resource hazards and resident buffers, share identical shader words, reuse pipelines with dynamic viewport/scissor state, and reduce repeated shader analysis during fullscreen video.
  • Bound image and translation caches, retry image allocation after safe retirement, and use a larger render-target cache for Tetris. Experimental internal release deferral and queued host uploads remain opt-in.
  • Bind typed buffer resources for tbuffer_load_format_* and tbuffer_store_format_*, retain scalar resource checkpoints, and honor each access's own format instead of reusing another access's interpretation.
  • Enable Vulkan comparison samplers only for instructions that need them, and use identity swizzles for depth comparison views.
  • Correct layered rendering, render-target array slices, Gen5 texture addressing, float move sign modifiers and rounding, and branched wave64 LDS synchronization.
  • Preserve defined register values at partial control-flow joins, lower proven private fragment spills, and correct selected fragment quad and minimum operations on 32-lane hosts.
  • Publish HTILE/DCC metadata clears from simple buffer fills, including the observed packed R11G11B10 and RGB10A2 color formats. Speed up tiled clear edges without changing their addressing.

Command emulation and diagnostics

  • Implement or correct AGC context state and shader resource fusion, boolean predication, COPY_DATA, REWIND, jump patching, primitive state, workload markers, packet-size queries, and multi-command-buffer submission.
  • Read live copy sources and preserve packet padding and register addresses while patching command streams.
  • Add the source-build shader-dump tool, using the same decoder as translation so disassembly exposes the instructions the renderer actually sees.
  • Improve command-pool exhaustion messages, frame/resource timing counters, and safe reads of unaligned diagnostic register data.

Release validation

The three Windows applications were built with Zig 0.16.0 / ReleaseFast. The ReleaseSafe unit run passed 1353 of 1364 tests, with one skipped and ten failed. All ten failure names match the recorded SPIR-V baseline; the same suite still reports one memory leak. GPU command tests passed 214/214, Vulkan tests 173/173, and HLE tests 515/515. A ReleaseFast probe on the GPU also passed repeated RGBA16F, R11G11B10, and RGB10A2 metadata clears through compute, PM4, and DMA paths, including partial and mixed metadata preservation. Builds and tests were performed with the native game process closed.

Requirements and remaining limits

Windows 10 2004 or newer, an x86-64-v3 CPU (AVX2, BMI2, FMA), and a current Vulkan 1.2 graphics driver. AVX-512 is not required. Games, firmware, keys, and console system libraries are not included.

The shader test suite has ten previously recorded SPIR-V failures and a reported leak; the full suite is not green. Small GPU probes and menu captures do not establish whole-game stability. See the compatibility table and the Yōtei performance report for build-specific evidence and limitations.

Full commit history since 0.3.1-beta.1

PS5PCEM 0.3.1-beta.1

v0.3.1-beta.1 nightly / pre-release
Release notes · 3 files

PS5PCEM 0.3.1-beta.1

243 commits since v0.3.0-alpha.4. The headline is Ghost of Yōtei: it now loads a 3D world and composes its in-game interface over it, where the previous release stopped at the brightness slider. A new title, Dreaming Sarah, plays through at 60 FPS. And a crash that made this emulator do nothing at all on a large class of processors is fixed — if an earlier release started and vanished on your machine, read the first section.

Fixed: nothing happened at all on CPUs without AVX-512

A release binary is built on one machine and run on many. build.zig asked Zig for the target without naming a CPU, so Zig used the build machine's own — and a release produced on a host with AVX-512 executed an AVX-512 instruction on a Ryzen 5000, or any other CPU without it. The process died with STATUS_ILLEGAL_INSTRUCTION (0xc000001d) before it opened a window, touched Vulkan, or reached any code that could report why. From the outside that is indistinguishable from the program not starting: no error, no log, nothing. Unblocking the file, running as administrator and allowing it through SmartScreen all changed nothing, because none of them was the cause.

Builds are now pinned to the x86-64-v3 baseline — AVX2, BMI2 and FMA, which every CPU able to drive this emulator has had since 2013. -Dcpu= and -Dtarget= still override it for anyone building their own.

This was reported by community members who did the diagnosis themselves, down to the Event Viewer exception code and the build.zig line responsible. That report is the reason it is fixed.

Ghost of Yōtei: into the game

Ghost of Yotei difficulty selection composed over a loaded 3D scene

The title now reaches and renders its difficulty selection over a fully loaded 3D scene — geometry, bark and rock materials, ember particles, depth and lighting — with the option, its description, the arrows, the position dots and the cross glyph all legible. Earlier releases stopped at brightness calibration.

This is not playable, and the release does not claim it is. Frames there measure 1504–1554 ms for 321 draws and about 1330 compute dispatches, which is 0.6 FPS. Reaching that screen takes minutes of intro and scene loading, and how many minutes varies widely between runs of the same build.

What moved it there, mostly: exact scalar provenance through masked loops and lane spills, BVH ray-intersection decoding and bounded GFX10 ray lowering, guest tessellation factor and domain interfaces, custom per-vertex fragment interpolation, fragment position and front-facing inputs initialized from the rasterizer, packed SNORM animation buffers, and a long list of RDNA2 lowering corrections — display clamp, output scaling, GDS modifiers, round-toward-zero in packed half conversion, and SCC after scalar Boolean and 64-bit logical operations.

Dreaming Sarah: playable and completable

Dreaming Sarah world scene with an NPC

Confirmed by the maintainer on September 15, 2026. Menus, the animated title, world scenes, characters and NPCs render correctly, and the title menu and first scene hold the 60 FPS cap on an RTX 3070 Ti — 5,280 flips over 90 seconds. The frame rate falls on the second gameplay scene; that scene is not yet measured.

Two things had to be fixed to load it. The loader now reads an absent dynlibdata tail as absent: a module can carry the PT_SCE_DYNLIBDATA header with nothing behind it — this title's libc.prx places the segment at its own last byte and claims 26 more, in the untouched file as much as in a patched one — so there is provably nothing there to read. Only a bare ELF can say that; a SELF still reports truncation, and so does any segment that starts inside the image and runs off the end. Three libSceAgc imports are now bound, with sceAgcJumpPatchSetTarget implemented rather than stubbed, because reporting a jump patch that did not happen leaves a command stream that still reads as valid and jumps wherever the packet already pointed.

TruncatedSelf also used to name neither the file nor the shortfall, while the failure could be in any module. It now prints the range it wanted against the length it had.

Launcher

  • Vulkan is now checked, not asserted. At startup the launcher loads the Vulkan loader, creates an instance at the 1.2 the renderer itself requires, and enumerates devices. It reports one of four outcomes: ready, with the API version and adapter name that someone filing a bug report needs; no loader; no device; or a driver below 1.2 — each phrased as what to do about it, in all eight interface languages.
  • Speed / Graphics rendering preset, mirroring the console's two modes and defaulting to Speed. Speed enables sampled-image backing reuse and deferred retirement; Graphics keeps the conservative synchronous paths.
  • Output resolution preference, defaulting to 1080p.
  • A link to ps5pcem.com in the sidebar.

Performance

sceKernelBatchMap was stopping the guest for 200–1200 ms per batch. Reservation and metadata intervals are now edited in place, unmapped intervals removed in place, and adjacent batch-map entries issued as one host mapping. Per-frame guest time outside the submit path fell from roughly 1000 ms to 6–11 ms.

Around 77 further performance changes: graphics pipelines, resident buffers and render targets indexed by address; detiled textures uploaded without a CPU round trip; sampled image views shared and backings reused; identical fixed direct mappings reused; wave ballots, EXEC predicates, dispatcher registers and buffer address calculations reused within SPIR-V blocks; alternating LS/HS analyses retained; larger graphics translation working sets.

A guest mip pyramid is now sampled from the images that produced it, rather than read back from guest memory the levels were never published to — which was handing shaders a blank texture. Two real defects surfaced while writing it: a copy sized from the producer instead of the destination level (a guest rounds a level up where Vulkan rounds down, so level 7 of a 960×540 chain arrives 8×5 against a 7×4 level), and an evicted chain leaving live views onto freed memory. Both ended in device loss before they were understood.

Compatibility: a regression found and fixed

Mapping a whole granularity-aligned range as one host view is fewer calls, and it is what took Yōtei's batch maps under 50 ms. It also stopped Cat Quest III: 60 frames against 2640 in the same 100 seconds, three runs of each, with the title falling into the stall watchdog. That change is reverted. The coalescing around it stays and carries most of the original win; Yōtei's batch maps cost 139–209 ms again, which is the price of a title that runs at all.

Why the wider view hurts that particular guest is still unknown, and the diagnostic the change was originally justified with reports zero on the broken build too — so it never spoke to the question.

Known limits

  • Ghost of Yōtei is not playable: 0.6 FPS in scenes, minutes to reach them.
  • Tetris Effect: Connected, REANIMAL, The Precinct and Rita's Rewind reach the milestones described in project-status.md; gameplay is not claimed for any of them.
  • 10 SPIR-V tests fail, as they did before this release; 1194 of 1205 pass.
  • Vulkan validation layers cannot be enabled on a host whose SDK registered its layers under a path that no longer exists. The launcher's new check reports the driver, not the SDK.

Requirements

Windows x64, a Vulkan 1.2 driver, and a CPU with AVX2 — 2013 or newer. Game content is not included and is not distributed with this project.

PS5PCEM 0.3.0-alpha.4

v0.3.0-alpha.4 nightly / pre-release
Release notes · 3 files

PS5PCEM 0.3.0-alpha.4

This release brings four more launcher languages, substantial progress in 3D rendering and Ghost of Yōtei's startup interface, and fixes for Cat Quest III and Jurassic Park Classic Games Collection. It collects the significant work since v0.3.0-alpha.3, including 88 intervening commits before release preparation.

Playable and completable games

The project maintainer confirmed the following playthroughs on September 8, 2026:

Game Reported status
Terminator 2D: No Fate Fully playable and completable; completed without reported problems
Asterix & Obelix: Slap Them All! Fully playable and completable
Cat Quest III Fully playable and completable
Jurassic Park Classic Games Collection Fully playable and completable

These are title-specific playthrough reports. Frame rate varies by game, scene and hardware; a completed playthrough does not imply a locked 30 or 60 FPS. Detailed milestones and gameplay captures live in project-status.md.

Cat Quest III island gameplay with restored scenery and colors

Launcher: eight interface languages

  • Add Simplified Chinese, Spanish, Arabic and Portuguese alongside English, Russian, German and French. Navigation, game-library prompts, input settings, saves, preferences and status/error messages are translated.
  • Expand language selection to two rows, with matching click areas and room for the sound, FPS and project-information panels.
  • Give Arabic text right-to-left paragraph direction and appropriate alignment, preserving centered buttons and the original direction of paths and key names.
  • Preserve existing saved language IDs and restore all eight choices after a restart. Update Windows executable and installer version metadata to this release.

Ghost of Yōtei: beyond the intro

  • Restore continuous intro playback at approximately the stream's native 30 FPS in ReleaseFast on the current RTX 3070 Ti host. Sampled movie frames take about 30–32 ms, without the former freeze after a few pictures.
  • Correct Videodec2 picture fields, 256-byte NV12 row alignment, picture-specific acknowledgements and end-of-stream draining. Separate decoder instances and derive cadence from the stream so clips neither race to the end nor stall on the guest's former 100 ms polling timeout.
  • Advance through streamed menu-resource loading and into the animated loading indicator, Digital Deluxe Bonus, Gift of the Northern Star, Pre-order Bonus, and brightness calibration. The reference captures show readable text, confirmation glyphs, and the calibration wolf image, instruction and slider.
  • Render parts of the interface and 3D background; the maintainer observed trees in the scene and heard menu music. Audio-library support now includes more of the interfaces bound by the title, including AudioOut2 speaker/port state and queued-grain accounting.
  • Unblock the menu resource catalog and asynchronous scene work, preserve compute queue ownership and completion labels, and retire validated SDK 1.1 command ranges without repeatedly replaying stranded work.

Verification boundary: the complete bonus/brightness sequence was verified on reference build 796a484. The latest renderer was checked through the intro into scene loading, but that full sequence has not been repeated on this release candidate. A complete title menu, its full animated background and gameplay are still unverified. Scene preparation and UI remain very slow: reference runs took minutes to prepare resources and seconds per UI frame. See the build-specific investigation.

Cat Quest III and Jurassic Park rendering

  • Fix Cat Quest III's upside-down world and intro composition while retaining the UI's orientation. Procedural fullscreen passes preserve their UV direction.
  • Preserve fragment coverage, alpha-to-coverage state and stencil-only passes. This removes the observed menu-text corruption and keeps language-list text visible and clipped inside its panel instead of covering it with a white fill.
  • Implement the original AGC interpolant-mapping interface used by Cat Quest III. Adventure-selection artwork and labels, mountains and other scenery now use the correct vertex-to-fragment exports.
  • Honor registered RGBA/BGRA scanout formats. The captured island now has blue sea and sky and the expected character/scenery colors instead of swapped red and blue channels.
  • Restore Jurassic Park startup rendering, including its title logo, confirmation prompt, collection cover art and animated preview. Respect explicit color disable and DX clipping while retaining reset-depth extent recovery for Ghost of Yōtei's active HTILE-backed surfaces.

3D shaders, materials and GPU correctness

  • Recover pointer-backed and indirect material resources through scalar/vector register moves, VCC offsets, restored execution masks, branches and bounded loops. Support large global texture tables and mixed sampled-image dimensions at runtime, with typed bounds and validation of malformed descriptors.
  • Execute bounded absolute/FLAT memory reads used by scene shaders and report the first unmapped active address. Resource recovery now follows instructions actually visited, avoiding invented bindings from inactive shader branches.
  • Correct wave32/wave64 masks, both words of vector conditions, SAVEEXEC operand order and SCC, unsigned carry, lane identity and cross-subgroup synchronization. Preserve DPP row/permutation behavior and whole-quad execution.
  • Add or correct explicit-LOD image gathers and depth comparisons, array gradients, RDNA2 sampling operands, fragment storage-image writes, BC4 and RG16 SNORM sampling, visible array-layer uploads and mixed integer exports.
  • Preserve flat attribute channels and scalar spills. Support D16 loads into previously undefined vector registers, high-halfword stores, scene mask comparisons and bounded GDS word reads/writes.
  • Apply uniform HTILE clears to resident depth images, preserve stencil during depth-only clears, support matching D32 depth bias, and improve depth/stencil barriers and compute-buffer synchronization.
  • Retain descriptors, prepared render targets and image pins until queued draws finish using them, preventing cache eviction or command flushes from invalidating live GPU work.

Performance and runtime stability

  • Cache translated graphics SPIR-V with explicit memory/entry limits and cheaper field serialization. Reuse compatible smaller prefixes of uploaded buffers while retaining exact descriptor bounds.
  • Cat Quest III opening-island samples improve from roughly 148 ms (~6.8 FPS) to a 124 ms median (~8 FPS) on the test host. Shader-translation work drops from about 40 to 7 ms and buffer uploads from about 124–127 to 65–75 MiB per sampled frame. The later capture has a local co-op HUD, so this is an observed comparison of the same area, not a controlled benchmark of identical frames.
  • Reuse prepared graphics/compute resources and driver compute-pipeline caches; index resident sampled images by guest address and shader control flow for resource recovery. Share immutable FLAT snapshot headers and retain more small storage images within the cache budget.
  • Prefer host-cached readback memory, cache reads of resident compute buffers, accelerate Windows x64 memory fills, and reuse swizzle offsets for volume/MSAA copies. Reduce scene index checks and unnecessary depth readbacks.
  • Fix Windows placeholder handling when a small guest mapping occupies the tail of a coalesced reservation, preventing the observed Cat Quest III startup HostCommitFailed. Bound permission checks to overlapping mappings and prevent thread diagnostics from suspending their own calling thread.

Validation and remaining limits

  • Build the launcher and runner in ReleaseFast. Exercise all eight launcher languages across settings, library, controls and saves, including restart persistence and visual checks of the four new translations.
  • Focused checks during development cover guest-memory mapping, interpolant mapping, shader caching and Vulkan scanout/orientation, fragment coverage, stencil/UI and HTILE behavior. Shader changes include targeted SDK GPU probes; this does not establish correctness for every game or shader.
  • Jurassic Park's collection frontend still has a known AvPlayer handle-pool limit when repeatedly cycling preview videos; later previews can become static. The maintainer's playable/completable report concerns the games themselves.
  • Ghost of Yōtei's full menu and gameplay remain work in progress. Other titles can still have missing graphics, stalls or crashes; consult the status document for each title's observed milestone.

Downloads and requirements

  • Windows x64 portable ZIP, per-user installer, and SHA256SUMS.txt are attached to this release. Keep ps5pcem.exe and game-run.exe together.
  • Windows 10 2004 or newer, x86-64, with a Vulkan 1.2-capable graphics driver.
  • Games, firmware, keys and console system software are not included.
  • These prototype binaries are not Authenticode-signed, so Windows may show an Unknown Publisher or Microsoft Defender SmartScreen warning.

Full commit comparison

PS5PCEM 0.3.0-alpha.3

v0.3.0-alpha.3 nightly / pre-release
Release notes · 3 files

PS5PCEM 0.3.0-alpha.3

This prototype update adds video decoding for titles that use libSceVideodec2, which is what lets Ghost of Yōtei reach and play its intro.

Added

  • Decode the H.264 access units a title hands to libSceVideodec2. The host decoder receives the stream, the picture is converted from NV12 with BT.709 coefficients, and decoding is paced to about one picture per display interval so a title feeding access units as fast as they are accepted no longer drains a whole movie in a few frames.
  • Ghost of Yōtei decodes and presents its intro video with sound. Its in-engine frame behind the video is still black, so this is a video-playback milestone rather than a menu or gameplay claim.
  • Recover the completion generation for an SDK 11 compute queue from the caller when the queue object is spilled rather than left in a register, which releases a render thread that would otherwise spin.

Fixed

  • Report a decoded picture where a title reads it. The record was laid out from the wrong end, so a title checked a size field for readiness and never saw the frames it had been given.
  • Report a frame-slot size a title can divide its arena by. A slot as large as the whole arena left room for none and ended decoder setup before a single frame was decoded.
  • Stop presenting an unconverted frame as a black one: a frame whose packed format could not be converted was handed back as freshly zeroed bytes, which was indistinguishable from a frame the title rendered black.
  • Stop the launcher clipping its own name. The brand cells were too small in both directions, so the title lost the bottom of every glyph and the subtitle ended mid-word.
  • Never hand out an asynchronous read identifier that is still in use. A title that streams keeps batches open across many submissions, and the table wrapped onto live entries during ordinary loading.
  • Stop the quiet-thread diagnostic faulting on a wrong guess. It followed two addresses out of a suspended thread without checking either, which ended the emulator a couple of frames into video playback.
  • Run command arenas a title strands behind a CPU-polled fence, rescuing each once per submission rather than replaying it in a loop.

Requirements and limitations

  • Windows 10 2004 or newer, x86-64, with a Vulkan 1.2-capable graphics driver.
  • Compatibility remains experimental; black screens, missing graphics, stalls and crashes are still possible in unsupported titles.
  • Games, firmware, keys and console system software are not included.
  • These prototype binaries are not Authenticode-signed, so Windows may show an Unknown Publisher or Microsoft Defender SmartScreen warning.

PS5PCEM 0.3.0-alpha.2

v0.3.0-alpha.2 nightly / pre-release
Release notes · 3 files

PS5PCEM 0.3.0-alpha.2

This prototype update fixes missing game cover art in the Windows launcher.

Fixed

  • Decode each title's sce_sys/icon0.png directly through the Windows GDI+ image codec.
  • Stop depending on PNG file associations and the Windows shell thumbnail cache, which could return a generic white document icon instead of artwork.
  • Preserve the eight-title recent-game library and its existing local paths.

Requirements and limitations

  • Windows 10 2004 or newer, x86-64, with a Vulkan 1.2-capable graphics driver.
  • Compatibility remains experimental; black screens, missing graphics, stalls and crashes are still possible in unsupported titles.
  • Games, firmware, keys and console system software are not included.
  • These prototype binaries are not Authenticode-signed, so Windows may show an Unknown Publisher or Microsoft Defender SmartScreen warning.

PS5PCEM 0.3.0-alpha.1

v0.3.0-alpha.1 nightly / pre-release
Release notes · 3 files

PS5PCEM 0.3.0-alpha.1

This is the first public Windows prototype build of PS5PCEM. It is intended for compatibility testing and development feedback, not as a finished general-purpose emulator.

Included

  • Native Windows launcher with an eight-title recent-game library and local cover art.
  • Portable ZIP and per-user installer; neither package requires administrator access.
  • Writable per-title savedata browser shared by launcher and direct CLI runs.
  • Vulkan 1.2 VideoOut path, experimental RDNA2-to-SPIR-V translation and native x86-64 guest execution.
  • Direct DualSense/DualShock HID input, XInput fallback and keyboard/hybrid profiles.
  • Adaptive host audio buffering and title-specific scheduling improvements.

Requirements

  • Windows 10 2004 or newer, x86-64.
  • A current Vulkan 1.2-capable graphics driver.
  • Legally obtained decrypted game content and any required system files. They are not distributed with PS5PCEM.

Important limitations

  • Compatibility is incomplete; black screens, missing graphics, stalls and crashes remain possible.
  • The release contains no games, firmware, keys or copyrighted console system software.
  • The installer keeps generated saves and configuration when uninstalling so user data is not silently removed.

Use SHA256SUMS.txt to verify either download before running it.