DSP:WriteProcessPipe: Difference between revisions
Jump to navigation
Jump to search
Add channel enum |
Add buffer details |
||
| (One intermediate revision by the same user not shown) | |||
| Line 54: | Line 54: | ||
|- | |- | ||
| BINARY | | BINARY | ||
| 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 | | 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 |