CSND Services: Difference between revisions

No edit summary
ElementW (talk | contribs)
m Add anchors
 
(15 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category:Services]]
The CSND service talks to the DSP using the DSP FIFO to negotiate what CSND channels are allocated to the DSP, and this seems to be channels 0-7 (usually). The rest are dedicated to CSND services.
 
{{Anchor|CSND}}{{Anchor|csnd:SND}}
= CSND service "csnd:SND" =
= CSND service "csnd:SND" =
{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 10: Line 12:
|-
|-
| 0x00020000
| 0x00020000
| Shutdown
| [[CSND:Shutdown|Shutdown]]
|-
|-
| 0x00030040
| 0x00030040
| This triggers processing for the command written to shared-memory, at the specified shared-mem location(type0).
| [[CSND:ExecuteCommands|ExecuteCommands]]
|-
|-
| 0x00040080
| 0x00040080
| This triggers processing for the command written to shared-memory, at the specified shared-mem location(type1).
| [[CSND:PlaySoundDirectly|PlaySoundDirectly]]
|-
|-
| 0x00050000
| 0x00050000
|  
| [[CSND:AcquireSoundChannels|AcquireSoundChannels]]
|-
|-
| 0x00060000
| 0x00060000
|  
| [[CSND:ReleaseSoundChannels|ReleaseSoundChannels]]
|-
|-
| 0x00070000
| 0x00070000
|  
| [[CSND:AcquireCapUnit|AcquireCapUnit]]
|-
|-
| 0x00080040
| 0x00080040
|  
| [[CSND:ReleaseCapUnit|ReleaseCapUnit]]
|-
|-
| 0x00090082
| 0x00090082
| FlushDCache (The address must be located in the 0x14000000 region)
| [[CSND:FlushDataCache|FlushDataCache]]
|-
|-
| 0x000A0082
| 0x000A0082
| StoreDCache (svcStoreProcessDataCache is used for this, the address must be located in the 0x14000000 region)
| [[CSND:StoreDataCache|StoreDataCache]]
|-
|-
| 0x000B0082
| 0x000B0082
| InvalidateDCache (The address must be located in the 0x14000000 region)
| [[CSND:InvalidateDataCache|InvalidateDataCache]]
|-
|-
| 0x000C0000
| 0x000C0000
|  
| [[CSND:Reset|Reset]]
|}
|}
A maximum of 4 service sessions can be opened at the same time for this service.
For cache operations addresses must be in 0x14000000-0x1C000000 range. Starting with [[8.0.0-18]] addresses in the range 0x30000000-0x40000000 are also allowed.
This service is normally used for playing [[BCWAV|CWAVs]]. The audio data must be located in the 0x14000000 virtual memory region, since CSND requires the physical address for playing the audio.
[[Category:Services]]