272 lines
19 KiB
Markdown
272 lines
19 KiB
Markdown
# Firmware compatibility
|
|
|
|
Firmware `9.60` remains the only exact firmware in scope. Separately approved
|
|
Phase-1.0D runs have proven SDK CRT/main/notification execution on that device,
|
|
but they do not prove the Phase-0 capability probe, GNM, general VideoOut,
|
|
rendering, cleanup or compatibility of any other artifact. On 2026-07-22 the
|
|
exact Phase-1.0E result artifact received and consumed one single-use
|
|
authorization; all authorization fields are again false.
|
|
|
|
| Firmware | Discovery build | Probe executed | Result | Evidence | Rendering |
|
|
|---|---:|---:|---|---|---:|
|
|
| _none_ | no | no | unknown | no hardware authorization | prohibited |
|
|
| `9.60` | yes, offline only | no | unknown; SDK CRT execution blocker | `docs/evidence/probe-9.60-offline-2026-07-17.md` | prohibited |
|
|
| `9.60` Phase 0.6 lifecycle | no artifact built | no | blocked: exact loader has unbounded/unknown effects | `docs/runtime/phase-0.6-loader-audit.md` | prohibited |
|
|
| `9.60` Phase 0.7 lifecycle | yes, offline only | no | hardened runtime ready for a separately approved installation; hardware behavior unproven | `docs/runtime/phase-0.7-hardening.md` | prohibited |
|
|
| `9.60` Phase 0.8 preflight | no new artifact | no | read-only on-device preflight blocked: collector side-effect freedom and current rollback state unproven | `docs/runtime/phase-0.8-read-only-preflight.md` | prohibited |
|
|
| `9.60` Phase 0.9A anti-brick | no target artifact | no | offline design only; filesystem atomicity, durability and independent recovery unproven | `docs/runtime/phase-0.9-installation-transaction-design.md` | prohibited |
|
|
| `9.60` Phase 0.9B observer | no target artifact | no | blocked before build: startup/exit ABI and non-persistent output channel unproven | `docs/runtime/phase-0.9b-bounded-observer-design.md` | prohibited |
|
|
| `9.60` Phase 0.9C feasibility | no target artifact | no | blocked: startup/exit/cleanup, current bounded output, firmware source two, and observation effects remain unproven | `docs/runtime/phase-0.9c-static-audit.md` | prohibited |
|
|
| `9.60` Phase 0.9D readback | no target artifact | no | blocked: existing stack has no PS5-to-host file response; live paths and recovery remain unproven | `docs/runtime/phase-0.9d-readback-feasibility.md` | prohibited |
|
|
| `9.60` Phase 0.9E-R provenance | no target artifact | no | local outer Y2JB backup does not match any current official asset; official source has no 9020 listener implementation | `docs/runtime/phase-0.9e-r-official-release-correlation.md` | prohibited |
|
|
| `9.60` Phase 0.9E-R2 inner provenance | no target artifact | no | local inner differs from the mandatory official and selected community inners; MediaFire maker/source and deployment remain unbound | `docs/runtime/phase-0.9e-r2-final-provenance-decision.md` | prohibited |
|
|
| `9.60` Phase 1.0D RUN A/B | yes, exact one-shot artifacts | yes, two separately authorized runs | C1 proves SDK CRT/main/notification; RUN-B stage remains unclassified because its notification was unreadable | `docs/retroarch/phase-1.0e-device-observations.md` | unproven |
|
|
| `9.60` Phase 1.0E result channel | yes, exact one-shot artifact | yes, one authorized run | inherited stdout returned valid D00-D02 with platform result `0`; remote EOF before D03; permission consumed | `docs/retroarch/phase-1.0e-inherited-result-channel.md` | unproven beyond D02 |
|
|
| `9.60` Phase 1.0F interval diagnostic | yes, offline exact artifact | no | I00-I14 source interval prepared and statically audited; no device authorization | `docs/retroarch/phase-1.0f-startup-interval.md` | unproven beyond D02 |
|
|
| `9.60` Phase 1.0G interval run | exact one-shot artifact | yes, consumed | valid through I03; deterministic no-argument/no-menu help exit before I04 | `docs/retroarch/phase-1.0g-device-result.md` | SDL/VideoOut unproven |
|
|
| `9.60` Phase 1.0H startup args | yes, offline exact artifact | no | scoped argc-2 correction built and statically audited; no device authorization | `docs/retroarch/phase-1.0h-startup-args.md` | unproven beyond I03 |
|
|
| `9.60` Phase 1.0H one-shot run | exact one-shot artifact | yes, consumed | I04 and SDL/VideoOut reached; buffers registered; first flip submit and SDL init returned `-1` | `docs/retroarch/phase-1.0h-device-result.md` | visible flip unproven |
|
|
| `9.60` Phase 1.0I postmortem | no new artifact | no new run | offline source/map/disassembly binds submit `(handle,0,1,0)`; exact E118 operation, submit errno and root cause remain unproven | `docs/retroarch/phase-1.0i-flip-and-write-analysis.md` | no new rendering evidence |
|
|
| `9.60` Phase 1.0J-1.0O diagnostics/results | exact offline artifacts and consumed one-shot runs where recorded | only separately authorized J/K/O attempts | first blocked write was `MKDIR`; write-free M reached VideoOut but first flip still returned `-1`; all permissions consumed | `docs/retroarch/` Phase-1.0J through O records | visible presentation and cleanup unproven |
|
|
| `9.60` Phase 1.0P-1.0S analysis | no new target artifact | no new run | public VideoOut semantics and a source-proven launch-context fix remain unavailable; hbldr/shsrv is only a source candidate | `docs/retroarch/` Phase-1.0P through S records | parameter or launcher change blocked |
|
|
| `9.60` Phase 1.0T-1.0AY offline route design | host-only models and source audits | no device request | deployed shsrv identity remains unknown; result-channel, launch-context, protocol and exact source-base work are offline only | `docs/retroarch/` Phase-1.0T through AY records | no firmware/rendering evidence |
|
|
|
|
## Rules
|
|
|
|
- A firmware row is added only for an exact, reproducible identifier.
|
|
- Build allowlisting is not runtime compatibility evidence or execution
|
|
permission.
|
|
- `symbol present` means only that lookup returned non-null on that observation.
|
|
- Presence does not establish signature, semantics, or rendering compatibility.
|
|
- Failure on an unlisted firmware is the expected fail-closed behavior.
|
|
- Compatibility does not transfer between firmware revisions.
|
|
- Every observation must reference the source commit, manifest hash, SDK lock,
|
|
approval, and redacted crash/probe log.
|
|
|
|
The build cache variable `CHIMERA_GFX_PS5_ALLOWED_FIRMWARE` defaults to `NONE`.
|
|
Changing it is a deliberate build action, not a repository compatibility claim
|
|
and not permission to execute the artifact.
|
|
|
|
The default capability-probe and every VideoOut review artifact embed `NONE`.
|
|
The 9.60 capability artifact has its own digest, manifest, and offline review.
|
|
It remains execution-blocked because the pinned SDK payload CRT writes kernel
|
|
process state before `main`. VideoOut is not allowlisted for 9.60 and also
|
|
remains blocked by the unproven bounded-wait requirement in
|
|
`docs/phase1/HARDWARE_TEST_PLAN.md`.
|
|
|
|
Phase 0.5 did not create a firmware-9.60 startup artifact: the exact loader
|
|
caller, return, cleanup, crash, and pre-entry contract is unproven. The older
|
|
9.60 probe hash `4be1c17b4964f2b68c39b5145bc4af4619c32512d60269ecf5c39728b390fa63`
|
|
is permanently denylisted independent of future firmware or approval records.
|
|
|
|
Phase 0.6 exactly matched the installed Payload Manager v0.3.1 and elfldr
|
|
v0.23, but the firmware identifier is still user-attested rather than
|
|
device-attested. The lifecycle remains blocked by unbounded ptrace/payload
|
|
runtime, unproven return and cleanup, incomplete restoration, absent
|
|
launch-time hash enforcement, and the manager's persistent upload path.
|
|
`__patch_init` is now a documented payload-process-local effect and is not by
|
|
itself the blocker.
|
|
|
|
Phase 0.7 uses new private hardened elfldr and controlled Payload Manager
|
|
artifacts rather than reclassifying the old binaries. Exact firmware 9.60 is
|
|
explicitly confirmed by Jens but has not been queried from the device in this
|
|
task. Offline compiler, linker, test, disassembly, callgraph, and
|
|
reproducibility evidence supports
|
|
`READY_FOR_HARDENED_RUNTIME_DEPLOYMENT`. This is not an installed, transferred,
|
|
executed, or compatibility-tested state, and it authorizes no console action.
|
|
|
|
Phase 0.8 preserves that static Phase-0.7 decision but blocks the operational
|
|
read-only preflight before any connection. The stock Payload Manager HTTP
|
|
interface mutates in-process state, and no alternative collector currently
|
|
proves freedom from atime, audit, cache, metadata, service, or logging side
|
|
effects. Firmware 9.60 remains user-attested rather than confirmed by two
|
|
current device sources.
|
|
|
|
Phase 0.9A does not add firmware evidence. Its virtual host model cannot prove
|
|
PS5 filesystem identity, atomic switch, file or directory durability,
|
|
power-loss behavior, quiescence or independent recovery. Every such property
|
|
remains `UNPROVEN`, all device authorizations remain false, and no target
|
|
artifact is built.
|
|
|
|
Phase 0.9B also adds no firmware evidence. The normal SDK startup path violates
|
|
the phase's kernelwrite-free rule, a freestanding return/exit cleanup contract
|
|
is unproven, and the hash-bound controlled loader route does not return payload
|
|
output. The observer build stops before source or artifact creation. Firmware
|
|
9.60 remains user-attested and runtime-unproven.
|
|
|
|
Phase 0.9C identifies SDK `kernel_get_fw_version()` as source 1, but that
|
|
function reads a `libSceLibcInternal` process-parameter SDK field and has no
|
|
runtime observation in this phase. The SDK stub name
|
|
`sceKernelGetProsperoSystemSwVersion` has no accepted public signature,
|
|
semantics, side-effect contract, or firmware-9.60 evidence and is not source
|
|
2. The host result record can bind two exact values to a nonce, request ID and
|
|
artifact hash, but no target output implementation exists. Firmware agreement
|
|
therefore remains `BLOCKED_FIRMWARE_SOURCE_INCOMPLETE`.
|
|
|
|
Phase 0.9D adds no firmware evidence and performs no device request. Its local
|
|
source audit finds only host-to-PS5 upload/launch and internal read paths, not a
|
|
binary-safe PS5-to-host component download. Configured, packaged, and
|
|
historical reference paths are not current live-path evidence. Firmware 9.60
|
|
therefore remains user-attested and runtime behavior remains `UNPROVEN`.
|
|
|
|
Phase 0.9E also adds no firmware evidence. The local Y2JB-named backup
|
|
candidate covers firmware 4.03 through 12.40 only by filename claim; its opaque
|
|
`SIECAF` content cannot be tied to the exact firmware-9.60 deployment or to an
|
|
auditable port-9020 listener. No bootstrap, restart, host-to-memory, output,
|
|
filesystem, autoload, crash, or reboot property was tested on hardware.
|
|
Firmware 9.60 remains user-attested and runtime behavior remains `UNPROVEN`.
|
|
|
|
Phase 0.9E-R confirms only that official release 1.6 source permits Lapse's
|
|
version-selection path through firmware 10.01. Because the local outer backup
|
|
matches no current official asset, that source logic is not bound to the
|
|
deployed bytes and is not runtime compatibility evidence for firmware 9.60.
|
|
|
|
Phase 0.9E-R2 adds no firmware evidence. Full host-side inner and SIECAF
|
|
comparisons are negative, and the MediaFire page exposes no source binding.
|
|
Even a positive structural or byte match would not prove current deployment.
|
|
Firmware 9.60 remains user-attested and runtime behavior remains `UNPROVEN`.
|
|
|
|
Phase-1.0D RUN A changes one narrow firmware statement: the operator visibly
|
|
observed the exact C1 marker, proving that hardened elfldr reached the normal
|
|
SDK CRT, `main` and the notification ABI on the firmware-9.60 console for that
|
|
exact canary hash. RUN B produced one unreadable notification and therefore
|
|
does not identify a D-stage. Phase-1.0E RUN C adds exact artifact-bound evidence
|
|
for D00-D02 and the inherited result channel. D02 reported platform result `0`;
|
|
remote EOF occurred before D03. It proves neither SDL/VideoOut nor rendering,
|
|
terminal status, cleanup or safe exit. Every authorization is false.
|
|
Phase 1.0F adds no firmware evidence: its I00-I14 artifact exists only as an
|
|
offline build and has never been transferred, received from or executed on a
|
|
device.
|
|
Phase 1.0G adds exact artifact-bound firmware evidence through I03. Captured
|
|
ordinary stdout proves the build took RetroArch's no-argument/no-menu help path
|
|
and exited before I04. It adds no SDL, VideoOut, rendering, terminal cleanup or
|
|
safe-exit evidence. Its one-shot permission is consumed.
|
|
Phase 1.0H adds no firmware evidence. It is an offline, reproducible correction
|
|
for that source-bound argument defect and remains transfer- and
|
|
execution-ineligible. Its modeled I04 boundary and all later stages are
|
|
unproven on firmware 9.60.
|
|
The later exact H permission was consumed once. It proves I04, I13/I14, D03,
|
|
a positive D05 VideoOut handle and D06 buffer-registration result `0`. D07 and
|
|
D04 both returned `-1`; no successful visible flip, runloop, full cleanup or
|
|
safe exit is proven. No retry occurred.
|
|
|
|
Phase 1.0M adds no firmware evidence. It removes the source-bound playlist
|
|
directory probe/`mkdir` from write-free builds and produces a reproducible,
|
|
statically audited artifact, but that new hash has never been transferred or
|
|
executed. I04, SDL, VideoOut, flip behavior, visible output and cleanup remain
|
|
unproven on firmware 9.60.
|
|
|
|
Phase 1.0N adds no firmware evidence. It prepares only an inactive,
|
|
manifest-selected host runner for the unchanged Phase-1.0M hash. Fake-socket
|
|
tests and static hash binding do not prove runtime behavior on firmware 9.60;
|
|
all target, transfer, execution and reception authorizations remain false.
|
|
|
|
The separately authorized Phase-1.0O attempt adds exact firmware-9.60 evidence
|
|
for the M hash: I04 and SDL video entry were reached, VideoOut opened, buffer
|
|
registration returned `0`, and the first flip submit returned `-1` with saved
|
|
errno `0`. No D13/write-firewall frame occurred. D12 reported runtime
|
|
failure/E104 and D04 reported SDL init `-1`. Visible presentation, successful
|
|
termination and cleanup remain unproven; the permission is consumed.
|
|
|
|
Phase 1.0P adds no firmware evidence. Its offline source/map/disassembly audit
|
|
proves the exact first-submit tuple and failure site, but the local public
|
|
sources do not prove the argument semantics, opaque attributes, flip-master
|
|
or active-app requirements, return-code meaning, visible output or cleanup.
|
|
The VideoOut root cause remains unresolved and no new device action is
|
|
authorized.
|
|
|
|
Phase 1.0Q adds no firmware evidence. Its public-source search establishes
|
|
that the current PS5 VideoOut declarations have one SDL lineage and no
|
|
independent public PS5 corroboration. PS4 analogues and host source scans do
|
|
not establish firmware-9.60 argument, layout, ownership or error semantics.
|
|
|
|
Phase 1.0R adds no firmware evidence. Source proves only that SDL2main is a
|
|
lifecycle wrapper and that the tested artifact already hides the splash before
|
|
VideoOut open. It does not prove the firmware-9.60 active-app, flip-owner,
|
|
launcher, process, visibility or cleanup contract. The observed LNC log remains
|
|
a non-unique correlation, not a firmware interpretation or root cause.
|
|
|
|
Phase 1.0S adds no firmware evidence. Official shsrv source proves that hbldr
|
|
creates a BigApp-based process context, but source cannot prove that the route
|
|
works on this firmware-9.60 device, grants flip ownership, or fixes the exact
|
|
submit failure. The deployed shsrv version, target fake-app state, visibility,
|
|
crash and cleanup behavior remain unobserved.
|
|
|
|
Phase 1.0T adds no firmware evidence. It statically proves that the audited
|
|
shsrv source emits firmware, serial and telemetry on connection and that its
|
|
existing identity-related commands cannot return an exact deployed SHA-256.
|
|
No port-2323 connection occurred, so the deployed shsrv family, compile
|
|
metadata, device paths and all firmware-9.60 runtime effects remain unobserved.
|
|
|
|
Phase 1.0U adds no firmware evidence. Its bounded host inventory found no
|
|
original shsrv target binary or receipt to hash. Official source and packaging
|
|
metadata do not establish what runs on firmware 9.60, and no device identity,
|
|
path, version, greeting or behavior was observed.
|
|
|
|
Phase 1.0V adds no firmware evidence. Its Telnet and sanitization behavior is a
|
|
synthetic host model fed from stdin. It neither connects to nor observes the
|
|
firmware-9.60 device, and it does not prove the live greeting, prompt,
|
|
negotiation, timeout, disconnect, shell cleanup or deployed shsrv identity.
|
|
|
|
Phase 1.0W adds no firmware evidence. Its remediated collector, session policy
|
|
and fake transport use synthetic host input and an explicit synthetic clock.
|
|
Source-bound port 2323 and exact firmware text `9.60` are policy constraints,
|
|
not proof of a listener, negotiation, device identity, deployed bytes or
|
|
runtime behavior.
|
|
|
|
Phase 1.0X also adds no firmware evidence. Its receipt/output operations and
|
|
deadline/cleanup state are exercised only against injected fake adapters. The
|
|
official shsrv source describes a dynamic `PWD` prompt and automatic greeting,
|
|
but does not bind the deployed bytes or live Telnet stream on firmware 9.60.
|
|
|
|
Phase 1.0Y adds source-history evidence only. Official tags v0.7-v0.8 use raw
|
|
framing and v0.9-v0.19 use `libtelnet`/NVT, but no evidence selects which
|
|
family, revision or modified binary runs on firmware 9.60. Synthetic framing
|
|
tests therefore do not establish live line endings, prompt completion, echo,
|
|
short-write behavior or disconnect cleanup.
|
|
|
|
Phase 1.0Z adds no firmware evidence. Its one-batch formatter and deadline-only
|
|
accumulator run exclusively on synthetic host inputs. The tests show that the
|
|
contract tolerates modeled LF/CRLF output and rejects incomplete data; they do
|
|
not prove a listener, exact deployed shsrv bytes, live deadline behavior,
|
|
filesystem effects, cleanup or restart on firmware 9.60.
|
|
|
|
Phase 1.0AA adds no firmware evidence. Its exact fake adapter, synthetic clock,
|
|
exclusive temporary host files and scripted events exercise only local model
|
|
composition. Passing receipt/send/deadline/close tests cannot establish a live
|
|
listener, OS timeout behavior, target identity, shell cleanup or any behavior
|
|
on firmware 9.60.
|
|
|
|
Phase 1.0AB adds no firmware evidence. Local Windows Python runtime identities
|
|
and synthetic nonblocking traces describe only a possible host implementation.
|
|
They do not observe port state, packet delivery, shsrv cleanup or any behavior
|
|
on firmware 9.60.
|
|
|
|
Phase 1.0AC adds no firmware evidence. Its dormant adapter accepts only exact
|
|
built-in fake syscall steps and a synthetic clock. Passing its lifecycle and
|
|
cleanup cases does not establish a listener, deployed shsrv identity, network
|
|
timing, remote cleanup, launch context or any firmware-9.60 behavior.
|
|
|
|
Phase 1.0AU adds no firmware evidence. Exact official headers establish source
|
|
signatures for pipe, descriptor inheritance, nonblocking reads, monotonic time,
|
|
termination and reap. They do not establish their runtime behavior on firmware
|
|
9.60, and current official shsrv does not contain the bounded composition.
|
|
|
|
Phase 1.0AV adds no firmware evidence. Its two synthetic arms define how a
|
|
future exact-payload comparison would isolate launcher identity, but neither
|
|
arm has target source, an artifact, approval or device result. A modeled return
|
|
difference cannot prove a visible flip or firmware behavior.
|
|
|
|
Phase 1.0AW adds no firmware evidence. It proves only that official v0.7 source
|
|
passes raw stdout into the replaced BigApp and identifies the source changes a
|
|
future canary would need. No deployed identity, bounded launcher, target bytes
|
|
or firmware-9.60 result exists.
|
|
|
|
Phase 1.0AX adds no firmware evidence. Its valid D07/D04/D14 traces are
|
|
synthetic bytes and its cleanup predicate is a host reference. No target source,
|
|
artifact, device result or visible output implements that reference.
|
|
|
|
Phase 1.0AY adds no firmware evidence. Selecting an exact private Git commit
|
|
establishes only source lineage; it creates no target source delta, artifact or
|
|
firmware-9.60 observation.
|