Filesystem services PXI: Difference between revisions

Steveice10 (talk | contribs)
m More header codes from fs module.
Steveice10 (talk | contribs)
Line 12: Line 12:
| 0x00020142
| 0x00020142
| [[1.0.0-0]]
| [[1.0.0-0]]
| DeleteFile?
| [[FSPXI:DeleteFile|DeleteFile]]
|-
|-
| 0x00030244
| 0x00030244
| [[1.0.0-0]]
| [[1.0.0-0]]
| RenameFile?
| [[FSPXI:RenameFile|RenameFile]]
|-
|-
| 0x00040142
| 0x00040142
| [[1.0.0-0]]
| [[1.0.0-0]]
| DeleteDirectory?
| [[FSPXI:DeleteDirectory|DeleteDirectory]]
|-
|-
| 0x00050202
| 0x00050202
| [[1.0.0-0]]
| [[1.0.0-0]]
| CreateFile?
| [[FSPXI:CreateFile|CreateFile]]
|-
|-
| 0x00060182
| 0x00060182
| [[1.0.0-0]]
| [[1.0.0-0]]
| CreateDirectory?
| [[FSPXI:CreateDirectory|CreateDirectory]]
|-
|-
| 0x00070244
| 0x00070244
| [[1.0.0-0]]
| [[1.0.0-0]]
| RenameDirectory?
| [[FSPXI:RenameDirectory|RenameDirectory]]
|-
|-
| 0x00080102
| 0x00080102
| [[1.0.0-0]]
| [[1.0.0-0]]
| OpenDirectory
| [[FSPXI:OpenDirectory|OpenDirectory]]
|-
|-
| 0x00090142
| 0x00090142
Line 44: Line 44:
| 0x000A00C2
| 0x000A00C2
| [[1.0.0-0]]
| [[1.0.0-0]]
| CalculateFileHashSHA256
| [[FSPXI:CalculateFileHashSHA256|CalculateFileHashSHA256]]
|-
|-
| 0x000B0182
| 0x000B0182
Line 64: Line 64:
| 0x000F0080
| 0x000F0080
| [[1.0.0-0]]
| [[1.0.0-0]]
| CloseFile
| [[FSPXI:CloseFile|CloseFile]]
|-
|-
| 0x001000C2
| 0x001000C2
| [[1.0.0-0]]
| [[1.0.0-0]]
| ReadDirectory
| [[FSPXI:ReadDirectory|ReadDirectory]]
|-
|-
| 0x00110080
| 0x00110080
| [[1.0.0-0]]
| [[1.0.0-0]]
| CloseDirectory
| [[FSPXI:CloseDirectory|CloseDirectory]]
|-
|-
| 0x001200C2
| 0x001200C2
Line 80: Line 80:
| 0x00130102
| 0x00130102
| [[1.0.0-0]]
| [[1.0.0-0]]
| CreateExtSaveData?
| ? (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
|-
|-
| 0x00140102
| 0x00140102
| [[1.0.0-0]]
| [[1.0.0-0]]
| ?
| ? (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr)
|-
|-
| 0x001500C0
| 0x001500C0
| 3.0.0-0?
| [[1.0.0-0]]
| ?
| [[FSPXI:CommitSaveData|CommitSaveData]]
|-
|-
| 0x00160080
| 0x00160080
| 3.0.0-0?
| [[1.0.0-0]]
| ?
| [[FSPXI:CloseArchive|CloseArchive]]
|-
|-
| 0x00170080
| 0x00170080
| 3.0.0-0?
| [[1.0.0-0]]
| ?
| ? (archivehandlelo, archivehandlehi)
|-
|-
| 0x00180000
| 0x00180000
| [[1.0.0-0]]
| [[1.0.0-0]]
| GetCardType
| [[FSPXI:GetCardType|GetCardType]]
|-
|-
| 0x00190000
| 0x00190000
Line 112: Line 112:
| 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
Line 132: Line 132:
| 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
Line 200: Line 200:
| 0x00310082
| 0x00310082
| [[1.0.0-0]]
| [[1.0.0-0]]
| CardNorDirectCpuWriteWithoutVerify
| [[FSPXI:CardNorDirectCpuWriteWithoutVerify|CardNorDirectCpuWriteWithoutVerify]]
|-
|-
| 0x00320040
| 0x00320040
Line 208: Line 208:
| 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:SendInitializeInfo|SendInitializeInfo]]
|-
|-
| 0x00370100
| 0x00370100
| ?
| [[1.0.0-0]]
| ?
| [[FSPXI:CreateExtSaveData|CreateExtSaveData]]
|-
|-
| 0x00380100
| 0x00380100
| ?
| [[1.0.0-0]]
| ?
| [[FSPXI:DeleteExtSaveData|DeleteExtSaveData]]
|-
|-
| 0x00390102
| 0x00390102
| ?
| [[1.0.0-0]]
| ?
| [[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]]
|-
|-
| 0x003C0102
| 0x003C0102
| 1.0.0-0
| [[1.0.0-0]]
| GetLegacyBannerData
| [[FSPXI:GetLegacyBannerData|GetLegacyBannerData]]
|-
|-
| 0x003D....
| 0x003D0040
| ?
| ?
| ?
| ?
|-
|-
| 0x003E0000
| 0x003E0000
| 3.0.0-0
| [[3.0.0-5]]
| [[FSPXI:DeleteSdmcRoot|DeleteSdmcRoot]]
| [[FSPXI:DeleteSdmcRoot|DeleteSdmcRoot]]
|-
|-
| 0x003F0040
| 0x003F0040
| 3.0.0-0
| [[3.0.0-5]]
| DeleteAllExtSaveDataOnNand
| [[FSPXI:DeleteAllExtSaveDataOnNand|DeleteAllExtSaveDataOnNand]]
|-
|-
| 0x00400000
| 0x00400000
| 3.0.0-0
| [[3.0.0-5]]
| [[FSPXI:InitializeCtrFilesystem|InitializeCtrFilesystem]]
| [[FSPXI:InitializeCtrFilesystem|InitializeCtrFilesystem]]
|-
|-
| 0x00410000
| 0x00410000
| 3.0.0-0
| [[3.0.0-5]]
| CreateSeed
| [[FSPXI:CreateSeed|CreateSeed]]
|-
|-
| 0x00420042
| 0x00420042
| 3.0.0-0
| [[3.0.0-5]]
| [[FSPXI:GetSdmcCtrRootPath|GetSdmcCtrRootPath]]
| [[FSPXI:GetSdmcCtrRootPath|GetSdmcCtrRootPath]]
|-
|-
| 0x00430040
| 0x00430040
| 3.0.0-0
| [[3.0.0-5]]
| GetArchiveResource
| [[FSPXI:GetArchiveResource|GetArchiveResource]]
|-
|-
| 0x00440002
| 0x00440002
| 3.0.0-0
| [[3.0.0-5]]
| [[FSPXI:ExportIntegrityVerificationSeed|ExportIntegrityVerificationSeed]]
| [[FSPXI:ExportIntegrityVerificationSeed|ExportIntegrityVerificationSeed]]
|-
|-
| 0x00450002
| 0x00450002
| 3.0.0-0
| [[3.0.0-5]]
| [[FSPXI:ImportIntegrityVerificationSeed|ImportIntegrityVerificationSeed]]
| [[FSPXI:ImportIntegrityVerificationSeed|ImportIntegrityVerificationSeed]]
|-
|-
| 0x00460102
| 0x00460102
| 2.0.0-2
| [[2.0.0-2]]
| EnumerateSharedExtSaveData
| [[FSPXI:GetLegacySubBannerData|GetLegacySubBannerData]]
|-
|-
| 0x00470042
| 0x00470042
| 2.0.0-2
| [[2.0.0-2]]
| GetLegacySubBannerData
| ?
|-
|-
| 0x004800C2
| 0x004800C2
| 2.0.0-2
| [[2.0.0-2]]
| Initialize (?)
| [[FSPXI:GetFileLastModified|GetFileLastModified]]
|-
|-
| 0x00490102
| 0x00490102
| 3.0.0-0
| [[3.0.0-5]]
| ReadSpecialFile
| [[FSPXI:ReadSpecialFile|ReadSpecialFile]]
|-
|-
| 0x004A0040
| 0x004A0040
| 3.0.0-0
| [[3.0.0-5]]
| GetSpecialFileSize. cmd[1] = must be value 0x0. Writes the u64 size to cmdreply[2-3].
| [[FSPXI:GetSpecialFileSize|GetSpecialFileSize]]
|-
|-
| 0x004B0000
| 0x004B0000
| 3.0.0-0
| [[3.0.0-5]]
| [[FSPXI:GetMovableSedHashedKeyYRandomData|GetMovableSedHashedKeyYRandomData]]
| [[FSPXI:StartDeviceMoveAsSource|StartDeviceMoveAsSource]]
|-
|-
| 0x004C0240
| 0x004C0240
| ?
| [[3.0.0-5]]
| ?
| [[FSPXI:StartDeviceMoveAsDestination|StartDeviceMoveAsDestination]]
|-
|-
| 0x004D01C4
| 0x004D01C4
| [[3.0.0-5]]
| [[3.0.0-5]]
| [[FSPXI:ReadFileWrapper|ReadFileWrapper]]. If the first ReadFile call fails, this calls ReadFile again then executes hash-related code.
| [[FSPXI:ReadFileSHA256|ReadFileSHA256]]
|-
|-
| 0x004E0204
| 0x004E0204
| [[3.0.0-5]]
| [[3.0.0-5]]
| This is a wrapper for WriteFile, this is similar to command 0x004D01C4.
| [[FSPXI:WriteFileSHA256|WriteFileSHA256]]
|-
|-
| 0x004F0080
| 0x004F0080
| [[3.0.0-5]]
| [[3.0.0-5]]
| (unknown_u64)
| ? (unknown_u64)
|-
|-
| 0x00500040
| 0x00500040
| [[3.0.0-5]]
| [[3.0.0-5]]
| Stubbed, this only returns value 0.
| [[FSPXI:SetPriority|SetPriority]]
|-
|-
| 0x00510040
| 0x00510040
| [[3.0.0-5]]
| [[3.0.0-5]]
| (unknown_u8)
| [[FSPXI:SwitchCleanupInvalidSaveData|SwitchCleanupInvalidSaveData]]
|-
|-
| 0x00520042
| 0x00520042
Line 336: Line 336:
| 0x00530000
| 0x00530000
| [[3.0.0-5]]
| [[3.0.0-5]]
| Unknown, stubbed with [[4.0.0-7]].
| Stubbed with [[4.0.0-7]].
|-
|-
| 0x0054....
| 0x00540000
| [[4.0.0-7]]
| [[4.0.0-7]]
| Stubbed with [[4.0.0-7]].
| Stubbed with [[4.0.0-7]].
Line 344: Line 344:
| 0x00550082
| 0x00550082
| [[4.0.0-7]]
| [[4.0.0-7]]
| ReadNandReport
| [[FSPXI:ReadNandReport|ReadNandReport]]
|-
|-
| 0x00560102
| 0x00560102
| [[9.6.0-24|9.6.0-X]]
| [[9.6.0-24|9.6.0-X]]
| This calls some archive-class vtable funcptr, for the specified archive-handle. It's unknown what this is for.
| ?
|}
|}