Difference between revisions of "Gamecard Services PXI"

From 3dbrew
Jump to navigation Jump to search
m (Add anchors)
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
__TOC__
 +
{{Anchor|PXIDEV}}{{Anchor|pxi:dev}}
 +
="pxi:dev" service=
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 7: Line 10:
 
| 0x000101C2
 
| 0x000101C2
 
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| ?
+
| [[PXIDEV:ReadCTRCARD_Cmd40|ReadHostIO]]
 
|-
 
|-
 
| 0x000201C2
 
| 0x000201C2
 
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| ?
+
| [[PXIDEV:WriteCTRCARD_Cmd41|WriteHostIO]]
 
|-
 
|-
 
| 0x00030102
 
| 0x00030102
 
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| ?
+
| [[PXIDEV:ReadCTRCARD_Cmd42|ReadHostEx]]
 
|-
 
|-
 
| 0x00040102
 
| 0x00040102
 
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| ?
+
| [[PXIDEV:WriteCTRCARD_Cmd44|WriteHostEx]]
 
|-
 
|-
 
| 0x00050102
 
| 0x00050102
 
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| ?
+
| WriteHostExStart. Stubbed, only returns an error. Use [[PXIDEV:WriteCTRCARD_Cmd44|WriteHostEx]] instead.
 
|-
 
|-
 
| 0x00060102
 
| 0x00060102
 
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| ?
+
| WriteHostExChunk. Stubbed, only returns an error. Use [[PXIDEV:WriteCTRCARD_Cmd44|WriteHostEx]] instead.
 
|-
 
|-
 
| 0x00070000
 
| 0x00070000
 
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| ?
+
| WriteHostExEnd. Stubbed, only returns an error. Use [[PXIDEV:WriteCTRCARD_Cmd44|WriteHostEx]] instead.
 
|-
 
|-
 
| 0x00080000
 
| 0x00080000
| [[1.0.0-0]]
+
| [[2.0.0-2]]
| ?
+
| InitializeMIDI
 
|-
 
|-
 
| 0x00090000
 
| 0x00090000
| [[1.0.0-0]]
+
| [[2.0.0-2]]
| ?
+
| FinalizeMIDI
 
|-
 
|-
 
| 0x000A0000
 
| 0x000A0000
| [[1.0.0-0]]
+
| [[2.0.0-2]]
| ?
+
| GetMIDIInfo.  This writes 3 bytes to cmdreply[2], the [[SPICARD]] hw is used for this.
 
|-
 
|-
 
| 0x000B0000
 
| 0x000B0000
| [[1.0.0-0]]
+
| [[2.0.0-2]]
| ?
+
| GetMIDIBufferSize. This writes a max-size value to cmdreply[2].
 
|-
 
|-
 
| 0x000C0042
 
| 0x000C0042
| [[1.0.0-0]]
+
| [[2.0.0-2]]
| ?
+
| ReadMIDI (size, ((size<<8) <nowiki>|</nowiki> 4), outbufptr) This copies the data from some buffer(size is restricted to the maxsize value also used by command 0x000B0000) to the FCRAM outbuf, when certain flags are set correctly.
 
|-
 
|-
 
| 0x000D0688
 
| 0x000D0688
| [[1.0.0-0]]
+
| [[2.0.0-2]]
| ?
+
| [[PXIDEV:SPIMultiWriteRead|SPIMultiWriteRead]]
 
|-
 
|-
 
| 0x000E0284
 
| 0x000E0284
| [[1.0.0-0]]
+
| [[2.0.0-2]]
| ?
+
| [[PXIDEV:SPIWriteRead|SPIWriteRead]]
 
|-
 
|-
 
| 0x000F0000
 
| 0x000F0000
| [[1.0.0-0]]
+
| [[2.0.0-2]]
| ?
+
| [[PXIDEV:GetCardDevice|GetCardDevice]]
 +
|}
 +
 
 +
==Types==
 +
===SectorSize===
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Value
 +
!  Description
 +
|-
 +
| 0
 +
| 0x0 bytes
 +
|-
 +
| 1
 +
