Difference between revisions of "PXIDEV:SPIMultiWriteRead"

From 3dbrew
Jump to navigation Jump to search
(Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x000D0688] |- | 1-2 | Header |- | 3 | Header Size |- | 4 | Header Gamecard_S...")
 
 
(One intermediate revision by the same user not shown)
Line 104: Line 104:
  
 
=Description=
 
=Description=
Writes data to the [[SPICARD_Registers|CARDSPI FIFO]], reads the response, writes more data, and reads the next response. To use this, the [[NCCH/Extended_Header|ARM9 Access Control]] bit for SPICARD must be set in one of the currently running ARM11 processes.
+
Writes the header to the [[SPICARD_Registers|CARDSPI FIFO]], writes the first write buffer, reads the response to the first read buffer, writes the second write buffer, reads the response to the second read buffer, and writes the footer. To use this, the [[NCCH/Extended_Header|ARM9 Access Control]] bit for SPICARD must be set in one of the currently running ARM11 processes.
  
 
If the header, footer, or any of the buffers have a size of 0, their respective operation will be skipped.
 
If the header, footer, or any of the buffers have a size of 0, their respective operation will be skipped.

Latest revision as of 06:56, 21 January 2016

Request[edit]

Index Word Description
0 Header code [0x000D0688]
1-2 Header
3 Header Size
4 Header TransferOption
5-6 Header WaitOperation
7 Write Buffer 1 Size
8 Write Buffer 1 TransferOption
9-10 Write Buffer 1 WaitOperation
11 Read Buffer 1 Size
12 Read Buffer 1 TransferOption
13-14 Read Buffer 1 WaitOperation
15 Write Buffer 2 Size
16 Write Buffer 2 TransferOption
17-18 Write Buffer 2 WaitOperation
19 Read Buffer 2 Size
20 Read Buffer 2 TransferOption
21-22 Read Buffer 2 WaitOperation
23-24 Footer
25 Footer Size
26 Footer TransferOption
27 (WriteBuffer1Size << 8) | 0x6
28 Write Buffer 1 Pointer
29 (WriteBuffer2Size << 8) | 0x16
30 Write Buffer 2 Pointer
31 (ReadBuffer1Size << 8) | 0x24
32 Read Buffer 1 Pointer
33 (ReadBuffer2Size << 8) | 0x34
34 Read Buffer 2 Pointer

Response[edit]

Index Word Description
0 Header code
1 Result code

Description[edit]

Writes the header to the CARDSPI FIFO, writes the first write buffer, reads the response to the first read buffer, writes the second write buffer, reads the response to the second read buffer, and writes the footer. To use this, the ARM9 Access Control bit for SPICARD must be set in one of the currently running ARM11 processes.

If the header, footer, or any of the buffers have a size of 0, their respective operation will be skipped.