Download Play: Difference between revisions
Line 59: | Line 59: | ||
|} | |} | ||
Total_frames is at least 0x4 normally. When a sysupdate is included, total_frames is 0x4+<total frames required for the titlelist(normally 0x1)>. | Total_frames is at least 0x4 normally. When a sysupdate is included, total_frames is 0x4+<total frames required for the titlelist(normally 0x1)>. Total_frames should be <=0x20, but the code doesn't check for this specific value. | ||
Frames | ==== Checksum ==== | ||
The checksum seed is the 4-byte output from [[PS:EncryptDecryptAes|encrypting]] zeros with AES-CTR using [[PSPXI:EncryptDecryptAes|keytype5]]. The CTR is the output from this: "for(i=0; i<0x10; i++)ctr[i] = ctrseed[i] ^ host_macaddress[i % 6];" This ctrseed is a fixed 0x10-byte random-data block stored in DLP-sysmodule .rodata. | |||
This seed is initialized after connecting to/creating the DLP network. | |||
The checksum stored in the above data frame header is then calculated using this checksum seed. | |||
==== Frames ==== | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 83: | Line 89: | ||
The structure of each spectator frame relative to "frame-specific payload" is described below. | The structure of each spectator frame relative to "frame-specific payload" is described below. | ||
==== Metadata frame ==== | ===== Metadata frame ===== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 185: | Line 191: | ||
If the u16 at frameheader+0x6 is less than 0x101, the 8-bytes at outptr are cleared to all-zero, instead of copying the data from offset 0x2E8. | If the u16 at frameheader+0x6 is less than 0x101, the 8-bytes at outptr are cleared to all-zero, instead of copying the data from offset 0x2E8. | ||
==== Icon gfx frame ==== | ===== Icon gfx frame ===== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 197: | Line 203: | ||
|} | |} | ||
==== Sysupdate titlelist frame ==== | ===== Sysupdate titlelist frame ===== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- |