Line 1:
Line 1:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
−
! Command Header
+
! Command Header, prior to [[3.0.0-5]]
+
! Command Header, starting with [[3.0.0-5]]
! Available since system version
! Available since system version
! Description
! Description
|-
|-
| 0x000101C2
| 0x000101C2
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| OpenFile
| OpenFile
|-
|-
| 0x00020142
| 0x00020142
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| DeleteFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
| DeleteFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
|-
|-
| 0x00030244
| 0x00030244
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| RenameFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, secondarchivehandlelo, secondarchivehandlehi, secondpathtype, secondpathsize, pathptrsize, pathptr, secondpathptrsize, secondpathptr)
| RenameFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, secondarchivehandlelo, secondarchivehandlehi, secondpathtype, secondpathsize, pathptrsize, pathptr, secondpathptrsize, secondpathptr)
|-
|-
| 0x00040142
| 0x00040142
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| DeleteDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
| DeleteDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
|-
|-
| 0x00050202
| 0x00050202
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CreateFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, unknown_u32, unknown_lo, unknown_hi, pathptrsize, pathptr)
| CreateFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, unknown_u32, unknown_lo, unknown_hi, pathptrsize, pathptr)
|-
|-
| 0x00060182
| 0x00060182
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CreateDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, unknown_u32, pathptrsize, pathptr)
| CreateDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, unknown_u32, pathptrsize, pathptr)
|-
|-
| 0x00070244
| 0x00070244
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| RenameDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, secondarchivehandlelo, secondarchivehandlehi, secondpathtype, secondpathsize, pathptrsize, pathptr, secondpathptrsize, secondpathptr)
| RenameDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, secondarchivehandlelo, secondarchivehandlehi, secondpathtype, secondpathsize, pathptrsize, pathptr, secondpathptrsize, secondpathptr)
|-
|-
| 0x00080102
| 0x00080102
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| OpenDirectory (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
| OpenDirectory (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
|-
|-
| 0x00090142
| 0x00090142
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| ReadFile
| ReadFile
|-
|-
| 0x000A00C2
| 0x000A00C2
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CalculateFileHashSHA256
| CalculateFileHashSHA256
|-
|-
| 0x000B0182
| 0x000B0182
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| WriteFile
| WriteFile
|-
|-
| 0x000C0104
| 0x000C0104
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| [[FSPXI:CalcSavegameMAC|CalcSavegameMAC]]
| [[FSPXI:CalcSavegameMAC|CalcSavegameMAC]]
|-
|-
| 0x000D0080
| 0x000D0080
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetFileSize
| GetFileSize
|-
|-
| 0x000E0100
| 0x000E0100
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| SetFileSize (sizelo, sizehi, filehandlelo, filehandlehi)
| SetFileSize (sizelo, sizehi, filehandlelo, filehandlehi)
|-
|-
| 0x000F0080
| 0x000F0080
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CloseFile (filehandlelo, filehandlehi)
| CloseFile (filehandlelo, filehandlehi)
|-
|-
| 0x001000C2
| 0x001000C2
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| ReadDirectory (dirhandlelo, dirhandlehi, count, ptrsize, ptr)
| ReadDirectory (dirhandlelo, dirhandlehi, count, ptrsize, ptr)
|-
|-
| 0x00110080
| 0x00110080
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CloseDirectory (dirhandlelo, dirhandlehi)
| CloseDirectory (dirhandlelo, dirhandlehi)
|-
|-
| 0x001200C2
| 0x001200C2
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| [[FSPXI:OpenArchive|OpenArchive]]
| [[FSPXI:OpenArchive|OpenArchive]]
|-
|-
| 0x00130102
| 0x00130102
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CreateExtSaveData? (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
| CreateExtSaveData? (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
|-
|-
| 0x00140102
| 0x00140102
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
| (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
|-
|-
| 0x00150102
| 0x00150102
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
| (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
|-
|-
| 0x00160080
| 0x00160080
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CloseArchive (archivehandlelo, archivehandlehi)
| CloseArchive (archivehandlelo, archivehandlehi)
|-
|-
| 0x00170080
| 0x00170080
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| ReopenArchive? (archivehandlelo, archivehandlehi)
| ReopenArchive? (archivehandlelo, archivehandlehi)
|-
|-
| 0x00180000
| 0x00180000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetCardType
| GetCardType
|-
|-
| 0x00190000
| 0x00190000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetSdmcArchiveResource
| GetSdmcArchiveResource
|-
|-
| 0x001A0000
| 0x001A0000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetNandArchiveResource
| GetNandArchiveResource
|-
|-
| 0x001B0000
| 0x001B0000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetSdmcFatFsError
| GetSdmcFatFsError
|-
|-
| 0x001C0000
| 0x001C0000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetSdmcDetected
| GetSdmcDetected
|-
|-
| 0x001D0000
| 0x001D0000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetSdmcWritable
| GetSdmcWritable
|-
|-
| 0x001E0042
| 0x001E0042
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| [[FSPXI:GetSdmcCid|GetSdmcCid]]
| [[FSPXI:GetSdmcCid|GetSdmcCid]]
|-
|-
| 0x001F0042
| 0x001F0042
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| [[FSPXI:GetNandCid|GetNandCid]]
| [[FSPXI:GetNandCid|GetNandCid]]
|-
|-
| 0x00200000
| 0x00200000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetSdmcSpeedInfo
| GetSdmcSpeedInfo
|-
|-
| 0x00210000
| 0x00210000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetNandSpeedInfo
| GetNandSpeedInfo
|-
|-
| 0x00220042
| 0x00220042
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetSdmcLog
| GetSdmcLog
|-
|-
| 0x00230042
| 0x00230042
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetNandLog
| GetNandLog
|-
|-
| 0x00240000
| 0x00240000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| ClearSdmcLog
| ClearSdmcLog
|-
|-
| 0x00250000
| 0x00250000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| ClearNandLog
| ClearNandLog
|-
|-
| 0x00260000
| 0x00260000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetCardSlotInserted
| GetCardSlotInserted
|-
|-
| 0x00270000
| 0x00270000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardSlotPowerOn
| CardSlotPowerOn
|-
|-
| 0x00280000
| 0x00280000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardSlotPowerOff
| CardSlotPowerOff
|-
|-
| 0x00290000
| 0x00290000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardSlotGetIfPowerStatus
| CardSlotGetIfPowerStatus
|-
|-
| 0x002A0040
| 0x002A0040
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardNorDirectCommand (These CardNor commands are used for accessing the raw gamecard savegame?)
| CardNorDirectCommand (These CardNor commands are used for accessing the raw gamecard savegame?)
|-
|-
| 0x002B0080
| 0x002B0080
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardNorDirectCommandWithAddress
| CardNorDirectCommandWithAddress
|-
|-
| 0x002C0082
| 0x002C0082
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardNorDirectRead
| CardNorDirectRead
|-
|-
| 0x002D00C2
| 0x002D00C2
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardNorDirectReadWithAddress
| CardNorDirectReadWithAddress
|-
|-
| 0x002E0082
| 0x002E0082
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardNorDirectWrite
| CardNorDirectWrite
|-
|-
| 0x002F00C2
| 0x002F00C2
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardNorDirectWriteWithAddress
| CardNorDirectWriteWithAddress
|-
|-
| 0x003000C2
| 0x003000C2
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardNorDirectRead4IO
| CardNorDirectRead4IO
|-
|-
| 0x00310082
| 0x00310082
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardNorDirectCpuWriteWithoutVerify
| CardNorDirectCpuWriteWithoutVerify
|-
|-
| 0x00320040
| 0x00320040
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardNorDirectSectorEraseWithoutVerify
| CardNorDirectSectorEraseWithoutVerify
|-
|-
| 0x00330080
| 0x00330080
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetProductInfo
| GetProductInfo
|-
|-
| 0x00340040
| 0x00340040
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| SetCardSpiBaudrate
| SetCardSpiBaudrate
|-
|-
| 0x00350040
| 0x00350040
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| SetCardSpiBusMode
| SetCardSpiBusMode
|-
|-
| 0x00360040
| 0x00360040
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| SendInitializeInfo
| SendInitializeInfo
|-
|-
| 0x00370140
| 0x00370140
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CreateExtSaveData
| CreateExtSaveData
|-
|-
| 0x003800C0
| 0x003800C0
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| DeleteExtSaveData
| DeleteExtSaveData
|-
|-
| 0x00390082
| 0x00390082
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| EnumerateExtSaveData
| EnumerateExtSaveData
|-
|-
| 0x003A0100
| 0x003A0100
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetSpecialContentIndex
| GetSpecialContentIndex
|-
|-
| 0x003B00C2
| 0x003B00C2
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetLegacyRomHeader
| GetLegacyRomHeader
|-
|-
| 0x003C00C2
| 0x003C00C2
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetLegacyBannerData
| GetLegacyBannerData
|-
|-
| 0x003F0000
| 0x003F0000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| [[FSPXI:DeleteSdmcRoot|DeleteSdmcRoot]]
| [[FSPXI:DeleteSdmcRoot|DeleteSdmcRoot]]
|-
|-
| 0x00400040
| 0x00400040
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| DeleteAllExtSaveDataOnNand
| DeleteAllExtSaveDataOnNand
|-
|-
| 0x00410000
| 0x00410000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| [[FSPXI:InitializeCtrFilesystem|InitializeCtrFilesystem]]
| [[FSPXI:InitializeCtrFilesystem|InitializeCtrFilesystem]]
|-
|-
| 0x00420000
| 0x00420000
+
|
| [[1.0.0-0]]
| [[1.0.0-0]]
| CreateSeed
| CreateSeed
|-
|-
| 0x00430042
| 0x00430042
+
|
| [[2.0.0-2]]
| [[2.0.0-2]]
| [[FSPXI:GetSdmcCtrRootPath|GetSdmcCtrRootPath]]
| [[FSPXI:GetSdmcCtrRootPath|GetSdmcCtrRootPath]]
|-
|-
| 0x00440040
| 0x00440040
+
|
| [[2.0.0-2]]
| [[2.0.0-2]]
| GetArchiveResource
| GetArchiveResource
|-
|-
| 0x00450002
| 0x00450002
+
|
| [[2.0.0-2]]
| [[2.0.0-2]]
| [[FSPXI:ExportIntegrityVerificationSeed|ExportIntegrityVerificationSeed]]
| [[FSPXI:ExportIntegrityVerificationSeed|ExportIntegrityVerificationSeed]]
|-
|-
| 0x00460002
| 0x00460002
+
|
| [[2.0.0-2]]
| [[2.0.0-2]]
| [[FSPXI:ImportIntegrityVerificationSeed|ImportIntegrityVerificationSeed]]
| [[FSPXI:ImportIntegrityVerificationSeed|ImportIntegrityVerificationSeed]]
|-
|-
| 0x00470082
| 0x00470082
+
|
| [[2.0.0-2]]
| [[2.0.0-2]]
| EnumerateSharedExtSaveData
| EnumerateSharedExtSaveData
|-
|-
| 0x00480102
| 0x00480102
+
|
| [[2.0.0-2]]
| [[2.0.0-2]]
| GetLegacySubBannerData
| GetLegacySubBannerData
|-
|-
| 0x00490042
| 0x00490042
+
|
| [[2.0.0-2]]
| [[2.0.0-2]]
| Initialize (?)
| Initialize (?)
|-
|-
| 0x004A00C2
| 0x004A00C2
+
|
| [[2.0.0-2]]
| [[2.0.0-2]]
| OpenSpecialFile? (archivehandlelo, archivehandlehi, size, ptrsize_mul2, ptr)
| OpenSpecialFile? (archivehandlelo, archivehandlehi, size, ptrsize_mul2, ptr)
|-
|-
| 0x004B0102
| 0x004B0102
+
|
| [[2.0.0-2]]
| [[2.0.0-2]]
| ReadSpecialFile
| ReadSpecialFile
+
|-
+
|
+
| 0x004B0000
+
| [[3.0.0-5]]
+
| [[FSPXI:GetMovableSedHashedKeyYRandomData|GetMovableSedHashedKeyYRandomData]]
|-
|-
| 0x004C0040
| 0x004C0040
+
|
| [[2.0.0-2]]
| [[2.0.0-2]]
| GetSpecialFileSize
| GetSpecialFileSize
|-
|-
+
|
| 0x004D01C4
| 0x004D01C4
| [[3.0.0-5]]
| [[3.0.0-5]]
| This is a wrapper for ReadFile. If the first ReadFile call fails, this calls ReadFile again then executes hash-related code.
| This is a wrapper for ReadFile. If the first ReadFile call fails, this calls ReadFile again then executes hash-related code.
|-
|-
+
|
| 0x004E0204
| 0x004E0204
| [[3.0.0-5]]
| [[3.0.0-5]]
| This is a wrapper for WriteFile, this is similar to command 0x004D01C4.
| This is a wrapper for WriteFile, this is similar to command 0x004D01C4.
|-
|-
+
|
| 0x004F....
| 0x004F....
| [[3.0.0-5]]
| [[3.0.0-5]]
| (unknown_u64)
| (unknown_u64)
|-
|-
+
|
| 0x00500000
| 0x00500000
| [[3.0.0-5]]
| [[3.0.0-5]]
| Stubbed, this only returns value 0.
| Stubbed, this only returns value 0.
|-
|-
+
|
| 0x0051....
| 0x0051....
| [[3.0.0-5]]
| [[3.0.0-5]]
| (unknown_u8)
| (unknown_u8)
|-
|-
+
|
| 0x00520042
| 0x00520042
| [[3.0.0-5]]
| [[3.0.0-5]]
| (outbuffersize, outbufferptr)
| (outbuffersize, outbufferptr)
|-
|-
+
|
| 0x00530000
| 0x00530000
| [[3.0.0-5]]
| [[3.0.0-5]]
| Unknown, stubbed with [[4.0.0-7]].
| Unknown, stubbed with [[4.0.0-7]].
|-
|-
+
|
| 0x0054....
| 0x0054....
| [[4.0.0-7]]
| [[4.0.0-7]]
| Stubbed with [[4.0.0-7]].
| Stubbed with [[4.0.0-7]].
|-
|-
+
|
| 0x00550082
| 0x00550082
| [[4.0.0-7]]
| [[4.0.0-7]]