Changes

3,504 bytes added ,  12: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]]
| GetSdmcArchiveResource
+
| [[FSPXI:GetSdmcArchiveResource|GetSdmcArchiveResource]]
 
|-
 
|-
 
| 0x001A0000
 
| 0x001A0000
|
   
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| 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]]
| CardNorDirectCommand (These CardNor commands are used for accessing the raw gamecard savegame?)
+
| [[FSPXI:CardNorDirectCommand|CardNorDirectCommand]]
 
|-
 
|-
 
| 0x002B0080
 
| 0x002B0080
|
   
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| CardNorDirectCommandWithAddress
+
| [[FSPXI:CardNorDirectCommandWithAddress|CardNorDirectCommandWithAddress]]
 
|-
 
|-
 
| 0x002C0082
 
| 0x002C0082
|
   
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| CardNorDirectRead
+
| [[FSPXI:CardNorDirectRead|CardNorDirectRead]]
 
|-
 
|-
 
| 0x002D00C2
 
| 0x002D00C2
|
   
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| CardNorDirectReadWithAddress
+
| [[FSPXI:CardNorDirectReadWithAddress|CardNorDirectReadWithAddress]]
 
|-
 
|-
 
| 0x002E0082
 
| 0x002E0082
|
   
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| CardNorDirectWrite
+
| [[FSPXI:CardNorDirectWrite|CardNorDirectWrite]]
 
|-
 
|-
 
| 0x002F00C2
 
| 0x002F00C2
|
   
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| CardNorDirectWriteWithAddress
+
| [[FSPXI:CardNorDirectWriteWithAddress|CardNorDirectWriteWithAddress]]
 
|-
 
|-
 
| 0x003000C2
 
| 0x003000C2
|
   
| [[1.0.0-0]]
 
| [[1.0.0-0]]
| 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]]
| 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]]
  −
| (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
 
| Object doesn't exist / failed to open object(file). Or: The specified title does not exist in the [[Title_Database|database]].
 
| Object doesn't exist / failed to open object(file). Or: The specified title does not exist in the [[Title_Database|database]].
 +
|-
 +
| 0xC880448D
 +
| FSPXI: Gamecard not inserted when attempting to use the gamecard.
 
|-
 
|-
 
| 0xC88044AB
 
| 0xC88044AB
Line 443: Line 450:  
|-
 
|-
 
| 0xC92044E6
 
| 0xC92044E6
| File already opened?
+
| Operation not allowed with the current file openflags/file already in use (if file was previously opened for writing).
 +
|-
 +
| 0xC92044E7
 +
| Resource locked.
 
|-
 
|-
 
| 0xC9204509
 
| 0xC9204509
 
| [[SDMC]]/NAND bus error, REG_SDSTATUS: TMIO_STAT_CMDTIMEOUT
 
| [[SDMC]]/NAND bus error, REG_SDSTATUS: TMIO_STAT_CMDTIMEOUT
 +
|-
 +
| 0xC960454B
 +
| [[SDMC]]/NAND bus error, when an error-bit in REG_SDSTATUS separate from the above errors is set. This can also indicate that the TWL partition table in the NAND sector0 is invalid, or that the sector signature for sector0 at offset 0x1FE is invalid?
 
|-
 
|-
 
| 0xC960454C
 
| 0xC960454C
Line 452: Line 465:  
|-
 
|-
 
| 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
 +
| FSPXI: Hash verification failure (only for NCCH region hashes?).
 +
|-
 +
| 0xD9004588
 +
| FSPXI/FSUSER: Verification failure for RSA or hashes. FSUSER: Verification failed for [[Savegames|savegame]] AES-MAC.
 +
|-
 +
| 0xD900458B
 +
| Invalid RomFS / savedata block hash.
 +
|-
 +
| 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)
 +
|-
 +
| 0xE0C046F9
 +
| FSPXI: Specified read-size doesn't match the actual filesize, when accessing ExeFS.
 
|-
 
|-
 
| 0xE0E046BE
 
| 0xE0E046BE
| Invalid lowpath.
+
| 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.
 +
|-
 +
| 0xE0E046C1
 +
| 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
Line 461: Line 498:  
|-
 
|-
 
| 0xE160F403
 
| 0xE160F403
| [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit28(0x10000000)
+
| [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit28 (0x10000000)
 
|-
 
|-
 
| 0xE160F404
 
| 0xE160F404
| [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit27(0x08000000)
+
| [[SDMC]]/NAND bus error, REG_SDSTATUS: Bit27 (0x08000000)
|-
  −
| 0xC960454B
  −
| [[SDMC]]/NAND bus error, when an error-bit in REG_SDSTATUS separate from the above errors is set. This can also indicate that the TWL partition table in the NAND sector0 is invalid, or that the sector signature for sector0 at offset 0x1FE is invalid?
   
|}
 
|}
186

edits