DSP Services: Difference between revisions

No edit summary
Neobrain (talk | contribs)
m Category DSP
 
(41 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Category:Services]]
= DSP service "dsp::DSP" =
= DSP service "dsp::DSP" =
{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 5: Line 4:
!  Command Header
!  Command Header
!  Description
!  Description
|-
| 0x00010040
| [[DSP:RecvData|RecvData]]
|-
| 0x00020040
| [[DSP:RecvDataIsReady|RecvDataIsReady]]
|-
| 0x00030080
| [[DSP:SendData|SendData]]
|-
| 0x00040040
| [[DSP:SendDataIsEmpty|SendDataIsEmpty]]
|-
| 0x000500C2
| SendFifoEx(unsigned short, unsigned short const*, unsigned int, unsigned int)
|-
| 0x000600C0
| RecvFifoEx(unsigned short *, unsigned short, unsigned int, unsigned int)
|-
| 0x00070040
| [[DSP:SetSemaphore|SetSemaphore]]
|-
| 0x00080000
| [[DSP:GetSemaphore|GetSemaphore]]
|-
| 0x00090040
| [[DSP:ClearSemaphore|ClearSemaphore]]
|-
| 0x000A0040
| [[DSP:MaskSemaphore|MaskSemaphore]]
|-
| 0x000B0000
| [[DSP:CheckSemaphoreRequest|CheckSemaphoreRequest]]
|-
| 0x000C0040
| [[DSP:ConvertProcessAddressFromDspDram|ConvertProcessAddressFromDspDram]]
|-
| 0x000D0082
| [[DSP:WriteProcessPipe|WriteProcessPipe]]
|-
| 0x000E00C0
| [[DSP:ReadPipe|ReadPipe]]
|-
| 0x000F0080
| [[DSP:GetPipeReadableSize|GetPipeReadableSize]]
|-
| 0x001000C0
| [[DSP:ReadPipeIfPossible|ReadPipeIfPossible]]
|-
|-
| 0x001100C2
| 0x001100C2
| Initialize. This requires RSA-signed DSP firmware specified via the input buffer for this command, the firmware data is eventually written to DSPmem+0(0x1FF00000).
| [[DSP:LoadComponent|LoadComponent]]
|-
|-
| 0x00120000
| 0x00120000
| Shutdown
| [[DSP:UnloadComponent|UnloadComponent]]
|-
|-
| 0x00130082
| 0x00130082
| FlushDCache (The buffer must be located in the 0x14000000 region)
| [[DSP:FlushDataCache|FlushDataCache]]
|  
|-
|-
| 0x00140082
| 0x00140082
| InvalidateDCache (The buffer must be located in either the 0x14000000 region, or the DSP memory region)
| [[DSP:InvalidateDCache|InvalidateDCache]]
|-
|-
| 0x00150082
| 0x00150082
| (param0, param1, 0, eventhandle)
| [[DSP:RegisterInterruptEvents|RegisterInterruptEvents]]
|-
|-
| 0x00160000
| 0x00160000
| This obtains an event handle.
| [[DSP:GetSemaphoreEventHandle|GetSemaphoreEventHandle]]
|-
|-
| 0x00170040
| 0x00170040
|  
| [[DSP:SetSemaphoreMask|SetSemaphoreMask]]
|-
|-
| 0x00180040
| 0x00180040
|  
| [[DSP:GetPhysicalAddress|GetPhysicalAddress]]
|-
|-
| 0x00190040
| 0x00190040
|  
| [[DSP:GetVirtualAddress|GetVirtualAddress]]
|-
| 0x001A0042
| SetIirFilterI2S1. Wrapper for cdc:DSP cmd 1
|-
| 0x001B0042
| SetIirFilterI2S2. Wrapper for cdc:DSP cmd 2
|-
| 0x001C0082
| SetIirFilterEQ. Wrapper for cdc:DSP cmd 3
|-
| 0x001D00C0
| ReadMultiEx_SPI2(unsigned char, unsigned char, unsigned char *, unsigned char) (Wrapper for cdc:DSP cmd 4)
|-
| 0x001E00C2
| WriteMultiEx_SPI2(unsigned char, unsigned char, unsigned char const*, unsigned char) (Wrapper for cdc:DSP cmd 5)
|-
| 0x001F0000
| [[DSP:GetHeadphoneStatus|GetHeadphoneStatus]]
|-
| 0x00200040
| [[DSP:ForceHeadphoneOut|ForceHeadphoneOut]]
|-
| 0x00210000
| [[DSP:GetIsDspOccupied|GetIsDspOccupied]]
|}
|}


This is the main service for playing audio. The [[CSND_Services|CSND]] service can be used for playing audio as well, however most processes use this DSP service for playing audio.
This is the main service for playing audio. The [[CSND_Services|CSND]] service can be used for playing audio as well, however most processes use this DSP service for playing audio. The DSP and CSND hardware can play audio simultaneously.
 
[[Category:Services]]
[[Category:DSP]]