Skip to content

PoorDS4 v0.1.0-rc38

Latest

Choose a tag to compare

@ItsBlurf ItsBlurf released this 08 Aug 23:21

PoorDS4 RC38 fixes controller routing in games that preallocate more than one disconnected pad slot and adds an exact firmware 8.60 compatibility manifest.

What changed

  • Match the destination by the DS4's unique (user ID, pad index) before using the existing global fallback. This fixes Pragmata while preserving correct P1/P2 routing when a DualSense is also connected.
  • Reject duplicate controller identities and require the source identity for a sole connected fallback instead of guessing.
  • Add the exact 8.60 (0x08600004) six-export manifest recovered from the supplied firmware report. All structural and fail-closed checks still run before any game import is changed.
  • Extend compatibility reports to schema 5 with per-entry user IDs and source-identity counts.
  • Make release builds reproducible and strip workstation paths from public assets.

Verification

  • On firmware 11.60, one RC38 session followed Pragmata, JoJo, and FC26 without reinjection. Pragmata accepted input, JoJo entered a battle, and FC26 reached gameplay.
  • The exact stripped release ELF was installed again into a live game and produced translated frames and button changes with zero read, write, lease, contention, or bridge-health failures.
  • All targets compile warning-free with ps5-payload-sdk v0.42 and pass PS5-target static analysis, focused-tree safety assertions, ELF ABI checks, and SDK dependency checks.
  • Two independent clean release builds produced byte-identical assets and the checksums in SHA256SUMS.txt.

Firmware status

  • 11.60: RC38 live-tested across Pragmata, JoJo battle, and FC26 gameplay.
  • 8.60: exact manifest added from the supplied source report; RC38 controller testing on 8.60 is still required.
  • 12.40: exact manifest retained from supplied reports; RC38 hardware testing is still required.
  • Other firmware: eligible only after every bounded structural runtime check passes; untested versions are not guaranteed.

Download PoorDS4rc38.elf for normal automatic use. PoorDS4-status.elf is read-only. Use PoorDS4-stop.elf for cooperative cleanup or before replacing a running build. PoorDS4 exits for rest mode safety and must be reinjected after wake.