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
+
|
|}
|}