D107 - The console socket backend is implemented, and proven inside shadPS4 with no hardware
Status: derived - obSCEne served the protocol over
sceNet* inside shadPS4 and a client on the host drove it
end to end.
D126 left net_target.c refusing, because the vendor
networking signatures were unconfirmed and D008 forbids calling into an
uncertain arity. The premise changed: the signatures are now confirmed
from two independent public sources that agree exactly - the OpenOrbis
toolchain headers and shadPS4's own libSceNet - so the
refusal was replaced with a real implementation.
sceNetSocket's unusual first argument (a name string) is
confirmed by both, which is the kind of detail D008 exists to pin
down.
Why this needs no Steam Deck
An emulator whose net layer maps guest sockets onto host sockets
makes a guest listen open a real host port. shadPS4 does exactly this -
PosixSocket::bind calls the host ::bind,
::listen calls ::listen. So obSCEne built
GEN=4 SERVE=1, run inside shadPS4, calls
sceNetListen and host port 9803 opens; a
client on the host connects and drives the protocol. The transport
reports scenet, so this is the vendor path exercised, not a
host stand-in.
Observed:
OBS|end|sceKernelWrite
OBS|net|listening|9803
TCP 0.0.0.0:9803 LISTENING (shadPS4)
-> CMD|1|hello|1
OBS|hello|1|t0x13bd05e|report
OBS|part|t0x13bd05e|transport|scenet
OBS|done|1|ok||
Two things this settled about the serving build
It must be built with the exclusion list. The serve
loop runs after the suite, so a module that hits a known crash
mid-suite never reaches it - the first two attempts died at
040-file/open-rejects-null exactly as the sweep predicts. A
serving module is a sweep-excluded module with SERVE=1, not
a plain one.
The report goes first, the socket second.
obscene_start runs the suite (report to stdout, file sink,
and screen), then announces net|listening and serves -
looped, so the driver can reconnect after a faulting command ends a
session. The static report is what survives if the network never comes
up; the socket is the live half on top of it.
The Deck is still the RDNA2 ISA oracle it was always going to be. It is no longer on the critical path for building and proving the networking, which is now done.