DSP Memory Region

From 3dbrew
Revision as of 23:13, 22 January 2016 by Merry (talk | contribs)
Jump to navigation Jump to search

The DSP communicates with userland through memory locations 0x1ff40000-0x1ff77fff. Within this region are two areas of structures that are exact duplicates of each other. The DSP alternates between the use of these two areas (much like a double-buffer). Each area has 15 structures within it. The location of these structures can be obtained by reading pipe 2.

The mixer has 24 channels, each of which are individually configurable.

Structure Number DSP memory address Size Description
5 0x8400 0x20 Status (?)
9 0x8410 0x260 Debug (?)
6 0x8540 0x280 Loopback Samples (PCM16)
2 0x8680 0x120 Channel Status (x24)
8 0x9710 0x1A40 ?
4 0x9430 0xC4 Main Configuration
7 0x9492 0x1400 ?
1 0x9e92 0x1200 Channel Config (x24)
3 0x9430 0x300 GC-ADPCM Coefficients (x24)
10 0xa912 0x200
11 0xaa12 0x180
12 0xaad2 0x300
13 0xac52 0x14
14 0xac5c 0x2476 -
0 0xbfff 0x2 Frame Counter