2.6 KiB
Phase 0.9E port-9020 protocol
Date: 2026-07-18
Protocol status: UNPROVEN_IMPLEMENTATION_MISSING
Available evidence
Hardened elfldr README.md:11-19 describes a host connecting to port 9020 and
piping elfldr-ps5.elf bytes through a generic TCP stream tool. Its Makefile
defines PS5_PORT ?= 9020, but contains no deploy target or protocol client.
The README names external BD-J and WebKit projects; neither project nor the
used Y2JB implementation exists in the allowed local source trees.
This proves only the expected sender shape. It does not prove the listener implementation or actual deployed package.
| Field | Offline result |
|---|---|
| server role | PS5-side rudimentary loader, description only |
| client role | host-side generic stream sender, no exact client artifact |
| transport | TCP is strongly indicated by the documented stream tool |
| port | 9020 in README/Makefile |
| bind address | unknown |
| direction | host connects to PS5 |
| handshake / magic / version | unknown |
| endianness / headers / length fields | unknown |
| maximum payload size | unknown |
| chunking | TCP fragmentation behavior only; application contract unknown |
| EOF | sender closes after input; listener EOF semantics unknown |
| acknowledgement / error frame | unknown |
| checksum / hash | none documented; listener behavior unknown |
| timeout / retry / reconnect | unknown |
| upload direction | host to PS5 |
| response direction | unknown |
| accepted object | ELF assumed by documentation; validation unknown |
| parser / bounds / overflow | implementation missing |
| partial recv/send detection | implementation missing |
| allocation / mapping / permissions | implementation missing |
| entrypoint selection | implementation missing |
| filesystem staging | implementation missing |
| cleanup / crash behavior | implementation missing |
The exact source-backed port-9021 protocol is deliberately not substituted for
port 9020. Port 9021 belongs to socksrv.c; it has different parser and
lifecycle code.
Host model decision
No parser/emulator was created. A model derived from the README would invent
server framing, maximum length, EOF, mapping, and error semantics. The
machine-readable result is
manifests/runtime/phase-0.9e-loader-protocol.json.
Minimum input needed to build a host-only model:
- exact 9020 listener source or a fully audited exact binary;
- exact sender/client implementation;
- maximum length and allocation rules;
- complete recv/EOF/short-read state machine;
- accepted format and entrypoint validation;
- response/error/close behavior;
- timeout and retry rules.