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. This spectator-data contains the DLP icon and the sysupdate titlelist.
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
|
|}
|}