DSP:ReadPipeIfPossible: Difference between revisions

Ichfly (talk | contribs)
No edit summary
Merry (talk | contribs)
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 9: Line 9:
|-
|-
| 1
| 1
| unk1
| Channel (0 - 7 0:Debug from DSP 1:P-DMA 2:audio 3:binary 4-7: free ?)
|-
|-
| 2
| 2
| unk2
| Peer (0 = from DSP, 1 = from ARM)
|-
|-
| 3
| 3
| ?size? (halfword)
| u16, Size
|}
|}


Line 25: Line 25:
|-
|-
| 0
| 0
| (size <<14) <nowiki>|</nowiki> 0x2
| (Size << 14) <nowiki>|</nowiki> 0x2
|-
|-
| 1
| 1
| buffer
| Buffer
|}
|}


Line 41: Line 41:
|-
|-
| 1
| 1
| Resultcode
| Result code
|-
|-
| 2
| 2
| sizeread? (hword)
| u16, Actual read size
|}
|}
= Channels =
== Channel 2 (Audio) ==
Channel 2 returns the DSP DRAM addresses of structures located in the [[DSP Memory Region]]. [[DSP:ConvertProcessAddressFromDspDram]] can be used to convert these addresses into virtual memory addresses. The list of addresses and the length of the list vary depending on DSP firmware version.
== Channel 3 (Binary) ==
The purpose of channel 3 is unknown. The behaviour of this pipe varies depending on DSP firmware version. Observed behaviours include:
* doing nothing.
* echoing what is returned to it.
* long strings of zeros.