Line 1: |
Line 1: |
| + | = Post 3.x = |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Command Header, prior to [[3.0.0-5]]
| |
| ! Command Header, starting with [[3.0.0-5]] | | ! Command Header, starting with [[3.0.0-5]] |
| ! Available since system version | | ! Available since system version |
Line 7: |
Line 7: |
| |- | | |- |
| | 0x000101C2 | | | 0x000101C2 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | OpenFile | + | | [[FSPXI:OpenFile|OpenFile]] |
| |- | | |- |
| | 0x00020142 | | | 0x00020142 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | DeleteFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) | + | | [[FSPXI:DeleteFile|DeleteFile]] |
| |- | | |- |
| | 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) | + | | [[FSPXI:RenameFile|RenameFile]] |
| |- | | |- |
| | 0x00040142 | | | 0x00040142 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | DeleteDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) | + | | [[FSPXI:DeleteDirectory|DeleteDirectory]] |
| |- | | |- |
| | 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) | + | | [[FSPXI:CreateFile|CreateFile]] |
| |- | | |- |
| | 0x00060182 | | | 0x00060182 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | CreateDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, unknown_u32, pathptrsize, pathptr) | + | | [[FSPXI:CreateDirectory|CreateDirectory]] |
| |- | | |- |
| | 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) | + | | [[FSPXI:RenameDirectory|RenameDirectory]] |
| |- | | |- |
| | 0x00080102 | | | 0x00080102 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | OpenDirectory (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) | + | | [[FSPXI:OpenDirectory|OpenDirectory]] |
| |- | | |- |
| | 0x00090142 | | | 0x00090142 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | ReadFile | + | | [[FSPXI:ReadFile|ReadFile]] |
| |- | | |- |
| | 0x000A00C2 | | | 0x000A00C2 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | CalculateFileHashSHA256 | + | | [[FSPXI:CalculateFileHashSHA256|CalculateFileHashSHA256]] |
| |- | | |- |
| | 0x000B0182 | | | 0x000B0182 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | WriteFile | + | | [[FSPXI: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 | + | | [[FSPXI:GetFileSize|GetFileSize]] |
| |- | | |- |
| | 0x000E0100 | | | 0x000E0100 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | SetFileSize (sizelo, sizehi, filehandlelo, filehandlehi) | + | | [[FSPXI:SetFileSize|SetFileSize]] |
| |- | | |- |
| | 0x000F0080 | | | 0x000F0080 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | CloseFile (filehandlelo, filehandlehi) | + | | [[FSPXI:CloseFile|CloseFile]] |
| |- | | |- |
| | 0x001000C2 | | | 0x001000C2 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | ReadDirectory (dirhandlelo, dirhandlehi, count, ptrsize, ptr) | + | | [[FSPXI:ReadDirectory|ReadDirectory]] |
| |- | | |- |
| | 0x00110080 | | | 0x00110080 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | CloseDirectory (dirhandlelo, dirhandlehi) | + | | [[FSPXI:CloseDirectory|CloseDirectory]] |
| |- | | |- |
| | 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) | + | | [[FSPXI:HasFile|HasFile]] |
| |- | | |- |
| | 0x00140102 | | | 0x00140102 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) | + | | [[FSPXI:HasDirectory|HasDirectory]] |
| |- | | |- |
− | | 0x00150102 | + | | 0x001500C0 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) | + | | [[FSPXI:CommitSaveData|CommitSaveData]] |
| |- | | |- |
| | 0x00160080 | | | 0x00160080 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | CloseArchive (archivehandlelo, archivehandlehi) | + | | [[FSPXI:CloseArchive|CloseArchive]] |
| |- | | |- |
| | 0x00170080 | | | 0x00170080 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | ReopenArchive? (archivehandlelo, archivehandlehi) | + | | [[FSPXI:LockArchive|LockArchive]] (archivehandlelo, archivehandlehi) |
| |- | | |- |
| | 0x00180000 | | | 0x00180000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | GetCardType | + | | [[FSPXI:GetCardType|GetCardType]] |
| |- | | |- |
| | 0x00190000 | | | 0x00190000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
| | [[FSPXI:GetSdmcArchiveResource|GetSdmcArchiveResource]] | | | [[FSPXI:GetSdmcArchiveResource|GetSdmcArchiveResource]] |
| |- | | |- |
| | 0x001A0000 | | | 0x001A0000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
| | [[FSPXI:GetNandArchiveResource|GetNandArchiveResource]] | | | [[FSPXI:GetNandArchiveResource|GetNandArchiveResource]] |
| |- | | |- |
| | 0x001B0000 | | | 0x001B0000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | GetSdmcFatFsError | + | | [[FSPXI:GetSdmcFatFsError|GetSdmcFatFsError]] |
| |- | | |- |
| | 0x001C0000 | | | 0x001C0000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | GetSdmcDetected | + | | [[FSPXI:IsSdmcDetected|IsSdmcDetected]] |
| |- | | |- |
| | 0x001D0000 | | | 0x001D0000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | GetSdmcWritable | + | | [[FSPXI:IsSdmcWritable|IsSdmcWritable]] |
| |- | | |- |
| | 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 | + | | [[FSPXI:GetSdmcSpeedInfo|GetSdmcSpeedInfo]] |
| |- | | |- |
| | 0x00210000 | | | 0x00210000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | GetNandSpeedInfo | + | | [[FSPXI:GetNandSpeedInfo|GetNandSpeedInfo]] |
| |- | | |- |
| | 0x00220042 | | | 0x00220042 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | GetSdmcLog | + | | [[FSPXI:GetSdmcLog|GetSdmcLog]] |
| |- | | |- |
| | 0x00230042 | | | 0x00230042 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | GetNandLog | + | | [[FSPXI:GetNandLog|GetNandLog]] |
| |- | | |- |
| | 0x00240000 | | | 0x00240000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | ClearSdmcLog | + | | [[FSPXI:ClearSdmcLog|ClearSdmcLog]] |
| |- | | |- |
| | 0x00250000 | | | 0x00250000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | ClearNandLog | + | | [[FSPXI:ClearNandLog|ClearNandLog]] |
| |- | | |- |
| | 0x00260000 | | | 0x00260000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | GetCardSlotInserted | + | | [[FSPXI:CardSlotIsInserted|CardSlotIsInserted]] |
| |- | | |- |
| | 0x00270000 | | | 0x00270000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | CardSlotPowerOn | + | | [[FSPXI:CardSlotPowerOn|CardSlotPowerOn]] |
| |- | | |- |
| | 0x00280000 | | | 0x00280000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | CardSlotPowerOff | + | | [[FSPXI:CardSlotPowerOff|CardSlotPowerOff]] |
| |- | | |- |
| | 0x00290000 | | | 0x00290000 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | CardSlotGetIfPowerStatus | + | | [[FSPXI:CardSlotGetIFPowerStatus|CardSlotGetIFPowerStatus]] |
| |- | | |- |
| | 0x002A0040 | | | 0x002A0040 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | [[FSPXI:CardNorDirectCommand|CardNorDirectCommand]] (These CardNor commands are used for accessing the raw gamecard flash savedata) | + | | [[FSPXI:CardNorDirectCommand|CardNorDirectCommand]] |
| |- | | |- |
| | 0x002B0080 | | | 0x002B0080 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
| | [[FSPXI:CardNorDirectCommandWithAddress|CardNorDirectCommandWithAddress]] | | | [[FSPXI:CardNorDirectCommandWithAddress|CardNorDirectCommandWithAddress]] |
| |- | | |- |
| | 0x002C0082 | | | 0x002C0082 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
| | [[FSPXI:CardNorDirectRead|CardNorDirectRead]] | | | [[FSPXI:CardNorDirectRead|CardNorDirectRead]] |
| |- | | |- |
| | 0x002D00C2 | | | 0x002D00C2 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
| | [[FSPXI:CardNorDirectReadWithAddress|CardNorDirectReadWithAddress]] | | | [[FSPXI:CardNorDirectReadWithAddress|CardNorDirectReadWithAddress]] |
| |- | | |- |
| | 0x002E0082 | | | 0x002E0082 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
| | [[FSPXI:CardNorDirectWrite|CardNorDirectWrite]] | | | [[FSPXI:CardNorDirectWrite|CardNorDirectWrite]] |
| |- | | |- |
| | 0x002F00C2 | | | 0x002F00C2 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
| | [[FSPXI:CardNorDirectWriteWithAddress|CardNorDirectWriteWithAddress]] | | | [[FSPXI:CardNorDirectWriteWithAddress|CardNorDirectWriteWithAddress]] |
| |- | | |- |
| | 0x003000C2 | | | 0x003000C2 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | [[FSPXI:CardNorDirectRead4IO|CardNorDirectRead4IO]] | + | | [[FSPXI:CardNorDirectRead_4xIO|CardNorDirectRead_4xIO]] |
| |- | | |- |
| | 0x00310082 | | | 0x00310082 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | CardNorDirectCpuWriteWithoutVerify | + | | [[FSPXI:CardNorDirectCpuWriteWithoutVerify|CardNorDirectCpuWriteWithoutVerify]] |
| |- | | |- |
| | 0x00320040 | | | 0x00320040 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
| | [[FSPXI:CardNorDirectSectorEraseWithoutVerify|CardNorDirectSectorEraseWithoutVerify]] | | | [[FSPXI:CardNorDirectSectorEraseWithoutVerify|CardNorDirectSectorEraseWithoutVerify]] |
| |- | | |- |
| | 0x00330080 | | | 0x00330080 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | GetProductInfo | + | | [[FSPXI:GetProductInfo|GetProductInfo]] |
| |- | | |- |
| | 0x00340040 | | | 0x00340040 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | SetCardSpiBaudrate | + | | [[FSPXI:SetCardSpiBaudrate|SetCardSpiBaudrate]] |
| |- | | |- |
| | 0x00350040 | | | 0x00350040 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | SetCardSpiBusMode | + | | [[FSPXI:SetCardSpiBusMode|SetCardSpiBusMode]] |
| |- | | |- |
| | 0x00360040 | | | 0x00360040 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | SendInitializeInfo | + | | [[FSPXI:SendInitializeInfoTo9|SendInitializeInfoTo9]] |
| |- | | |- |
− | | 0x00370140 | + | | 0x00370100 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | CreateExtSaveData | + | | [[FSPXI:CreateExtSaveData|CreateExtSaveData]] |
| |- | | |- |
− | | 0x003800C0 | + | | 0x00380100 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | DeleteExtSaveData | + | | [[FSPXI:DeleteExtSaveData|DeleteExtSaveData]] |
| |- | | |- |
− | | 0x00390082 | + | | 0x00390102 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | EnumerateExtSaveData | + | | [[FSPXI:EnumerateExtSaveData|EnumerateExtSaveData]] |
| |- | | |- |
| | 0x003A0100 | | | 0x003A0100 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | GetSpecialContentIndex | + | | [[FSPXI:GetSpecialContentIndex|GetSpecialContentIndex]] |
| |- | | |- |
| | 0x003B00C2 | | | 0x003B00C2 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | GetLegacyRomHeader | + | | [[FSPXI:GetLegacyRomHeader|GetLegacyRomHeader]] |
| |- | | |- |
− | | 0x003C00C2 | + | | 0x003C0102 |
− | |?
| |
| | [[1.0.0-0]] | | | [[1.0.0-0]] |
− | | GetLegacyBannerData | + | | [[FSPXI:GetLegacyBannerData|GetLegacyBannerData]] |
| + | |- |
| + | | 0x003D0040 |
| + | | ? |
| + | | [[FSPXI:FormatCardNorDevice|FormatCardNorDevice]] |
| + | |- |
| + | | 0x003E0000 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:DeleteSdmcRoot|DeleteSdmcRoot]] |
| + | |- |
| + | | 0x003F0040 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:DeleteAllExtSaveDataOnNand|DeleteAllExtSaveDataOnNand]] |
| + | |- |
| + | | 0x00400000 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:InitializeCtrFilesystem|InitializeCtrFilesystem]] |
| + | |- |
| + | | 0x00410000 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:CreateSeed|CreateSeed]] |
| + | |- |
| + | | 0x00420042 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:GetSdmcCtrRootPath|GetSdmcCtrRootPath]] |
| + | |- |
| + | | 0x00430040 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:GetArchiveResource|GetArchiveResource]] |
| + | |- |
| + | | 0x00440002 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:ExportIntegrityVerificationSeed|ExportIntegrityVerificationSeed]] |
| + | |- |
| + | | 0x00450002 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:ImportIntegrityVerificationSeed|ImportIntegrityVerificationSeed]] |
| + | |- |
| + | | 0x00460102 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:GetLegacySubBannerData|GetLegacySubBannerData]] |
| + | |- |
| + | | 0x00470042 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:GenerateRandomBytes|GenerateRandomBytes]] |
| + | |- |
| + | | 0x004800C2 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:GetFileLastModified|GetFileLastModified]] |
| + | |- |
| + | | 0x00490102 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:ReadSpecialFile|ReadSpecialFile]] |
| + | |- |
| + | | 0x004A0040 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:GetSpecialFileSize|GetSpecialFileSize]] |
| + | |- |
| + | | 0x004B0000 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:StartDeviceMoveAsSource|StartDeviceMoveAsSource]] |
| + | |- |
| + | | 0x004C0240 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:StartDeviceMoveAsDestination|StartDeviceMoveAsDestination]] |
| + | |- |
| + | | 0x004D01C4 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:ReadFileSHA256|ReadFileSHA256]] |
| + | |- |
| + | | 0x004E0204 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:WriteFileSHA256|WriteFileSHA256]] |
| + | |- |
| + | | 0x004F0080 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:SetCtrCardLatencyParameter|SetCtrCardLatencyParameter]] (u64) |
| + | |- |
| + | | 0x00500040 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:SetPriority|SetPriority]] |
| + | |- |
| + | | 0x00510040 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:SwitchCleanupInvalidSaveData|SwitchCleanupInvalidSaveData]] |
| + | |- |
| + | | 0x00520042 |
| + | | [[3.0.0-5]] |
| + | | [[FSPXI:EnumerateSystemSaveData|EnumerateSystemSaveData]] |
| + | |- |
| + | | 0x00530000 |
| + | | [[3.0.0-5]] |
| + | | Stubbed with [[4.0.0-7]]. |
| + | |- |
| + | | 0x00540000 |
| + | | [[4.0.0-7]] |
| + | | Stubbed with [[4.0.0-7]]. |
| + | |- |
| + | | 0x00550082 |
| + | | [[4.0.0-7]] |
| + | | [[FSPXI:ReadNandReport|ReadNandReport]] |
| + | |- |
| + | | 0x00560102 |
| + | | [[9.6.0-24|9.6.0-X]] |
| + | | ? |
| + | |} |
| + | |
| + | = Pre 3.x = |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Command Header, prior to [[3.0.0-5]] |
| + | ! Available since system version |
| + | ! Description |
| + | |- |
| + | | 0x003E.... |
| + | | ? |
| + | | This was removed with [[3.0.0-5]]. |
| |- | | |- |
| | 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 | + | | [[FSPXI: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 | + | | [[FSPXI: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 | + | | [[FSPXI: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 | + | | This was removed with [[3.0.0-5]]. |
| |- | | |- |
| | 0x00480102 | | | 0x00480102 |
− | |?
| |
| | [[2.0.0-2]] | | | [[2.0.0-2]] |
− | | GetLegacySubBannerData | + | | [[FSPXI:GetLegacySubBannerData|GetLegacySubBannerData]] |
| |- | | |- |
| | 0x00490042 | | | 0x00490042 |
− | |?
| |
| | [[2.0.0-2]] | | | [[2.0.0-2]] |
− | | Initialize (?) | + | | ? |
| |- | | |- |
| | 0x004A00C2 | | | 0x004A00C2 |
− | |?
| |
| | [[2.0.0-2]] | | | [[2.0.0-2]] |
− | | OpenSpecialFile? (archivehandlelo, archivehandlehi, size, ptrsize_mul2, ptr) | + | | [[FSPXI:GetFileLastModified|GetFileLastModified]] |
| |- | | |- |
| | 0x004B0102 | | | 0x004B0102 |
− | |?
| |
| | [[2.0.0-2]] | | | [[2.0.0-2]] |
− | | ReadSpecialFile
| + | | [[FSPXI:ReadSpecialFile|ReadSpecialFile]] |
− | |-
| |
− | |?
| |
− | | 0x004B0000
| |
− | | [[3.0.0-5]]
| |
− | | [[FSPXI:GetMovableSedHashedKeyYRandomData|GetMovableSedHashedKeyYRandomData]] | |
| |- | | |- |
| | 0x004C0040 | | | 0x004C0040 |
− | |?
| |
| | [[2.0.0-2]] | | | [[2.0.0-2]] |
− | | GetSpecialFileSize
| + | | [[FSPXI:GetSpecialFileSize|GetSpecialFileSize]] |
− | |-
| |
− | |?
| |
− | | 0x004D01C4
| |
− | | [[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. | |
− | |-
| |
− | |?
| |
− | | 0x004E0204
| |
− | | [[3.0.0-5]]
| |
− | | This is a wrapper for WriteFile, this is similar to command 0x004D01C4.
| |
− | |-
| |
− | |?
| |
− | | 0x004F....
| |
− | | [[3.0.0-5]]
| |
− | | (unknown_u64)
| |
− | |-
| |
− | |?
| |
− | | 0x00500000
| |
− | | [[3.0.0-5]]
| |
− | | Stubbed, this only returns value 0.
| |
− | |-
| |
− | |?
| |
− | | 0x0051....
| |
− | | [[3.0.0-5]]
| |
− | | (unknown_u8)
| |
− | |-
| |
− | |?
| |
− | | 0x00520042
| |
− | | [[3.0.0-5]]
| |
− | | (outbuffersize, outbufferptr)
| |
− | |-
| |
− | |?
| |
− | | 0x00530000
| |
− | | [[3.0.0-5]]
| |
− | | Unknown, stubbed with [[4.0.0-7]].
| |
− | |-
| |
− | |?
| |
− | | 0x0054....
| |
− | | [[4.0.0-7]]
| |
− | | Stubbed with [[4.0.0-7]].
| |
| |- | | |- |
− | |?
| |
− | | 0x00550082
| |
− | | [[4.0.0-7]]
| |
− | | ReadNandReport (outbuffersize, u8 mediatype, outbufferptr)
| |
| |} | | |} |
| + | |
| + | Commands listed in the previous chart marked as available since [[1.0.0-0]] that are not shown in this chart are the same between both. |
| | | |
| =Errors= | | =Errors= |
Line 432: |
Line 427: |
| ! Error-code | | ! Error-code |
| ! Description | | ! Description |
| + | |- |
| + | | 0xC82044BE |
| + | | Object does already exist/failed to create object. |
| + | |- |
| + | | 0xC86044D2 |
| + | | Failed to write file. Partition is full. |
| + | |- |
| + | | 0xC8804471 |
| + | | Attempted to open a file under a directory which doesn't exist. |
| |- | | |- |
| | 0xC8804478 | | | 0xC8804478 |
Line 446: |
Line 450: |
| |- | | |- |
| | 0xC92044E6 | | | 0xC92044E6 |
− | | Operation not allowed with the current file openflags (maybe other causes too?). | + | | Operation not allowed with the current file openflags/file already in use (if file was previously opened for writing). |
| + | |- |
| + | | 0xC92044E7 |
| + | | Resource locked. |
| |- | | |- |
| | 0xC9204509 | | | 0xC9204509 |
Line 459: |
Line 466: |
| | 0xC960F401 | | | 0xC960F401 |
| | [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit23 (0x00800000) | | | [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit23 (0x00800000) |
| + | |- |
| + | | 0xD8604664 |
| + | | FSUSER: Returned when attempting to create a file in savedata when the current total number of files is already the [[FS:FormatSaveData|maximum]]. |
| |- | | |- |
| | 0xD9004587 | | | 0xD9004587 |
Line 467: |
Line 477: |
| |- | | |- |
| | 0xD900458B | | | 0xD900458B |
− | | FSUSER: A corrupted [[RomFS]] block was read (hash check fail). | + | | Invalid RomFS / savedata block hash. |
| |- | | |- |
| | 0xD9004676 | | | 0xD9004676 |
| | FSUSER: The specified service-command / archive is not accessible, due to the currently used exheader accessinfo not having the required bit(s) set. (This error can also indicate that the required ARM9 access-control mount flag is not enabled, in the exheader for any of the running ARM11 processes) | | | FSUSER: The specified service-command / archive is not accessible, due to the currently used exheader accessinfo not having the required bit(s) set. (This error can also indicate that the required ARM9 access-control mount flag is not enabled, in the exheader for any of the running ARM11 processes) |
| + | |- |
| + | | 0xE0C046F9 |
| + | | FSPXI: Specified read-size doesn't match the actual filesize, when accessing ExeFS. |
| |- | | |- |
| | 0xE0E046BE | | | 0xE0E046BE |
| | Invalid lowpath. This can also indicate that the specified archive-id does not exist, or that the specified archive-id is not accessible over FSPXI. In certain cases this can also be caused by attempting to open a FSUSER archive where none of the required bit(s) for the archive are set in the user-process exheader accessinfo. | | | Invalid lowpath. This can also indicate that the specified archive-id does not exist, or that the specified archive-id is not accessible over FSPXI. In certain cases this can also be caused by attempting to open a FSUSER archive where none of the required bit(s) for the archive are set in the user-process exheader accessinfo. |
| |- | | |- |
− | | 0xE0C046F9 | + | | 0xE0E046C1 |
− | | FSPXI: Specified read-size doesn't match the actual filesize, when accessing ExeFS. | + | | File-reading returns this when the input 64bit file-pos is negative, or when the file-pos is larger than the filesize. |
| + | |- |
| + | | 0xE0E046D1 |
| + | | Failed to write to file because it would exceed the file size limit of the file system. |
| |- | | |- |
| | 0xE160F402 | | | 0xE160F402 |