Difference between revisions of "DLP Services"
DaniElectra (talk | contribs) |
|||
(15 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | 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]]. | + | 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. | There can only be one session open for each individual DLP service at a time. | ||
Line 12: | Line 12: | ||
| 0x000100C3 | | 0x000100C3 | ||
| ? | | ? | ||
− | | | + | | Initialize |
|- | |- | ||
| 0x00020000 | | 0x00020000 | ||
| ? | | ? | ||
− | | | + | | Finalize |
|- | |- | ||
| 0x00030000 | | 0x00030000 | ||
| ? | | ? | ||
− | | | + | | GetEventDesc. Writes 0x18-bytes of output starting at cmdreply[2]. |
|- | |- | ||
| 0x00040000 | | 0x00040000 | ||
| ? | | ? | ||
− | | | + | | GetChannel. Writes an output u16 to cmdreply[2]. |
|- | |- | ||
| 0x00050180 | | 0x00050180 | ||
| ? | | ? | ||
− | | | + | | StartScan |
|- | |- | ||
| 0x00060000 | | 0x00060000 | ||
| ? | | ? | ||
− | | | + | | StopScan |
|- | |- | ||
− | | | + | | 0x00070080 |
− | |||
| ? | | ? | ||
+ | | GetServerInfo | ||
|- | |- | ||
− | | | + | | 0x00080100 |
− | |||
| ? | | ? | ||
+ | | GetTitleInfo | ||
|- | |- | ||
− | | | + | | 0x00090040 |
− | |||
| ? | | ? | ||
+ | | GetTitleInfoInOrder | ||
|- | |- | ||
− | | | + | | 0x000A0080 |
− | |||
| ? | | ? | ||
+ | | DeleteScanInfo | ||
|- | |- | ||
− | | | + | | 0x000B0100 |
− | |||
| ? | | ? | ||
+ | | PrepareForSystemDownload | ||
|- | |- | ||
− | | | + | | 0x000C0000 |
− | |||
| ? | | ? | ||
+ | | StartSystemDownload | ||
|- | |- | ||
− | | | + | | 0x000D0100 |
− | |||
| ? | | ? | ||
+ | | StartTitleDownload | ||
|- | |- | ||
− | | | + | | 0x000E0000 |
− | |||
| ? | | ? | ||
+ | | GetMyStatus | ||
|- | |- | ||
− | | | + | | 0x000F0040 |
− | |||
| ? | | ? | ||
+ | | GetConnectingNodes | ||
|- | |- | ||
− | | | + | | 0x00100040 |
− | |||
| ? | | ? | ||
+ | | GetNodeInfo | ||
|- | |- | ||
| 0x00110000 | | 0x00110000 | ||
Line 78: | Line 78: | ||
| [[DLP:GetWirelessRebootPassphrase|GetWirelessRebootPassphrase]] | | [[DLP:GetWirelessRebootPassphrase|GetWirelessRebootPassphrase]] | ||
|- | |- | ||
− | | | + | | 0x00120000 |
− | |||
| ? | | ? | ||
+ | | StopSession | ||
|- | |- | ||
− | | | + | | 0x00130100 |
− | |||
| ? | | ? | ||
+ | | GetCupVersion | ||
|- | |- | ||
− | | | + | | 0x00140100 |
− | |||
| ? | | ? | ||
+ | | GetDupAvailability | ||
|} | |} | ||
Line 100: | Line 100: | ||
| 0x00010183 | | 0x00010183 | ||
| | | | ||
− | | Initialize | + | | [[DLPSRVR:Initialize|Initialize]] |
|- | |- | ||
| 0x00020000 | | 0x00020000 | ||
| | | | ||
− | | Finalize | + | | [[DLPSRVR:Finalize|Finalize]] |
|- | |- | ||
| 0x00030000 | | 0x00030000 | ||
| | | | ||
− | | | + | | [[DLPSRVR:GetServerState|GetServerState]] |
|- | |- | ||
| 0x00040000 | | 0x00040000 | ||
| | | | ||
− | | | + | | [[DLPSRVR:GetEventDescription|GetEventDescription]] |
|- | |- | ||
| 0x00050080 | | 0x00050080 | ||
| | | | ||
− | | | + | | [[DLPSRVR:StartAccepting|StartAccepting]] |
|- | |- | ||
| 0x00060000 | | 0x00060000 | ||
| | | | ||
− | | | + | | [[DLPSRVR:EndAccepting|EndAccepting]] |
|- | |- | ||
| 0x00070000 | | 0x00070000 | ||
| | | | ||
− | | | + | | [[DLPSRVR:StartDistribution|StartDistribution]] |
|- | |- | ||
| 0x000800C0 | | 0x000800C0 | ||
| | | | ||
− | | | + | | [[DLPSRVR:SendWirelessRebootPassphrase|SendWirelessRebootPassphrase]] |
|- | |- | ||
| 0x00090040 | | 0x00090040 | ||
| | | | ||
− | | | + | | [[DLPSRVR:AcceptClient|AcceptClient]] |
|- | |- | ||
| 0x000A0040 | | 0x000A0040 | ||
| | | | ||
− | | | + | | [[DLPSRVR:DisconnectClient|DisconnectClient]] |
|- | |- | ||
| 0x000B0042 | | 0x000B0042 | ||
| | | | ||
− | | | + | | [[DLPSRVR:GetConnectingClients|GetConnectingClients]] |
|- | |- | ||
| 0x000C0040 | | 0x000C0040 | ||
| | | | ||
− | | | + | | [[DLPSRVR:GetClientInfo|GetClientInfo]] |
|- | |- | ||
| 0x000D0040 | | 0x000D0040 | ||
| | | | ||
− | | | + | | [[DLPSRVR:GetClientState|GetClientState]] |
|- | |- | ||
| 0x000E0040 | | 0x000E0040 | ||
| | | | ||
− | | | + | | [[DLPSRVR:IsChild|IsChild]] |
|- | |- | ||
| 0x000F0303 | | 0x000F0303 | ||
| | | | ||
− | | | + | | [[DLPSRVR:InitializeWithName|InitializeWithName]] |
|- | |- | ||
| 0x00100000 | | 0x00100000 | ||
| | | | ||
− | | | + | | [[DLPSRVR:GetDupNoticeNeed|GetDupNoticeNeed]] |
|} | |} | ||
− | ="dlp:FKCL"= | + | =Download Play Fake Client Service "dlp:FKCL"= |
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 170: | Line 170: | ||
! Description | ! Description | ||
|- | |- | ||
− | | | + | | 0x00010083 |
− | |||
| ? | | ? | ||
+ | | Initialize | ||
|- | |- | ||
− | | | + | | 0x00020000 |
− | |||
| ? | | ? | ||
+ | | Finalize | ||
|- | |- | ||
− | | | + | | 0x00030000 |
− | |||
| ? | | ? | ||
+ | | GetEventDesc | ||
|- | |- | ||
− | | | + | | 0x00040000 |
− | |||
| ? | | ? | ||
+ | | GetChannels | ||
|- | |- | ||
− | | | + | | 0x00050180 |
− | |||
| ? | | ? | ||
+ | | StartScan | ||
|- | |- | ||
− | | | + | | 0x00060000 |
− | |||
| ? | | ? | ||
+ | | StopScan | ||
|- | |- | ||
− | | | + | | 0x00070080 |
− | |||
| ? | | ? | ||
+ | | GetServerInfo | ||
|- | |- | ||
− | | | + | | 0x00080100 |
− | |||
| ? | | ? | ||
+ | | GetTitleInfo | ||
|- | |- | ||
− | | | + | | 0x00090040 |
− | |||
| ? | | ? | ||
+ | | GetTitleInfoInOrder | ||
|- | |- | ||
− | | | + | | 0x000A0080 |
− | |||
| ? | | ? | ||
+ | | DeleteScanInfo | ||
|- | |- | ||
− | | | + | | 0x000B0100 |
− | |||
| ? | | ? | ||
+ | | StartFakeSession | ||
|- | |- | ||
− | | | + | | 0x000C0000 |
− | |||
| ? | | ? | ||
+ | | GetMyStatus | ||
|- | |- | ||
− | | | + | | 0x000D0040 |
− | |||
| ? | | ? | ||
+ | | GetConnectingNodes | ||
|- | |- | ||
− | | | + | | 0x000E0040 |
− | |||
| ? | | ? | ||
+ | | GetNodeInfo | ||
|- | |- | ||
| 0x000F0000 | | 0x000F0000 | ||
Line 230: | Line 230: | ||
| [[DLP:GetWirelessRebootPassphrase|GetWirelessRebootPassphrase]] | | [[DLP:GetWirelessRebootPassphrase|GetWirelessRebootPassphrase]] | ||
|- | |- | ||
− | | | + | | 0x00100000 |
− | |||
| ? | | ? | ||
+ | | Same as dlp:CLNT cmd12 (StopSession). | ||
|- | |- | ||
− | | | + | | 0x00110203 |
− | |||
| ? | | ? | ||
+ | | Calls the same function as DLPFKCL:Initialize. | ||
|} | |} | ||
+ | |||
+ | =WirelessRebootPassphrase= | ||
+ | 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 [[NSS:SetWirelessRebootInfo|setting]] the NS [[NS_and_APT_Services#WirelessRebootInfo|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 [[NWM_Services|UDS]] network connection/creation commands. |
Latest revision as of 10:36, 8 July 2024
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 | ? | Finalize |
0x00030000 | ? | GetEventDesc. Writes 0x18-bytes of output starting at cmdreply[2]. |
0x00040000 | ? | GetChannel. Writes an output u16 to cmdreply[2]. |
0x00050180 | ? | StartScan |
0x00060000 | ? | StopScan |
0x00070080 | ? | GetServerInfo |
0x00080100 | ? | GetTitleInfo |
0x00090040 | ? | GetTitleInfoInOrder |
0x000A0080 | ? | DeleteScanInfo |
0x000B0100 | ? | PrepareForSystemDownload |
0x000C0000 | ? | StartSystemDownload |
0x000D0100 | ? | StartTitleDownload |
0x000E0000 | ? | GetMyStatus |
0x000F0040 | ? | GetConnectingNodes |
0x00100040 | ? | GetNodeInfo |
0x00110000 | ? | GetWirelessRebootPassphrase |
0x00120000 | ? | StopSession |
0x00130100 | ? | GetCupVersion |
0x00140100 | ? | GetDupAvailability |
Download Play Server Service "dlp:SRVR"[edit]
Command Header | Available since system version | Description |
---|---|---|
0x00010183 | Initialize | |
0x00020000 | Finalize | |
0x00030000 | GetServerState | |
0x00040000 | GetEventDescription | |
0x00050080 | StartAccepting | |
0x00060000 | EndAccepting | |
0x00070000 | StartDistribution | |
0x000800C0 | SendWirelessRebootPassphrase | |
0x00090040 | AcceptClient | |
0x000A0040 | DisconnectClient | |
0x000B0042 | GetConnectingClients | |
0x000C0040 | GetClientInfo | |
0x000D0040 | GetClientState | |
0x000E0040 | IsChild | |
0x000F0303 | InitializeWithName | |
0x00100000 | GetDupNoticeNeed |
Download Play Fake Client Service "dlp:FKCL"[edit]
Command Header | Available since system version | Description |
---|---|---|
0x00010083 | ? | Initialize |
0x00020000 | ? | Finalize |
0x00030000 | ? | GetEventDesc |
0x00040000 | ? | GetChannels |
0x00050180 | ? | StartScan |
0x00060000 | ? | StopScan |
0x00070080 | ? | GetServerInfo |
0x00080100 | ? | GetTitleInfo |
0x00090040 | ? | GetTitleInfoInOrder |
0x000A0080 | ? | DeleteScanInfo |
0x000B0100 | ? | StartFakeSession |
0x000C0000 | ? | GetMyStatus |
0x000D0040 | ? | GetConnectingNodes |
0x000E0040 | ? | GetNodeInfo |
0x000F0000 | ? | GetWirelessRebootPassphrase |
0x00100000 | ? | Same as dlp:CLNT cmd12 (StopSession). |
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.