Difference between revisions of "DSP Binary"
Jump to navigation
Jump to search
Line 19: | Line 19: | ||
|- | |- | ||
| 0x108 | | 0x108 | ||
− | | | + | | 2 |
− | | ? | + | | Communication ports? (bits 0-7: ???, 8-15: ???) |
|- | |- | ||
| 0x10C | | 0x10C | ||
Line 28: | Line 28: | ||
| 0x10D | | 0x10D | ||
| 1 | | 1 | ||
− | | | + | | Special segment Mem type (0=1=0x1FF00000+,2=0x1FF40000+) |
|- | |- | ||
| 0x10E | | 0x10E | ||
| 1 | | 1 | ||
− | | Num segments (must be 1.. | + | | Num segments (must be 1..10) |
|- | |- | ||
| 0x10F | | 0x10F | ||
| 1 | | 1 | ||
− | | ? | + | | Flags (bit0=??, bit1=special segment) |
|- | |- | ||
| 0x110 | | 0x110 | ||
| 4 | | 4 | ||
− | | | + | | Special segment start in 16-bit words |
|- | |- | ||
| 0x114 | | 0x114 | ||
| 4 | | 4 | ||
− | | | + | | Special segment size in bytes |
|- | |- | ||
| 0x118 | | 0x118 | ||
Line 54: | Line 54: | ||
| Segment records | | 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: | Each segment record: | ||
Line 68: | Line 70: | ||
| 4 | | 4 | ||
| 4 | | 4 | ||
− | | Load addr | + | | Load addr in 16-bit words (must be < 0x20000 for type 0, < 0x10000 for type 1,2) |
|- | |- | ||
| 8 | | 8 | ||
| 4 | | 4 | ||
− | | Size | + | | Size in bytes |
|- | |- | ||
− | | | + | | 15 |
− | | | + | | 1 |
− | | Mem | + | | Mem type (0=1=0x1FF00000+,2=0x1FF40000+) |
|- | |- | ||
| 16 | | 16 |
Revision as of 00:15, 11 June 2014
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 |