CSND Services

From 3dbrew
Revision as of 23:49, 16 July 2014 by Plutooo (talk | contribs)
Jump to navigation Jump to search

CSND service "csnd:SND"

Command Header Description
0x00010140 Initialize
0x00020000 Shutdown
0x00030040 This triggers processing for the command(0x20-bytes) written to shared-memory, at the specified shared-mem offset(type0).
0x00040080 This triggers processing for the command(0x3C-bytes) written to shared-memory, at the specified shared-mem entry index(type1).
0x00050000 This returns an unknown bitmask u32 at responseword[2], this command is used for CSND initialization after command 0x00010140 is used.
0x00060000
0x00070000
0x00080040
0x00090082 FlushDCache
0x000A0082 StoreDCache
0x000B0082 InvalidateDCache
0x000C0000

For cache operations addresses must be in 0x14000000-0x1C000000 range. After 8.0.0-18 addresses in the range 0x30000000-0x40000000 are also allowed.

This service is normally used for playing CWAVs. The audio data must be located in the 0x14000000 virtual memory region, since CSND requires the physical address for playing the audio.