Difference between revisions of "CSND Registers"
Jump to navigation
Jump to search
(Created page with "=0x1EC03400= The channel registers are based at 0x1EC03400(process virtual address). There's 0x20-bytes total for each channel slot, thus the base-address for a channel's slot is...") |
|||
Line 33: | Line 33: | ||
| 0xC | | 0xC | ||
| 4 | | 4 | ||
− | | This is the audio data physical address. | + | | This is the audio data physical address, for the main channel. |
|- | |- | ||
| 0x10 | | 0x10 | ||
Line 41: | Line 41: | ||
| 0x14 | | 0x14 | ||
| 4 | | 4 | ||
− | | | + | | This is the audio data physical address, for the second channel. When this is not 0x0 stereo audio is used, otherwise mono audio is used. |
|- | |- | ||
| 0x18 | | 0x18 |
Revision as of 21:08, 23 August 2013
0x1EC03400
The channel registers are based at 0x1EC03400(process virtual address). There's 0x20-bytes total for each channel slot, thus the base-address for a channel's slot is determined with: 0x1EC03400 + (channel_index*0x20). The below offsets are relative to these channel register slots.
Relative offset | Size | Description |
---|---|---|
0x0 | 2 | REG_CSNDCHANX_CNT |
0x2 | 2 | For Type0 Cmd 0xE, CSND module writes this value here: 0 - (cmdword[2]>>16). |
0x4 | 2 | For Type0 Cmd 0xE, CSND module writes value 0 here. |
0x6 | 2 | For Type0 Cmd 0xE, CSND module writes value 0 here. |
0x8 | 2 | For Type0 Cmd 0xE, CSND module writes this value here: (u16)cmdword[4]. |
0xA | 2 | For Type0 Cmd 0xE, CSND module writes this value here: cmdword[4]>>16. |
0xC | 4 | This is the audio data physical address, for the main channel. |
0x10 | 4 | This is the audio data total byte-size. The CSND module masks the size loaded from the Type0 command-data with value 0x7FFFFFF, which is then used when writing these registers. |
0x14 | 4 | This is the audio data physical address, for the second channel. When this is not 0x0 stereo audio is used, otherwise mono audio is used. |
0x18 | 4 | In some cases the CSND module may write value 0 here. |
0x1C | 4 | In some cases the CSND module may write value 0 here. |