Changes

965 bytes added ,  20:12, 9 April 2016
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
 +
|
 
|}
 
|}