Difference between revisions of "DSP Binary"

From 3dbrew
Jump to navigation Jump to search
m
Line 36: Line 36:
 
| 0x10F
 
| 0x10F
 
| 1
 
| 1
| Flags (bit0=??, bit1=special segment)
+
| Flags (bit0=??, bit1=load special segment)
 
|-
 
|-
 
| 0x110
 
| 0x110
 
| 4
 
| 4
| Special segment start in 16-bit words
+
| Special segment Start addr in 16-bit words
 
|-
 
|-
 
| 0x114
 
| 0x114
 
| 4
 
| 4
| Special segment size in bytes
+
| Special segment Size in bytes
 
|-
 
|-
 
| 0x118
 
| 0x118
Line 55: Line 55:
 
|}
 
|}
  
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.
+
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. The purpose of this segment is currently unknown.  
  
 
Each segment record:
 
Each segment record:
Line 70: Line 70:
 
| 4
 
| 4
 
| 4
 
| 4
| Load addr in 16-bit words (must be < 0x20000 for type 0, < 0x10000 for type 1,2)
+
| Start addr in 16-bit words (must be < 0x20000 for type 0, < 0x10000 for type 1,2)
 
|-
 
|-
 
| 8
 
| 8

Revision as of 01:27, 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=load special segment)
0x110 4 Special segment Start addr 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. The purpose of this segment is currently unknown.

Each segment record:

Offset Size Description
0 4 Offset data
4 4 Start 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