DSP:WriteProcessPipe: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
m Fix binary channel  | 
				 Add buffer details  | 
				||
| Line 56: | Line 56: | ||
| 3  | | 3  | ||
|}  | |}  | ||
==Buffer==  | |||
When <code>Channel == AUDIO</code>,  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Offset  | |||
!  Size  | |||
!  Description  | |||
|-  | |||
| 0x0  | |||
| 2  | |||
| Unknown  | |||
|-  | |||
| 0x2  | |||
| 2  | |||
| Change DSP state  | |||
|}  | |||
When <code>Channel == BINARY</code>,  | |||
{| class="wikitable" border="1"  | |||
|-  | |||
!  Offset  | |||
!  Size  | |||
!  Description  | |||
|-  | |||
| 0x0  | |||
| 2  | |||
| Codec enum  | |||
|-  | |||
| 0x2  | |||
| 2  | |||
| Codec Command  | |||
|-  | |||
| 0x4  | |||
| 4  | |||
| Result (0 = Success; 1 = Failed)  | |||
|-  | |||
| 0x8  | |||
| 24  | |||
| Command Args  | |||
|}  | |||
===Command Args===  | |||
Latest revision as of 17:01, 2 July 2023
Request
| Index Word | Description | 
|---|---|
| 0 | Header code [0x000D0082] | 
| 1 | Channel | 
| 2 | Size | 
| 3 | (Size << 14) | 0x402 | 
| 4 | Buffer | 
Response
| Index Word | Description | 
|---|---|
| 0 | Header code | 
| 1 | Result code | 
Usage Notes
One should call DSP:SetSemaphore with an argument of `0x4000`, then wait on the related interrupt event.
enum Channel
| Channel | Id | 
|---|---|
| DEBUG | 0 | 
| DMA | 1 | 
| AUDIO | 2 | 
| BINARY | 3 | 
Buffer
When Channel == AUDIO,
| Offset | Size | Description | 
|---|---|---|
| 0x0 | 2 | Unknown | 
| 0x2 | 2 | Change DSP state | 
When Channel == BINARY,
| Offset | Size | Description | 
|---|---|---|
| 0x0 | 2 | Codec enum | 
| 0x2 | 2 | Codec Command | 
| 0x4 | 4 | Result (0 = Success; 1 = Failed) | 
| 0x8 | 24 | Command Args |