Difference between revisions of "DSP Services"

From 3dbrew
Jump to navigation Jump to search
m
m
Line 75: Line 75:
 
| 0x00190040
 
| 0x00190040
 
| TranslatePAtoVA (0x20000000+ -> 0x14000000+, 0x1FF00000+ -> 0x1FF00000+, 0 otherwise)
 
| TranslatePAtoVA (0x20000000+ -> 0x14000000+, 0x1FF00000+ -> 0x1FF00000+, 0 otherwise)
 +
|-
 +
| 0x001A....
 +
| Wrapper for cdc:DSP cmd 1
 +
|-
 +
| 0x001B....
 +
| Wrapper for cdc:DSP cmd 2
 +
|-
 +
| 0x001C....
 +
| Wrapper for cdc:DSP cmd 3
 +
|-
 +
| 0x001D....
 +
| Wrapper for cdc:DSP cmd 4
 +
|-
 +
| 0x001E....
 +
| Wrapper for cdc:DSP cmd 5
 +
|-
 +
| 0x001F....
 +
| Wrapper for cdc:DSP cmd 6
 +
|-
 +
| 0x0020....
 +
| Wrapper for cdc:DSP cmd 8
 +
|-
 +
| 0x0021....
 +
| ?
 
|}
 
|}
  
 
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.

Revision as of 18:46, 25 April 2014

DSP service "dsp::DSP"

Command Header Description
0x00010040 RecvData
0x00020040 RecvDataIsReady
0x0003.... SendData
0x0004.... SendDataIsReady
0x0005... Initialize?
0x0006... Shutdown?
0x0007.... WriteReg0x10 (SetSemaphore?)
0x0008.... ReadReg0x1C
0x0009.... WriteReg0x18
0x000A.... WriteReg0x18
0x000B.... GetBit9InReg0x0C
0x000C0040 ConvertProcessAddressFromDspDram
0x000D0082 WriteProcessPipe
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 (The buffer must be located in the 0x14000000 region)
0x00140082 InvalidateDCache (The buffer must be located in either the 0x14000000 region, or the DSP memory region)
0x00150082 RegisterInterruptEvents(param0, param1, 0, eventhandle)
0x00160000 GetSemaphoreEventHandle
0x00170040 SetSemaphoreMask
0x00180040 TranslateVAtoPA (0x14000000+ -> 0x20000000+, 0x1FF00000+ -> 0x1FF00000+, 0x08000000-0x0E000000 -> 0x00000000+, 0 otherwise)
0x00190040 TranslatePAtoVA (0x20000000+ -> 0x14000000+, 0x1FF00000+ -> 0x1FF00000+, 0 otherwise)
0x001A.... Wrapper for cdc:DSP cmd 1
0x001B.... Wrapper for cdc:DSP cmd 2
0x001C.... Wrapper for cdc:DSP cmd 3
0x001D.... Wrapper for cdc:DSP cmd 4
0x001E.... Wrapper for cdc:DSP cmd 5
0x001F.... Wrapper for cdc:DSP cmd 6
0x0020.... Wrapper for cdc:DSP cmd 8
0x0021.... ?

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.