Gamecard Services PXI: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Steveice10 (talk | contribs)
ElementW (talk | contribs)
m Add anchors
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__TOC__
{{Anchor|PXIDEV}}{{Anchor|pxi:dev}}
="pxi:dev" service=
="pxi:dev" service=
{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 8: Line 10:
| 0x000101C2
| 0x000101C2
| [[1.0.0-0]]
| [[1.0.0-0]]
| [[PXIDEV:ReadCTRCARD_Cmd40|ReadCTRCARD_Cmd40]]
| [[PXIDEV:ReadCTRCARD_Cmd40|ReadHostIO]]
|-
|-
| 0x000201C2
| 0x000201C2
| [[1.0.0-0]]
| [[1.0.0-0]]
| [[PXIDEV:WriteCTRCARD_Cmd41|WriteCTRCARD_Cmd41]]
| [[PXIDEV:WriteCTRCARD_Cmd41|WriteHostIO]]
|-
|-
| 0x00030102
| 0x00030102
| [[1.0.0-0]]
| [[1.0.0-0]]
| [[PXIDEV:ReadCTRCARD_Cmd42|ReadCTRCARD_Cmd42]]
| [[PXIDEV:ReadCTRCARD_Cmd42|ReadHostEx]]
|-
|-
| 0x00040102
| 0x00040102
| [[1.0.0-0]]
| [[1.0.0-0]]
| [[PXIDEV:WriteCTRCARD_Cmd44|WriteCTRCARD_Cmd44]]
| [[PXIDEV:WriteCTRCARD_Cmd44|WriteHostEx]]
|-
|-
| 0x00050102
| 0x00050102
| [[1.0.0-0]]
| [[1.0.0-0]]
| Stubbed, only returns an error.
| WriteHostExStart. Stubbed, only returns an error. Use [[PXIDEV:WriteCTRCARD_Cmd44|WriteHostEx]] instead.
|-
|-
| 0x00060102
| 0x00060102
| [[1.0.0-0]]
| [[1.0.0-0]]
| Stubbed, only returns an error.
| WriteHostExChunk. Stubbed, only returns an error. Use [[PXIDEV:WriteCTRCARD_Cmd44|WriteHostEx]] instead.
|-
|-
| 0x00070000
| 0x00070000
| [[1.0.0-0]]
| [[1.0.0-0]]
| Stubbed, only returns an error.
| WriteHostExEnd. Stubbed, only returns an error. Use [[PXIDEV:WriteCTRCARD_Cmd44|WriteHostEx]] instead.
|-
|-
| 0x00080000
| 0x00080000
| [[2.0.0-2]]
| [[2.0.0-2]]
| Initialization for the stuff used by the below commands.
| InitializeMIDI
|-
|-
| 0x00090000
| 0x00090000
| [[2.0.0-2]]
| [[2.0.0-2]]
| Shutdown for the stuff used by the below commands.
| FinalizeMIDI
|-
|-
| 0x000A0000
| 0x000A0000
| [[2.0.0-2]]
| [[2.0.0-2]]
| This writes 3 bytes to cmdreply[2], the [[SPICARD]] hw is used for this.
| GetMIDIInfo.  This writes 3 bytes to cmdreply[2], the [[SPICARD]] hw is used for this.
|-
|-
| 0x000B0000
| 0x000B0000
| [[2.0.0-2]]
| [[2.0.0-2]]
| This writes a max-size value to cmdreply[2].
| GetMIDIBufferSize. This writes a max-size value to cmdreply[2].
|-
|-
| 0x000C0042
| 0x000C0042
| [[2.0.0-2]]
| [[2.0.0-2]]
| (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.
| 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
Line 64: Line 66:
| 0x000F0000
| 0x000F0000
| [[2.0.0-2]]
| [[2.0.0-2]]
| This reads the 0x200-byte [[NCSD]] header from the gamecard. Then the u8 from ncsdhdr+0x18B(partitionflags[3]) is copied to cmdreply[2].
| [[PXIDEV:GetCardDevice|GetCardDevice]]
|}
|}


==Types==
==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===
===TransferOption===
{| class="wikitable" border="1"
{| class="wikitable" border="1"

Latest revision as of 11:53, 18 September 2024

"pxi:dev" service

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

SectorSize

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

Bits Description
0-5 CardSpiBaudRate
6-7 CardSpiBusMode

WaitOperation

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

WaitType

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

DeassertType

Value Description
0 None
1 Before wait
2 After wait