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 |