Changes

Jump to navigation Jump to search
1,951 bytes added ,  11:08, 8 June 2022
Update HasFile/HasDirectory
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
191

edits

Navigation menu