Difference between revisions of "Filesystem services PXI"
Jump to navigation
Jump to search
Steveice10 (talk | contribs) m |
TimmSkiller (talk | contribs) (Update HasFile/HasDirectory) |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 80: | Line 80: | ||
| 0x00130102 | | 0x00130102 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
− | | | + | | [[FSPXI:HasFile|HasFile]] |
|- | |- | ||
| 0x00140102 | | 0x00140102 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
− | | | + | | [[FSPXI:HasDirectory|HasDirectory]] |
|- | |- | ||
| 0x001500C0 | | 0x001500C0 | ||
Line 96: | Line 96: | ||
| 0x00170080 | | 0x00170080 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
− | | | + | | [[FSPXI:LockArchive|LockArchive]] (archivehandlelo, archivehandlehi) |
|- | |- | ||
| 0x00180000 | | 0x00180000 | ||
Line 196: | Line 196: | ||
| 0x003000C2 | | 0x003000C2 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
− | | [[FSPXI: | + | | [[FSPXI:CardNorDirectRead_4xIO|CardNorDirectRead_4xIO]] |
|- | |- | ||
| 0x00310082 | | 0x00310082 | ||
Line 220: | Line 220: | ||
| 0x00360040 | | 0x00360040 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
− | | [[FSPXI: | + | | [[FSPXI:SendInitializeInfoTo9|SendInitializeInfoTo9]] |
|- | |- | ||
| 0x00370100 | | 0x00370100 | ||
Line 248: | Line 248: | ||
| 0x003D0040 | | 0x003D0040 | ||
| ? | | ? | ||
− | | | + | | [[FSPXI:FormatCardNorDevice|FormatCardNorDevice]] |
|- | |- | ||
| 0x003E0000 | | 0x003E0000 | ||
Line 288: | Line 288: | ||
| 0x00470042 | | 0x00470042 | ||
| [[3.0.0-5]] | | [[3.0.0-5]] | ||
− | | | + | | [[FSPXI:GenerateRandomBytes|GenerateRandomBytes]] |
|- | |- | ||
| 0x004800C2 | | 0x004800C2 | ||
Line 320: | Line 320: | ||
| 0x004F0080 | | 0x004F0080 | ||
| [[3.0.0-5]] | | [[3.0.0-5]] | ||
− | | | + | | [[FSPXI:SetCtrCardLatencyParameter|SetCtrCardLatencyParameter]] (u64) |
|- | |- | ||
| 0x00500040 | | 0x00500040 | ||
Line 357: | Line 357: | ||
! Available since system version | ! Available since system version | ||
! Description | ! Description | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| 0x003E.... | | 0x003E.... | ||
| ? | | ? | ||
− | | This was removed with | + | | This was removed with [[3.0.0-5]]. |
|- | |- | ||
| 0x003F0000 | | 0x003F0000 | ||
Line 612: | Line 368: | ||
| 0x00400040 | | 0x00400040 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
− | | DeleteAllExtSaveDataOnNand | + | | [[FSPXI:DeleteAllExtSaveDataOnNand|DeleteAllExtSaveDataOnNand]] |
|- | |- | ||
| 0x00410000 | | 0x00410000 | ||
Line 620: | Line 376: | ||
| 0x00420000 | | 0x00420000 | ||
| [[1.0.0-0]] | | [[1.0.0-0]] | ||
− | | CreateSeed | + | | [[FSPXI:CreateSeed|CreateSeed]] |
|- | |- | ||
| 0x00430042 | | 0x00430042 | ||
Line 628: | Line 384: | ||
| 0x00440040 | | 0x00440040 | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
− | | GetArchiveResource | + | | [[FSPXI:GetArchiveResource|GetArchiveResource]] |
|- | |- | ||
| 0x00450002 | | 0x00450002 | ||
Line 640: | Line 396: | ||
| 0x00470082 | | 0x00470082 | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
− | | | + | | 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]] | ||
− | | | + | | ? |
|- | |- | ||
| 0x004A00C2 | | 0x004A00C2 | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
− | | | + | | [[FSPXI:GetFileLastModified|GetFileLastModified]] |
|- | |- | ||
| 0x004B0102 | | 0x004B0102 | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
− | | ReadSpecialFile | + | | [[FSPXI:ReadSpecialFile|ReadSpecialFile]] |
|- | |- | ||
| 0x004C0040 | | 0x004C0040 | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
− | | GetSpecialFileSize | + | | [[FSPXI:GetSpecialFileSize|GetSpecialFileSize]] |
|- | |- | ||
|} | |} | ||
+ | |||
+ | 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 675: | Line 433: | ||
| 0xC86044D2 | | 0xC86044D2 | ||
| Failed to write file. Partition is full. | | Failed to write file. Partition is full. | ||
+ | |- | ||
+ | | 0xC8804471 | ||
+ | | Attempted to open a file under a directory which doesn't exist. | ||
|- | |- | ||
| 0xC8804478 | | 0xC8804478 | ||
Line 690: | Line 451: | ||
| 0xC92044E6 | | 0xC92044E6 | ||
| Operation not allowed with the current file openflags/file already in use (if file was previously opened for writing). | | 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 702: | 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 |
Latest revision as of 11:08, 8 June 2022
Post 3.x[edit]
Pre 3.x[edit]
Command Header, prior to 3.0.0-5 | Available since system version | Description |
---|---|---|
0x003E.... | ? | This was removed with 3.0.0-5. |
0x003F0000 | 1.0.0-0 | DeleteSdmcRoot |
0x00400040 | 1.0.0-0 | DeleteAllExtSaveDataOnNand |
0x00410000 | 1.0.0-0 | InitializeCtrFilesystem |
0x00420000 | 1.0.0-0 | CreateSeed |
0x00430042 | 2.0.0-2 | GetSdmcCtrRootPath |
0x00440040 | 2.0.0-2 | GetArchiveResource |
0x00450002 | 2.0.0-2 | ExportIntegrityVerificationSeed |
0x00460002 | 2.0.0-2 | ImportIntegrityVerificationSeed |
0x00470082 | 2.0.0-2 | This was removed with 3.0.0-5. |
0x00480102 | 2.0.0-2 | GetLegacySubBannerData |
0x00490042 | 2.0.0-2 | ? |
0x004A00C2 | 2.0.0-2 | GetFileLastModified |
0x004B0102 | 2.0.0-2 | ReadSpecialFile |
0x004C0040 | 2.0.0-2 | GetSpecialFileSize |
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[edit]
Error-code | 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 | Object doesn't exist / failed to open object(file). Or: The specified title does not exist in the database. |
0xC880448D | FSPXI: Gamecard not inserted when attempting to use the gamecard. |
0xC88044AB | SDMC/NAND bus error, REG_SDSTATUS: TMIO_STAT_CMD_BUSY or TMIO_STAT_TXUNDERRUN |
0xC88044AC | SDMC/NAND bus error, REG_SDSTATUS: TMIO_STAT_ILL_FUNC |
0xC92044E6 | Operation not allowed with the current file openflags/file already in use (if file was previously opened for writing). |
0xC92044E7 | Resource locked. |
0xC9204509 | 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 | SDMC/NAND bus error, REG_SDSTATUS: TMIO_STAT_STOPBIT_ERR |
0xC960F401 | 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 maximum. |
0xD9004587 | FSPXI: Hash verification failure (only for NCCH region hashes?). |
0xD9004588 | FSPXI/FSUSER: Verification failure for RSA or hashes. FSUSER: Verification failed for 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 | 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 | SDMC/NAND bus error, REG_SDSTATUS: TMIO_STAT_RXRDY |
0xE160F403 | SDMC/NAND bus error, REG_SDSTATUS: Bit28 (0x10000000) |
0xE160F404 | SDMC/NAND bus error, REG_SDSTATUS: Bit27 (0x08000000) |