DLP Services

From 3dbrew
Jump to: navigation, search

Download Play services are not used by the Download Play child application at all(the title which runs on the Download Play clients). This is used instead: APT:GetWirelessRebootInfo. The DLP-child is launched by the dlplay system-application the same way as any other system-application->system-application launching(besides using NSS:SetWirelessRebootInfo).

There can only be one session open for each individual DLP service at a time.

Download Play Client Service "dlp:CLNT"[edit]

Command Header Available since system version Description
0x000100C3  ? Initialize
0x00020000  ?  ?
0x00030000  ? Unknown. Writes 0x18-bytes of output starting at cmdreply[2].
0x00040000  ? Unknown. Writes an output u16 to cmdreply[2].
0x00050180  ?  ?
0x00060000  ?  ?
0x0007....  ?  ?
0x0008....  ?  ?
0x0009....  ?  ?
0x000A....  ?  ?
0x000B....  ?  ?
0x000C....  ?  ?
0x000D....  ?  ?
0x000E....  ?  ?
0x000F....  ?  ?
0x0010....  ?  ?
0x00110000  ? GetWirelessRebootPassphrase
0x0012....  ?  ?
0x0013....  ?  ?
0x0014....  ?  ?

Download Play Server Service "dlp:SRVR"[edit]

Command Header Available since system version Description
0x00010183 Initialize
0x00020000 Finalize
0x00030000 GetServerState
0x00040000 unknown...
0x00050080 StartAccepting
0x00060000 unknown...
0x00070000 StartDistribution
0x000800C0 SendWirelessRebootPassphrase
0x00090040 AcceptClient
0x000A0040 unknown...
0x000B0042 GetConnectingClients
0x000C0040 GetClientInfo
0x000D0040 GetClientState
0x000E0040 unknown...
0x000F0303 unknown...
0x00100000 unknown...

Download Play Fake Client Service "dlp:FKCL"[edit]

Command Header Available since system version Description
0x00010083  ? Initialize
0x0002....  ?  ?
0x0003....  ?  ?
0x0004....  ?  ?
0x0005....  ?  ?
0x0006....  ?  ?
0x0007....  ?  ?
0x0008....  ?  ?
0x0009....  ?  ?
0x000A....  ?  ?
0x000B....  ?  ?
0x000C....  ?  ?
0x000D....  ?  ?
0x000E....  ?  ?
0x000F0000  ? GetWirelessRebootPassphrase
0x0010....  ? Same as DLPCLNT cmd12.
0x00110203  ? Calls the same function as DLPFKCL:Initialize.

WirelessRebootPassphrase[edit]

This 9-byte UDS passphrase is sent by the DLP host application to the DLP clients via DLPSRVR:SendWirelessRebootPassphrase. The dlplay client system-application then loads it via DLP:GetWirelessRebootPassphrase for setting the NS WirelessRebootInfo. Afterwards once launched, the DLP child application can then use APT:GetWirelessRebootInfo to load that data.

Normally this a randomly-generated ASCII hex string, however it can be arbitrary. These strings are less than 9-bytes for some titles, the unused bytes are cleared to zero. This is the passphrase for the new UDS network which will be used by the clients and host for communicating, once the DLP child titles on those clients launch. This entire 9-byte passphrase is passed directly to the UDS network connection/creation commands.