DSP:ReadPipeIfPossible

DSP:ReadPipeIfPossible

Request #

Index WordDescription
0Header code [0x001000c0]
1Channel (0 - 7 0:Debug from DSP 1:P-DMA 2:audio 3:binary 4-7: free ?)
2Peer (0 = from DSP, 1 = from ARM)
3u16, Size

0x100 byte after the Request header

Index WordDescription
0(Size << 14) | 0x2
1Buffer

Response #

Index WordDescription
0Header code
1Result code
2u16, 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.