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]] |