Difference between revisions of "Gamecard Services PXI"

From 3dbrew
Jump to navigation Jump to search
(Created page with "{| class="wikitable" border="1" |- ! Command Header ! Description |- | 0x0001.... | ? |- | 0x0002.... | ? |- | 0x0003.... | ? |- | 0x0004.... | ? |- | 0x0005.... | ? |- | 0x000...")
 
 
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
="pxi:dev" service=
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
 
!  Command Header
 
!  Command Header
 +
!  Available since system version
 
!  Description
 
!  Description
 
|-
 
|-
| 0x0001....
+
| 0x000101C2
| ?
+
| [[1.0.0-0]]
 +
| [[PXIDEV:ReadCTRCARD_Cmd40|ReadHostIO]]
 
|-
 
|-
| 0x0002....
+
| 0x000201C2
| ?
+
| [[1.0.0-0]]
 +
| [[PXIDEV:WriteCTRCARD_Cmd41|WriteHostIO]]
 
|-
 
|-
| 0x0003....
+
| 0x00030102
| ?
+
| [[1.0.0-0]]
 +
| [[PXIDEV:ReadCTRCARD_Cmd42|ReadHostEx]]
 
|-
 
|-
| 0x0004....
+
| 0x00040102
| ?
+
| [[1.0.0-0]]
 +
| [[PXIDEV:WriteCTRCARD_Cmd44|WriteHostEx]]
 
|-
 
|-
| 0x0005....
+
| 0x00050102
| ?
+
| [[1.0.0-0]]
 +
| WriteHostExStart. Stubbed, only returns an error. Use [[PXIDEV:WriteCTRCARD_Cmd44|WriteHostEx]] instead.
 
|-
 
|-
| 0x0006....
+
| 0x00060102
| ?
+
| [[1.0.0-0]]
 +
| WriteHostExChunk. Stubbed, only returns an error. Use [[PXIDEV:WriteCTRCARD_Cmd44|WriteHostEx]] instead.
 
|-
 
|-
| 0x0007....
+
| 0x00070000
| ?
+
| [[1.0.0-0]]
 +
| WriteHostExEnd. Stubbed, only returns an error. Use [[PXIDEV:WriteCTRCARD_Cmd44|WriteHostEx]] instead.
 
|-
 
|-
| 0x0008....
+
| 0x00080000
| ?
+
| [[2.0.0-2]]
 +
| InitializeMIDI
 
|-
 
|-
| 0x0009....
+
| 0x00090000
| ?
+
| [[2.0.0-2]]
 +
| FinalizeMIDI
 
|-
 
|-
| 0x000A....
+
| 0x000A0000
| ?
+
| [[2.0.0-2]]
 +
| GetMIDIInfo. This writes 3 bytes to cmdreply[2], the [[SPICARD]] hw is used for this.
 
|-
 
|-
| 0x000B....
+
| 0x000B0000
| ?
+
| [[2.0.0-2]]
 +
| GetMIDIBufferSize. This writes a max-size value to cmdreply[2].
 
|-
 
|-
| 0x000C....
+
| 0x000C0042
| ?
+
| [[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.
 
|-
 
|-
| 0x000D....
+
| 0x000D0688
| ?
+
| [[2.0.0-2]]
 +
| [[PXIDEV:SPIMultiWriteRead|SPIMultiWriteRead]]
 
|-
 
|-
| 0x000E....
+
| 0x000E0284
| ?
+
| [[2.0.0-2]]
 +
| [[PXIDEV:SPIWriteRead|SPIWriteRead]]
 
|-
 
|-
| 0x000F....
+
| 0x000F0000
| ?
+
| [[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 22:51, 1 September 2017

"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