9.4 KiB
Sony PT2 Protocol State Map
This document is a working state map for the Sony RCP-TX7 PT2-era control protocol as currently observed on the bench. It is intentionally more structural than pt2-protocol-summary.md: the goal here is to show how host inputs appear to move the panel between response families and contexts.
This is not yet a true finite-state-machine proof. It is a practical model of what currently seems to change the panel's response surface.
How To Read This
statemeans an inferred protocol context, not a confirmed Sony term.stablemeans reproduced across multiple clean runs.unstablemeans seen more than once or clearly real, but not deterministic.one-shotmeans usually group-1 or post-boot only, then gone.
State Layers
The current evidence suggests the panel behavior is shaped by several layers:
- physical/link state
- host-presence / cadence state
- selector / query context
- downstream family response surface
- unknown session-advance / active-control state
We have good evidence for layers 1-4. Layer 5 is still missing.
Baseline States
S0: Idle / Not Active
Observed behavior:
- RCP sends repeating heartbeat:
00 00 00 00 80 DA
- LCD may remain idle or later enter
CONNECT NOT ACT
Known transitions:
- host traffic can move the panel into parser-visible but still not-active states
- CALL and CAM POWER can still emit panel-origin frames here
Confidence: high
S1: Host Present / Cadence-Held
Observed behavior:
- repeating host heartbeat
00 00 00 00 80 DAcan keep the panel out ofCONNECT NOT ACTwhile traffic continues
- this does not by itself create reusable reads or a full active session
Known side effects:
- some cadence patterns provoke transient families:
07 80 40 40 30 ED07 80 40 60 30 CD07 80 C0 40 30 6D
Confidence: high
Discovery / Query Surface
S2: Discovery Query Window
Canonical shape:
00 00 00 00 80 DA
00 00 XX 00 80 checksum
-> 07 80 ...
Stable one-shot reads:
00 -> A0->07 80 68 40 30 C500 -> B0->07 80 6C 40 30 C100 -> B5->07 80 6D 20 D8 48
Properties:
- usually one-shot after boot
- repeating the same query often drains to heartbeat only
- appears to be a readable/capability surface, not an activation handshake
Confidence: high
Event Path
S3: Synthetic CALL Event Path
Host stimulus:
00 00 15 80 00 CF
00 00 15 00 00 4F
Stable response:
07 80 45 20 D0 68
Sibling seen once:
07 80 45 30 D0 78
Properties:
- physical CALL button not required
- looks like a real event-path branch
- has not led to activation or reusable reads
Confidence: high
Selector-Like Context Surface
The strongest current "state map" behavior lives here. Certain host-side values look less like direct commands and more like selector/context entries that open different downstream response families.
S4: Context-Opened Selector Space
Current best evidence says the selector surface is opened not by a single magic byte, but by a small family of host-side context setters.
Observed:
A0 + E8can produce7A 50 26family outputA0 + ECtends to produce7B-family output90 + E8produced7A 50 2690 + E9produced7A 28 D390 + ECproduced7B 50 26AF + E9produced7A 28 D3AF + ECproduced7B 50 26AF + E8produced the siblingFA 50 26family- bare heartbeat +
E8produced7A 50 26 - bare heartbeat +
E9produced7A 28 D3 - bare heartbeat +
ECdid not open7B; it stayed in heartbeat-family behavior - later downstream-behavior tests showed opener choice can also bias which
sibling family appears at the selector result itself:
90 + E8produced7A 58 2690 + ECproducedFB 50 26AF + ECpreserved7B 50 26
Nuance:
A0is not the only opener.A0is not sufficient to make every selector deterministic.- A later control repeat of
A0 + E9produced heartbeat only, even though earlierA0 + E9runs produced07 80 7A 28 D3 5C. ECappears stricter thanE8/E9, because heartbeat alone was enough forE8/E9but not forEC.- opener choice has a stronger observed effect on branch entry than on downstream reply handling
Confidence: high that a context-opener family exists; medium-high on the exact rules for each selector.
Ex Selector Neighborhood
These are the clearest currently mapped selector-like host entries.
| Host-side entry | Typical downstream result | Current read |
|---|---|---|
00 00 E6 40 30 CC |
07 80 40 40 30 ED after later heartbeat |
heartbeat-family bias |
00 00 E7 40 30 CD |
07 80 40 40 30 ED after later heartbeat |
heartbeat-family bias |
00 00 E8 40 30 C2 |
07 80 7A 50 26 D1 |
stable selector into 7A family |
00 00 E9 40 30 C3 |
07 80 7A 28 D3 5C |
sibling selector into related 7A family |
00 00 EA 40 30 C0 |
07 80 C0 40 30 6D after later heartbeat |
alternate heartbeat-family bias |
00 00 EB 40 30 C1 |
07 80 40 40 30 ED after later heartbeat |
heartbeat-family bias |
00 00 EC 40 30 C6 |
07 80 7B 50 26 D0 or 07 80 FB 50 26 50 |
selector into mixed sibling family space |
Current interpretation:
- this is not a flat command block
- some
Exvalues bias toward heartbeat-family transients - some open structured
7A/7B/FBfamilies
Confidence: medium-high
Downstream Family Branches
B1: E8 -> 7A 50 26
Stable branch:
00 00 A0 00 80 7A
00 00 E8 40 30 C2
-> 07 80 7A 50 26 D1
What we know:
- reproducible in group 1
- exact echo of
07 80 7A 50 26 D1did not advance state - host-shaped mirror of
7A 50 26did not advance state - opened by more than one context:
A090- bare heartbeat
AFhas at least once shifted this branch to siblingFA 50 26 5190has at least once shifted this branch to sibling7A 58 26 D9
Read:
E8is the active selector7A 50 26 D1is a downstream family response, not yet a meaningful next host turn- context affects which sibling family
E8opens
Confidence: medium-high
B2: E9 -> 7A 28 D3
Stable branch:
00 00 A0 00 80 7A
00 00 E9 40 30 C3
-> 07 80 7A 28 D3 5C
What we know:
- reproducible in group 1
- exact and host-shaped replies to
7A 28 D3 5Cdid not advance state - without
A0,E9fell back to07 80 40 40 30 ED - with
A0, a later control repeat returned only heartbeat, so this branch is less deterministic thanE8 - also opened by:
90AF- bare heartbeat
Read:
E9looks like a sibling selector toE8- payload differences may represent page/class selection rather than random drift
E9appears more timing- or state-sensitive thanE8
Confidence: medium
B3: EC -> 7B / FB
Observed branch space:
00 00 A0 00 80 7A
00 00 EC 40 30 C6
-> 07 80 7B 50 26 D0
or
-> 07 80 FB 50 26 50
Important details:
- without leading
A0,ECfell back to07 80 C0 40 30 6D 90andAFalso opened7B 50 26- bare heartbeat alone did not
- short and long spacing with
A0still favored07 80 7B 50 26 D0 - exact
7Becho once produced:07 C0 2F 95 09 2E
- later
2Ffollow-ups did not create a stable next stage - exact and host-shaped
FBhandling did not create a stable next stage
Read:
ECis the most stateful selector branch seen so farECneeds a stronger context class than plain heartbeat7Bis the most stable downstream family on this branchFBis real but currently looks like a sibling observation, not a clear reply target- opener choice can bias
ECbetween7BandFB
Confidence: medium
Current Transition Sketch
S0 idle/not-active
-> host heartbeat cadence
S1 host-present/cadence-held
-> one-shot discovery query surface
S2 discovery/query window
-> selector/context entry
S4 A0-contexted selector space
-> E8 -> B1 (7A / FA family space)
-> E9 -> B2 (7A 28 D3 family)
-> EC -> B3 (7B / FB family space)
-> E6/E7/EB -> heartbeat-family transient
-> EA / no-A0-EC -> C0-family transient
What is still missing:
- the transition from any of these branches into a stable active/session state
- a deterministic multi-turn reply ladder
- evidence that the downstream family frames are actually prompts the host is expected to answer, rather than readable blocks with no immediate follow-up
- evidence that even page-matched exact echoes are meaningful next-turn host replies; current tests still collapsed to heartbeat
What Feels Stable Right Now
- RS-232 electrical layer and 6-byte frame model
- idle heartbeat behavior
CONNECT NOT ACTnot being identical to active/inactive protocol state- one-shot discovery surface
- CALL synthetic event path
Exneighborhood acting like a selector-like surfaceA0mattering as branch context on at leastEC
What Still Feels Slippery
- exact conditions that choose
7BvsFBonEC - whether
E8/E9/ECare true page selectors, class selectors, or partial capability requests - whether any downstream family reply is actually something the host is expected to answer
- how this selector space relates to the real session activation handshake
Best Next Uses Of This Map
This map is meant to help us ask sharper questions, for example:
- does
A0act as selector context onE8andE9, not justEC? - do nearby
Exvalues continue the family strip? - do host
state/valuebytes onA0orExshift the selected family? - is there a separate session-maintenance stream that must coexist with these selector reads?