11.60 joins the supported profile set

ppr-patch 15.10 adds an exact A53 PPR profile for firmware 11.60. The project now covers releases from 1.00 through 11.60 with 56 unique layouts and 90 target-specific mappings.

The 11.60 retail build uses the same A53 code layout as 11.40, but it has a distinct firmware identifier: 0x11600000. Rather than treating the two releases as interchangeable, version 15.10 adds a separate profile row and retail target mapping for 11.60. That preserves the project's profile-matching approach while extending coverage to the newer release.

What the patcher does

ppr-patch provides a profile-driven A53 selector for package reads. Its dynamic selector can choose between the native path and the PLAINTEXT_NOAUTH path on a request-by-request basis. Native requests continue through the original A53 helper, while only marked requests receive the alternate handling.

This is not a global plaintext switch. Native requests and marked plaintext mounts can alternate after the selector has been installed. The selector covers ten direct callers across FlashRead, ExtFs, and NSID2 or delta paths, while retaining each caller's existing buffer selection, dependencies, queue state, and completion behavior.

The project also includes a separate KMB whitelist-bypass design for opcode 0x53 encryption handling. That operation is independent of the PPR selector: the a53_ppr payloads do not read, change, or restore the FsWrite instruction. The standalone KMB payloads use their own profiles and state machine, so users should not treat the two functions as one combined patch.

Why the new profile matters

Exact profiles allow the patcher to validate the live A53 layout before making changes. The resolver checks the firmware suffix, target mapping, segment records, executable addresses, patch sites, and expected instruction words. Unknown releases, layouts, instructions, and connected trampolines are rejected before the first write.

That validation is particularly useful when closely related firmware releases share code but not identifiers. Although 11.60 shares 11.40's retail layout, its separate firmware ID ensures that the runtime selects a mapping explicitly verified for the release instead of relying on a general firmware assumption.

The project also fails closed when it encounters an unrecognized interrupted or legacy state. Current installation and removal paths use ordered mutations and immediate readbacks, while older retired hook locations are checked before any write. A legacy state must be resolved in a matching environment rather than being silently migrated by the current payload.

Verification and operational safeguards

The 15.10 notes report byte-identical C and assembly wrappers, hooks, and selector semantics across the archived releases covered by the project. The source-ELF comparison also matches, and the host PPR test passes. These checks are intended to confirm that adding the 11.60 row did not alter behavior for existing profiles.

Every action that changes A53 code requires the idle confirmation flag, shown by the project as --idle or --i-know-ppr-idle. This represents an operator-confirmed condition in which PPR reads, mounts, APR binds, and unmount work have already drained; the payload cannot establish that condition on its own.

The patcher keeps transport and mutation safeguards in place during installation. It verifies reads and writes, rejects stale transaction responses, limits production mutations to the documented fast-path packet shape, and restores temporary fast-installer timing changes after the phase transition. The status action is read-only and reports selector state, resolved cave addresses, and transport counters.

Payloads included with 15.10

The release includes six ELF payloads: a53_ppr_install.elf, a53_ppr_install_fast.elf, a53_ppr_patcher.elf, a53_ppr_native.elf, a53_ppr_plaintext.elf, and a53_ppr_uninstall.elf.

The standard installer uses the verified fast transport, while the fast installer additionally enables the documented phase-five time acceleration. The patcher payload is intended for argument-driven status and control. The native and plaintext files are aliases for launchers without arguments, and the uninstall payload restores the exact stock entry instructions.

The project specifically says to deploy only the six attached a53_ppr payloads from this release. Older root-level files from previous builds may contain a retired implementation and should not be reused.

Release details

Version 15.10 was published on October 29, 2026. Its central change is the 11.60 profile addition; the release notes do not report a new read-path design or a change to the selector's request semantics.

For users on an already covered firmware, the main benefit is continuity: the release reports that existing archived profiles retain matching wrappers, hooks, selector behavior, and source-ELF output. For users on 11.60 retail firmware, the new exact mapping extends the same profile-driven support model to that release while preserving fail-closed validation.

ppr-patch editorial illustration
AI-generated editorial illustration; not an application screenshot.