DSP Binary

DSP Binary

OffsetSizeDescription
0x00x100RSA Signature over bytes 0x100-0x300
0x1004Magic ('DSP1')
0x1044DSP binary size
0x1082Memory layout (bits 0-7: Program ram, 8-15: Data ram). Each bit represents a memory region. The region is always 0x8000 bytes in size (the first region starts at 0x1FF00000; the next is a 0x1FF08000 and so on). The HW registers for DSP memory configuration are CFG11_SHAREDWRAM_32K_DATA and CFG11_SHAREDWRAM_32K_CODE, located at physical address 0x10140000 (mapped to 0x1EC40000).
0x10C1?
0x10D1Special segment memory type (0=1=0x1FF00000(Program ram)+,2=0x1FF40000(Data ram)+)
0x10E1Num segments (must be 1-10)
0x10F1Flags:

bit0: if set, DSP module calls DSP:RecvData on all three registers and expects them to reply value 1

bit1: if set, load special segment

0x1104Special segment Start address in 16-bit words
0x1144Special segment size in bytes
0x1188Zero
0x1200x30*10Segment 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:

OffsetSizeDescription
04Offset data
44Start address in 16-bit words (must be < 0x20000 for type 0, < 0x10000 for type 1,2)
84Size in bytes
151Memory type (0=1=0x1FF00000 (Program ram)+,2=0x1FF40000 (Data ram)+)
1632SHA256 hash of segment

The normal ending of this files is *.cdc

Category:File formats Category:DSP