DSP Services: Difference between revisions

Steveice10 (talk | contribs)
m Update links.
Neobrain (talk | contribs)
m Category DSP
 
(3 intermediate revisions by 2 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 28: Line 27:
|-
|-
| 0x00080000
| 0x00080000
| GetSemaphore(unsigned short * pMask)
| [[DSP:GetSemaphore|GetSemaphore]]
|-
|-
| 0x00090040
| 0x00090040
| ClearSemaphore(unsigned short mask)
| [[DSP:ClearSemaphore|ClearSemaphore]]
|-
|-
| 0x000A0040
| 0x000A0040
| MaskSemaphore(unsigned short mask)
| [[DSP:MaskSemaphore|MaskSemaphore]]
|-
|-
| 0x000B0000
| 0x000B0000
| CheckSemaphoreRequest(bool * pIsRequested )
| [[DSP:CheckSemaphoreRequest|CheckSemaphoreRequest]]
|-
|-
| 0x000C0040
| 0x000C0040
Line 46: Line 45:
|-
|-
| 0x000E00C0
| 0x000E00C0
| ReadPipe(int, int, unsigned char *, unsigned short)
| [[DSP:ReadPipe|ReadPipe]]
|-
|-
| 0x000F0080
| 0x000F0080
| GetPipeReadableSize(int, int, unsigned short *)
| [[DSP:GetPipeReadableSize|GetPipeReadableSize]]
|-
|-
| 0x001000C0
| 0x001000C0
Line 55: Line 54:
|-
|-
| 0x001100C2
| 0x001100C2
| [[DSP:LoadComponent|LoadComponent]]. 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
Line 67: Line 66:
|-
|-
| 0x00150082
| 0x00150082
| [[DSP:RegisterInterruptEvents|RegisterInterruptEvents(param0, param1, 0, eventhandle)]]
| [[DSP:RegisterInterruptEvents|RegisterInterruptEvents]]
|-
|-
| 0x00160000
| 0x00160000
Line 76: Line 75:
|-
|-
| 0x00180040
| 0x00180040
| GetPhysicalAddress (0x14000000+ -> 0x20000000+, 0x1FF00000+ -> 0x1FF00000+, 0x08000000-0x0E000000 -> 0x00000000+, 0 otherwise)
| [[DSP:GetPhysicalAddress|GetPhysicalAddress]]
|-
|-
| 0x00190040
| 0x00190040
| GetVirtualAddress (0x20000000+ -> 0x14000000+, 0x1FF00000+ -> 0x1FF00000+, 0 otherwise)
| [[DSP:GetVirtualAddress|GetVirtualAddress]]
|-
|-
| 0x001A0042
| 0x001A0042
Line 100: Line 99:
|-
|-
| 0x00200040
| 0x00200040
| ForceHeadphoneOut(bool forceout) (Wrapper for cdc:DSP cmd 8)
| [[DSP:ForceHeadphoneOut|ForceHeadphoneOut]]
|-
|-
| 0x00210000
| 0x00210000
| GetIsDspOccupied(bool *) returns a byte (can be 1 or 0) can be set to 1 in LoadComponent
| [[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. The DSP and CSND hardware can play audio simultaneously.
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]]