DSP Binary
| 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 |