CSND Services: Difference between revisions

ElementW (talk | contribs)
m Add anchors
 
(5 intermediate revisions by 4 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.
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 13: Line 12:
|-
|-
| 0x00020000
| 0x00020000
| Shutdown
| [[CSND:Shutdown|Shutdown]]
|-
|-
| 0x00030040
| 0x00030040
| ExecuteType0Commands
| [[CSND:ExecuteCommands|ExecuteCommands]]
|-
|-
| 0x00040080
| 0x00040080
| ExecuteType1Commands
| [[CSND:PlaySoundDirectly|PlaySoundDirectly]]
|-
|-
| 0x00050000
| 0x00050000
| AcquireSoundChannels. This function tries to acquire sound channels. Response cmdbuf[2] holds a bitmask to which channels were allocated to this process.
| [[CSND:AcquireSoundChannels|AcquireSoundChannels]]
|-
|-
| 0x00060000
| 0x00060000
| ReleaseSoundChannels.
| [[CSND:ReleaseSoundChannels|ReleaseSoundChannels]]
|-
|-
| 0x00070000
| 0x00070000
| AcquireUnknown. This function tries to acquire unknown channels (16).
| [[CSND:AcquireCapUnit|AcquireCapUnit]]
|-
|-
| 0x00080040
| 0x00080040
| ReleaseUnknown. This function tries to release the channels corresponding to the given bitmask in cmdbuf[1].
| [[CSND:ReleaseCapUnit|ReleaseCapUnit]]
|-
|-
| 0x00090082
| 0x00090082
| FlushDCache
| [[CSND:FlushDataCache|FlushDataCache]]
|-
|-
| 0x000A0082
| 0x000A0082
| StoreDCache
| [[CSND:StoreDataCache|StoreDataCache]]
|-
|-
| 0x000B0082
| 0x000B0082
| InvalidateDCache
| [[CSND:InvalidateDataCache|InvalidateDataCache]]
|-
|-
| 0x000C0000
| 0x000C0000
|  
| [[CSND:Reset|Reset]]
|}
|}


Line 51: Line 50:


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.
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]]