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