# 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.