Difference between revisions of "DSP Services"
Jump to navigation
Jump to search
Purpasmart (talk | contribs) |
Steveice10 (talk | contribs) m (Update links.) |
||
Line 7: | Line 7: | ||
|- | |- | ||
| 0x00010040 | | 0x00010040 | ||
− | | RecvData | + | | [[DSP:RecvData|RecvData]] |
|- | |- | ||
| 0x00020040 | | 0x00020040 | ||
− | | RecvDataIsReady | + | | [[DSP:RecvDataIsReady|RecvDataIsReady]] |
|- | |- | ||
| 0x00030080 | | 0x00030080 | ||
− | | SendData | + | | [[DSP:SendData|SendData]] |
|- | |- | ||
| 0x00040040 | | 0x00040040 | ||
− | | SendDataIsEmpty | + | | [[DSP:SendDataIsEmpty|SendDataIsEmpty]] |
|- | |- | ||
| 0x000500C2 | | 0x000500C2 | ||
Line 25: | Line 25: | ||
|- | |- | ||
| 0x00070040 | | 0x00070040 | ||
− | | [[DSP: | + | | [[DSP:SetSemaphore|SetSemaphore]] |
|- | |- | ||
| 0x00080000 | | 0x00080000 | ||
Line 58: | Line 58: | ||
|- | |- | ||
| 0x00120000 | | 0x00120000 | ||
− | | UnloadComponent | + | | [[DSP:UnloadComponent|UnloadComponent]] |
|- | |- | ||
| 0x00130082 | | 0x00130082 | ||
Line 97: | Line 97: | ||
|- | |- | ||
| 0x001F0000 | | 0x001F0000 | ||
− | | GetHeadphoneStatus | + | | [[DSP:GetHeadphoneStatus|GetHeadphoneStatus]] |
|- | |- | ||
| 0x00200040 | | 0x00200040 |
Revision as of 06:32, 9 October 2015
DSP service "dsp::DSP"
Command Header | Description |
---|---|
0x00010040 | RecvData |
0x00020040 | RecvDataIsReady |
0x00030080 | SendData |
0x00040040 | SendDataIsEmpty |
0x000500C2 | SendFifoEx(unsigned short, unsigned short const*, unsigned int, unsigned int) |
0x000600C0 | RecvFifoEx(unsigned short *, unsigned short, unsigned int, unsigned int) |
0x00070040 | SetSemaphore |
0x00080000 | GetSemaphore(unsigned short * pMask) |
0x00090040 | ClearSemaphore(unsigned short mask) |
0x000A0040 | MaskSemaphore(unsigned short mask) |
0x000B0000 | CheckSemaphoreRequest(bool * pIsRequested ) |
0x000C0040 | ConvertProcessAddressFromDspDram |
0x000D0082 | WriteProcessPipe |
0x000E00C0 | ReadPipe(int, int, unsigned char *, unsigned short) |
0x000F0080 | GetPipeReadableSize(int, int, unsigned short *) |
0x001000C0 | ReadPipeIfPossible |
0x001100C2 | 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). |
0x00120000 | UnloadComponent |
0x00130082 | FlushDataCache |
0x00140082 | InvalidateDCache |
0x00150082 | RegisterInterruptEvents(param0, param1, 0, eventhandle) |
0x00160000 | GetSemaphoreEventHandle |
0x00170040 | SetSemaphoreMask |
0x00180040 | GetPhysicalAddress (0x14000000+ -> 0x20000000+, 0x1FF00000+ -> 0x1FF00000+, 0x08000000-0x0E000000 -> 0x00000000+, 0 otherwise) |
0x00190040 | GetVirtualAddress (0x20000000+ -> 0x14000000+, 0x1FF00000+ -> 0x1FF00000+, 0 otherwise) |
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 | GetHeadphoneStatus |
0x00200040 | ForceHeadphoneOut(bool forceout) (Wrapper for cdc:DSP cmd 8) |
0x00210000 | GetIsDspOccupied(bool *) returns a byte (can be 1 or 0) can be set to 1 in LoadComponent |
This is the main service for playing audio. The 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.