DSP Binary

From 3dbrew
Revision as of 00:15, 11 June 2014 by Plutooo (talk | contribs)
Jump to navigation Jump to search


Offset Size Description
0x0 0x100 RSA Signature
0x100 4 Magic ('DSP1')
0x104 4 DSP Binary size
0x108 2 Communication ports? (bits 0-7: ???, 8-15: ???)
0x10C 1 ?
0x10D 1 Special segment Mem type (0=1=0x1FF00000+,2=0x1FF40000+)
0x10E 1 Num segments (must be 1..10)
0x10F 1 Flags (bit0=??, bit1=special segment)
0x110 4 Special segment start in 16-bit words
0x114 4 Special segment size in bytes
0x118 8 Zero
0x120 0x30*10 Segment records

If "special segment" flag is set, 0x214 bytes are read from CfgS:GetConfigInfoBlk8 block 0x70000, and then copied to the special segment given. If the reading fails, zeroes are written in its place.

Each segment record:

Offset Size Description
0 4 Offset data
4 4 Load addr in 16-bit words (must be < 0x20000 for type 0, < 0x10000 for type 1,2)
8 4 Size in bytes
15 1 Mem type (0=1=0x1FF00000+,2=0x1FF40000+)
16 32 SHA256 hash of segment