| 0x4 bytes
 +
|-
 +
| 2
 +
| 0x10 bytes
 +
|-
 +
| 3
 +
| 0x40 bytes
 +
|-
 +
| 4
 +
| 0x200 bytes
 +
|-
 +
| 5
 +
| 0x400 bytes
 +
|-
 +
| 6
 +
| 0x800 bytes
 +
|-
 +
| 7
 +
| 0x1000 bytes
 +
|-
 +
| 8
 +
| 0x2000 bytes
 +
|}
 +
 
 +
===TransferOption===
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Bits
 +
!  Description
 +
|-
 +
| 0-5
 +
| [[Filesystem_services#CardSpiBaudRate|CardSpiBaudRate]]
 +
|-
 +
| 6-7
 +
| [[Filesystem_services#CardSpiBusMode|CardSpiBusMode]]
 +
|}
 +
 
 +
===WaitOperation===
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Bits
 +
!  Description
 +
|-
 +
| 0-3
 +
| [[#WaitType|WaitType]]
 +
|-
 +
| 4-7
 +
| [[#DeassertType|DeassertType]]
 +
|-
 +
| 8-63
 +
| Nanoseconds
 +
|}
 +
 
 +
===WaitType===
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Value
 +
!  Description
 +
|-
 +
| 0
 +
| None
 +
|-
 +
| 1
 +
| Sleep
 +
|-
 +
| 2
 +
| Wait for IREQ, return if timeout
 +
|-
 +
| 3
 +
| Wait for IREQ, continue if timeout
 +
|}
 +
 
 +
===DeassertType===
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Value
 +
!  Description
 +
|-
 +
| 0
 +
| None
 +
|-
 +
| 1
 +
| Before wait
 +
|-
 +
| 2
 +
| After wait
 
|}
 
|}

Latest revision as of 10:53, 18 September 2024

"pxi:dev" service[edit]

Command Header Available since system version Description
0x000101C2 1.0.0-0 ReadHostIO
0x000201C2 1.0.0-0 WriteHostIO
0x00030102 1.0.0-0 ReadHostEx
0x00040102 1.0.0-0 WriteHostEx
0x00050102 1.0.0-0 WriteHostExStart. Stubbed, only returns an error. Use WriteHostEx instead.
0x00060102 1.0.0-0 WriteHostExChunk. Stubbed, only returns an error. Use WriteHostEx instead.
0x00070000 1.0.0-0 WriteHostExEnd. Stubbed, only returns an error. Use WriteHostEx instead.
0x00080000 2.0.0-2 InitializeMIDI
0x00090000 2.0.0-2 FinalizeMIDI
0x000A0000 2.0.0-2 GetMIDIInfo. This writes 3 bytes to cmdreply[2], the SPICARD hw is used for this.
0x000B0000 2.0.0-2 GetMIDIBufferSize. This writes a max-size value to cmdreply[2].
0x000C0042 2.0.0-2 ReadMIDI (size, ((size<<8) | 4), outbufptr) This copies the data from some buffer(size is restricted to the maxsize value also used by command 0x000B0000) to the FCRAM outbuf, when certain flags are set correctly.
0x000D0688 2.0.0-2 SPIMultiWriteRead
0x000E0284 2.0.0-2 SPIWriteRead
0x000F0000 2.0.0-2 GetCardDevice

Types[edit]

SectorSize[edit]

Value Description
0 0x0 bytes
1 0x4 bytes
2 0x10 bytes
3 0x40 bytes
4 0x200 bytes
5 0x400 bytes
6 0x800 bytes
7 0x1000 bytes
8 0x2000 bytes

TransferOption[edit]

Bits Description
0-5 CardSpiBaudRate
6-7 CardSpiBusMode

WaitOperation[edit]

Bits Description
0-3 WaitType
4-7 DeassertType
8-63 Nanoseconds

WaitType[edit]

Value Description
0 None
1 Sleep
2 Wait for IREQ, return if timeout
3 Wait for IREQ, continue if timeout

DeassertType[edit]

Value Description
0 None
1 Before wait
2 After wait