Download Play: Difference between revisions
No edit summary |
|||
| Line 7: | Line 7: | ||
This section describes the data transferred using the [[NWM_Services|UDS]] service. All data is stored as big-endian. | This section describes the data transferred using the [[NWM_Services|UDS]] service. All data is stored as big-endian. | ||
UDS [[NWMUDS:Bind|data_channel]] 0x1 is used for spectator data, while all non-spectator data uses data_channel 0x2. The spectator data is received by connecting to the network as a spectator then receiving data-frames, this is handled when scanning for DLP networks | UDS [[NWMUDS:Bind|data_channel]] 0x1 is used for spectator data, while all non-spectator data uses data_channel 0x2. The spectator data is received by connecting to the network as a spectator then receiving data-frames, this is handled when scanning for DLP networks. | ||
This is the data starting at offset 0x0 for UDS PullPacket/SendTo: | This is the data starting at offset 0x0 for UDS PullPacket/SendTo: | ||
| Line 26: | Line 26: | ||
| 0x4 | | 0x4 | ||
| 0x2 | | 0x2 | ||
| Size of the entire frame. | | Size of the entire frame. The actual_size from PullPacket is the same size as this value, but the spectator handling code doesn't check that. | ||
|- | |- | ||
| 0x6 | | 0x6 | ||
| Line 55: | Line 55: | ||
| | | | ||
| The frame-specific payload starts here. | | The frame-specific payload starts here. | ||
|} | |||
Total_frames is at least 0x4 normally. When a sysupdate is included, total_frames is 0x4+<total frames required for the titlelist(normally 0x1)>. | |||
Frames: | |||
{| class="wikitable" border="1" | |||
|- | |||
! Frameid | |||
! frame_size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x300 | |||
| Various metadata, two UTF-16 strings displayed by the DLP-client, and the start of the icon gfx. | |||
|- | |||
| 0x1-0x3 | |||
| 0x5A8 | |||
| The remaining icon gfx. | |||
|- | |||
| 0x4-<total frames-1> | |||
| 0x5B8 | |||
| Sysupdate titlelist, if any. | |||
|} | |||
The structure of each spectator frame relative to "frame-specific payload" is described below. | |||
==== Metadata frame ==== | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x300 | |||
| | |||
|} | |||
==== Icon gfx frame ==== | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x5A8 | |||
| | |||
|} | |||
==== Sysupdate titlelist frame ==== | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x5B8 | |||
| | |||
|} | |} | ||