CSND Registers
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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. |
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 | For Type0 Cmd 0xE, CSND module writes this value here: cmdword[6]. |
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. |