Filesystem services: Difference between revisions

No edit summary
Line 5: Line 5:
|-
|-
!  Command Header
!  Command Header
!  Available since system version
!  Description
!  Description
!  Required exheader accessinfo bitmask
!  Required exheader accessinfo bitmask
|-
|-
| 0x000100C6
| 0x000100C6
|
| Dummy1
| Dummy1
| None
| None
|-
|-
| 0x040100C4
| 0x040100C4
|
| Control
| Control
| None
| None
|-
|-
| 0x08010002
| 0x08010002
|
| [[FS:Initialize|Initialize]]
| [[FS:Initialize|Initialize]]
| None
| None
|-
|-
| 0x080201C2
| 0x080201C2
|
| [[FS:OpenFile|OpenFile]]
| [[FS:OpenFile|OpenFile]]
| None
| None
|-
|-
| 0x08030204
| 0x08030204
|
| [[FS:OpenFileDirectly|OpenFileDirectly]]
| [[FS:OpenFileDirectly|OpenFileDirectly]]
| None
| None
|-
|-
| 0x08040142
| 0x08040142
|
| [[FS:DeleteFile|DeleteFile]]
| [[FS:DeleteFile|DeleteFile]]
| None
| None
|-
|-
| 0x08050244
| 0x08050244
|
| RenameFile
| RenameFile
| None
| None
|-
|-
| 0x08060142
| 0x08060142
|
| DeleteDirectory
| DeleteDirectory
| None
| None
|-
|-
| 0x08070142
| 0x08070142
|
| DeleteDirectoryRecursively
| DeleteDirectoryRecursively
| None
| None
|-
|-
| 0x08080202
| 0x08080202
|
| CreateFile
| CreateFile
| None
| None
|-
|-
| 0x08090182
| 0x08090182
|
| [[FS:CreateDirectory|CreateDirectory]]
| [[FS:CreateDirectory|CreateDirectory]]
| None
| None
|-
|-
| 0x080A0244
| 0x080A0244
|
| RenameDirectory
| RenameDirectory
| None
| None
|-
|-
| 0x080B0102
| 0x080B0102
|
| [[FS:OpenDirectory|OpenDirectory]]
| [[FS:OpenDirectory|OpenDirectory]]
| None
| None
|-
|-
| 0x080C00C2
| 0x080C00C2
|
| [[FS:OpenArchive|OpenArchive]]
| [[FS:OpenArchive|OpenArchive]]
| Each archive idcode has separate accessinfo bitmasks, if any.
| Each archive idcode has separate accessinfo bitmasks, if any.
|-
|-
| 0x080D0144
| 0x080D0144
|
| ControlArchive
| ControlArchive
| None
| None
|-
|-
| 0x080E0080
| 0x080E0080
|
| [[FS:CloseArchive|CloseArchive]]
| [[FS:CloseArchive|CloseArchive]]
| None
| None
|-
|-
| 0x080F0180
| 0x080F0180
|
| FormatThisUserSaveData
| FormatThisUserSaveData
| None
| None
|-
|-
| 0x08100200
| 0x08100200
|
| CreateSystemSaveData
| CreateSystemSaveData
| 0x4, for when the input saveID doesn't match the exheader saveID.
| 0x4, for when the input saveID doesn't match the exheader saveID.
|-
|-
| 0x08110040
| 0x08110040
|
| DeleteSystemSaveData
| DeleteSystemSaveData
| 0x1004, for when the input saveID doesn't match the exheader saveID.
| 0x1004, for when the input saveID doesn't match the exheader saveID.
|-
|-
| 0x08120080
| 0x08120080
|
| GetFreeBytes
| GetFreeBytes
| None
| None
|-
|-
| 0x08130000
| 0x08130000
|
| GetCardType
| GetCardType
| 0x1017
| 0x1017
|-
|-
| 0x08140000
| 0x08140000
|
| GetSdmcArchiveResource
| GetSdmcArchiveResource
| None
| None
|-
|-
| 0x08150000
| 0x08150000
|
| GetNandArchiveResource
| GetNandArchiveResource
| None
| None
|-
|-
| 0x08160000
| 0x08160000
|
| GetSdmcFatfsError
| GetSdmcFatfsError
| 0x2
| 0x2
|-
|-
| 0x08170000
| 0x08170000
|
| IsSdmcDetected
| IsSdmcDetected
| None
| None
|-
|-
| 0x08180000
| 0x08180000
|
| IsSdmcWritable
| IsSdmcWritable
| None
| None
|-
|-
| 0x08190042
| 0x08190042
|
| GetSdmcCid
| GetSdmcCid
| 0x2
| 0x2
|-
|-
| 0x081A0042
| 0x081A0042
|
| GetNandCid
| GetNandCid
| 0x2
| 0x2
|-
|-
| 0x081B0000
| 0x081B0000
|
| GetSdmcSpeedInfo
| GetSdmcSpeedInfo
| 0x2
| 0x2
|-
|-
| 0x081C0000
| 0x081C0000
|
| GetNandSpeedInfo
| GetNandSpeedInfo
| 0x2
| 0x2
|-
|-
| 0x081D0042
| 0x081D0042
|
| GetSdmcLog
| GetSdmcLog
| 0x2
| 0x2
|-
|-
| 0x081E0042
| 0x081E0042
|
| GetNandLog
| GetNandLog
| 0x2
| 0x2
|-
|-
| 0x081F0000
| 0x081F0000
|
| ClearSdmcLog
| ClearSdmcLog
| 0x2
| 0x2
|-
|-
| 0x08200000
| 0x08200000
|
| ClearNandLog
| ClearNandLog
| 0x2
| 0x2
|-
|-
| 0x08210000
| 0x08210000
|
| CardSlotIsInserted
| CardSlotIsInserted
| 0x1017
| 0x1017
|-
|-
| 0x08220000
| 0x08220000
|
| CardSlotPowerOn
| CardSlotPowerOn
| 0x2
| 0x2
|-
|-
| 0x08230000
| 0x08230000
|
| CardSlotPowerOff
| CardSlotPowerOff
| 0x2
| 0x2
|-
|-
| 0x08240000
| 0x08240000
|
| CardSlotGetCardIFPowerStatus
| CardSlotGetCardIFPowerStatus
| 0x2
| 0x2
|-
|-
| 0x08250040
| 0x08250040
|
| CardNorDirectCommand
| CardNorDirectCommand
| 0x2
| 0x2
|-
|-
| 0x08260080
| 0x08260080
|
| CardNorDirectCommandWithAddress
| CardNorDirectCommandWithAddress
| 0x2
| 0x2
|-
|-
| 0x08270082
| 0x08270082
|
| CardNorDirectRead
| CardNorDirectRead
| 0x2
| 0x2
|-
|-
| 0x082800C2
| 0x082800C2
|
| CardNorDirectReadWithAddress
| CardNorDirectReadWithAddress
| 0x2
| 0x2
|-
|-
| 0x08290082
| 0x08290082
|
| CardNorDirectWrite
| CardNorDirectWrite
| 0x2
| 0x2
|-
|-
| 0x082A00C2
| 0x082A00C2
|
| CardNorDirectWriteWithAddress
| CardNorDirectWriteWithAddress
| 0x2
| 0x2
|-
|-
| 0x082B00C2
| 0x082B00C2
|
| CardNorDirectRead_4xIO
| CardNorDirectRead_4xIO
| 0x2
| 0x2
|-
|-
| 0x082C0082
| 0x082C0082
|
| CardNorDirectCpuWriteWithoutVerify
| CardNorDirectCpuWriteWithoutVerify
| 0x2
| 0x2
|-
|-
| 0x082D0040
| 0x082D0040
|
| CardNorDirectSectorEraseWithoutVerify
| CardNorDirectSectorEraseWithoutVerify
| 0x2
| 0x2
|-
|-
| 0x082E0040
| 0x082E0040
|
| GetProductInfo
| GetProductInfo
| 0x1005
| 0x1005
|-
|-
| 0x082F0040
| 0x082F0040
|
| [[FS:GetProgramLaunchInfo|GetProgramLaunchInfo]]
| [[FS:GetProgramLaunchInfo|GetProgramLaunchInfo]]
| 0x1005
| 0x1005
|-
|-
| 0x08300182
| 0x08300182
|
| CreateExtSaveData
| CreateExtSaveData
| 0xC, for when the input extdataID doesn't match the exheader extdataID.
| 0xC, for when the input extdataID doesn't match the exheader extdataID.
|-
|-
| 0x08310180
| 0x08310180
|
| CreateSharedExtSaveData
| CreateSharedExtSaveData
| 0x1005
| 0x1005
|-
|-
| 0x08320102
| 0x08320102
|
| [[FS:ReadExtSaveDataIcon|ReadExtSaveDataIcon]]
| [[FS:ReadExtSaveDataIcon|ReadExtSaveDataIcon]]
| 0x100D, for when the input extdataID doesn't match the exheader extdataID.
| 0x100D, for when the input extdataID doesn't match the exheader extdataID.
|-
|-
| 0x08330082
| 0x08330082
|
| EnumerateExtSaveData
| EnumerateExtSaveData
| 0x1005
| 0x1005
|-
|-
| 0x08340082
| 0x08340082
|
| EnumerateSharedExtSaveData
| EnumerateSharedExtSaveData
| 0x1005
| 0x1005
|-
|-
| 0x08350080
| 0x08350080
|
| DeleteExtSaveData
| DeleteExtSaveData
| 0x100D, for when the input extdataID doesn't match the exheader extdataID.
| 0x100D, for when the input extdataID doesn't match the exheader extdataID.
|-
|-
| 0x08360080
| 0x08360080
|
| DeleteSharedExtSaveData
| DeleteSharedExtSaveData
| 0x1005
| 0x1005
|-
|-
| 0x08370040
| 0x08370040
|
| SetCardSpiBaudRate
| SetCardSpiBaudRate
| 0x2
| 0x2
|-
|-
| 0x08380040
| 0x08380040
|
| SetCardSpiBusMode
| SetCardSpiBusMode
| 0x2
| 0x2
|-
|-
| 0x08390000
| 0x08390000
|
| SendInitializeInfoTo9
| SendInitializeInfoTo9
| None
| None
|-
|-
| 0x083A0100
| 0x083A0100
|
| GetSpecialContentIndex
| GetSpecialContentIndex
| 0x1005
| 0x1005
|-
|-
| 0x083B00C2
| 0x083B00C2
|
| GetLegacyRomHeader
| GetLegacyRomHeader
| 0x1015
| 0x1015
|-
|-
| 0x083C00C2
| 0x083C00C2
|
| GetLegacyBannerData
| GetLegacyBannerData
| 0x1015
| 0x1015
|-
|-
| 0x083D0100
| 0x083D0100
|
| CheckAuthorityToAccessExtSaveData
| CheckAuthorityToAccessExtSaveData
| 0x44
| 0x44
|-
|-
| 0x083E00C2
| 0x083E00C2
|
| QueryTotalQuotaSize
| QueryTotalQuotaSize
| None
| None
|-
|-
| 0x083F00C0
| 0x083F00C0
|
| GetExtDataBlockSize
| GetExtDataBlockSize
| None
| None
|-
|-
| 0x08400040
| 0x08400040
|
| AbnegateAccessRight
| AbnegateAccessRight
|
|-
|-
| 0x08410000
| 0x08410000
|
| DeleteSdmcRoot
| DeleteSdmcRoot
| 0x1005
| 0x1005
|-
|-
| 0x08420040
| 0x08420040
|
| DeleteAllExtSaveDataOnNand
| DeleteAllExtSaveDataOnNand
| 0x1005
| 0x1005
|-
|-
| 0x08430000
| 0x08430000
|
| [[FS:InitializeCtrFileSystem|InitializeCtrFileSystem]]
| [[FS:InitializeCtrFileSystem|InitializeCtrFileSystem]]
| None
| None
|-
|-
| 0x08440000
| 0x08440000
|
| CreateSeed
| CreateSeed
| 0x2
| 0x2
|-
|-
| 0x084500C2
| 0x084500C2
|
| GetFormatInfo
| GetFormatInfo
| ?
| ?
|-
|-
| 0x08460102
| 0x08460102
|
| GetLegacyRomHeader2
| GetLegacyRomHeader2
| 0x1015
| 0x1015
|-
|-
| 0x08470180
| 0x08470180
|
| FormatCtrCardUserSaveData
| FormatCtrCardUserSaveData
| 0x6
| 0x6
|-
|-
| 0x08480042
| 0x08480042
|
| GetSdmcCtrRootPath
| GetSdmcCtrRootPath
| 0x100D
| 0x100D
|-
|-
| 0x08490040
| 0x08490040
|
| GetArchiveResource
| GetArchiveResource
| ?
| ?
|-
|-
| 0x084A0002
| 0x084A0002
|
| ExportIntegrityVerificationSeed
| ExportIntegrityVerificationSeed
| 0x4000
| 0x4000
|-
|-
| 0x084B0002
| 0x084B0002
|
| ImportIntegrityVerificationSeed
| ImportIntegrityVerificationSeed
| 0x4000
| 0x4000
|-
|-
| 0x084C0242
| 0x084C0242
|
| FormatSaveData
| FormatSaveData
| 0x6, in some cases this right isn't needed however.
| 0x6, in some cases this right isn't needed however.
|-
|-
| 0x084D0102
| 0x084D0102
|
| GetLegacySubBannerData
| GetLegacySubBannerData
| 0x1015
| 0x1015
|-
|-
| 0x084E0342
| 0x084E0342
|
| [[FS:UpdateSha256Context|UpdateSha256Context]]
| [[FS:UpdateSha256Context|UpdateSha256Context]]
| 0x5
| 0x5
|-
|-
| 0x084F0102
| 0x084F0102
|
| ReadSpecialFile
| ReadSpecialFile
| None
| None
|-
|-
| 0x08500040
| 0x08500040
|
| GetSpecialFileSize
| GetSpecialFileSize
| None
| None
|-
| 0x08510242
| [[3.0.0-5]]
| ?
| ?
|-
|-
| 0x08520100
| 0x08520100
| [[3.0.0-5]]
| Unknown (u32 flags, u64 extdataID)
| Unknown (u32 flags, u64 extdataID)
| ?
|-
| 0x08530142
| [[3.0.0-5]]
| ?
| ?
|-
| 0x0854....
| [[3.0.0-5]]
| ?
| ?
|-
| 0x08550102
| [[3.0.0-5]]
| ?
| ?
|-
| 0x0856....
| [[3.0.0-5]]
| ?
| ?
|-
| 0x0857....
| [[3.0.0-5]]
| ?
| ?
|-
| 0x08580000
| [[3.0.0-5]]
| ?
| ?
|-
| 0x0859....
| [[3.0.0-5]]
| ?
| ?
|-
| 0x085A....
| [[3.0.0-5]]
| ?
| ?
|-
| 0x085B....
| [[3.0.0-5]]
| ?
| ?
|-
| 0x085C....
| [[3.0.0-5]]
| ?
| ?
|-
| 0x085D....
| [[3.0.0-5]]
| ?
| ?
|-
| 0x085E....
| [[3.0.0-5]]
| ?
| ?
|-
| 0x085F....
| [[3.0.0-5]]
| ?
| ?
|-
| 0x08600042
| [[3.0.0-5]]
| ?
| ?
|-
| 0x08610042
| [[3.0.0-5]]
| ?
| ?
| ?
|-
|-
| 0x08620040
| 0x08620040
| [[3.0.0-5]]
| ?
| ?
| ?
| ?
|-
|-
| 0x08630000
| 0x08630000
| [[3.0.0-5]]
| ?
| ?
| ?
| ?
|-
|-
| 0x08640000
| 0x08640000
| [[3.0.0-5]]
| Stubbed, this returns an error.
| Stubbed, this returns an error.
| None
| None
|-
|-
| 0x08650140
| 0x08650140
|
| Unknown, this is used with [[Anti Savegame Restore]].
| Unknown, this is used with [[Anti Savegame Restore]].
| ?
| ?
|-
|-
| 0x086600C0
| 0x086600C0
|
| Unknown, this is used with [[Anti Savegame Restore]].
| Unknown, this is used with [[Anti Savegame Restore]].
| ?
| ?
|-
|-
| 0x08680000
| 0x08680000
|
| This loads the u8 mediatype for the current application from already initialized state, this u8 was originally loaded from the same data used by [[FS:GetProgramLaunchInfo|GetProgramLaunchInfo]]. This then writes the u8 to response-word[2]. This is used with [[Anti Savegame Restore]].
| This loads the u8 mediatype for the current application from already initialized state, this u8 was originally loaded from the same data used by [[FS:GetProgramLaunchInfo|GetProgramLaunchInfo]]. This then writes the u8 to response-word[2]. This is used with [[Anti Savegame Restore]].
| None
| None
|-
|-
| 0x08690000
| 0x08690000
|
| Stubbed, this returns an error.
| Stubbed, this returns an error.
| None
| None
|-
|-
| 0x086A0082
| 0x086A0082
|
| This is a wrapper for [[Filesystem_services_PXI|FSPXI]] command 0x00550082.
| This is a wrapper for [[Filesystem_services_PXI|FSPXI]] command 0x00550082.
| None
| None