Difference between revisions of "Filesystem services PXI"
Jump to navigation
Jump to search
(assuming Filesystem_services is correct, these are the commands made to PxiFS from those calls) |
|||
Line 336: | Line 336: | ||
| GetArchiveResource | | GetArchiveResource | ||
|- | |- | ||
− | | | + | | 0x00440002 |
|? | |? | ||
| [[2.0.0-2]] | | [[2.0.0-2]] | ||
| [[FSPXI:ExportIntegrityVerificationSeed|ExportIntegrityVerificationSeed]] | | [[FSPXI:ExportIntegrityVerificationSeed|ExportIntegrityVerificationSeed]] | ||
|- | |- | ||
− | | | + | | 0x00450002 |
|? | |? | ||
| [[2.0.0-2]] | | [[2.0.0-2]] |
Revision as of 02:45, 28 March 2015
Command Header, prior to 3.0.0-5 | Command Header, starting with 3.0.0-5 | Available since system version | Description |
---|---|---|---|
0x000101C2 | ? | 1.0.0-0 | OpenFile |
0x00020142 | ? | 1.0.0-0 | DeleteFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) |
0x00030244 | ? | 1.0.0-0 | RenameFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, secondarchivehandlelo, secondarchivehandlehi, secondpathtype, secondpathsize, pathptrsize, pathptr, secondpathptrsize, secondpathptr) |
0x00040142 | ? | 1.0.0-0 | DeleteDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) |
0x00050202 | ? | 1.0.0-0 | CreateFile? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, unknown_u32, unknown_lo, unknown_hi, pathptrsize, pathptr) |
0x00060182 | ? | 1.0.0-0 | CreateDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, unknown_u32, pathptrsize, pathptr) |
0x00070244 | ? | 1.0.0-0 | RenameDirectory? (unknown_u32, archivehandlelo, archivehandlehi, pathtype, pathsize, secondarchivehandlelo, secondarchivehandlehi, secondpathtype, secondpathsize, pathptrsize, pathptr, secondpathptrsize, secondpathptr) |
0x00080102 | ? | 1.0.0-0 | OpenDirectory (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) |
0x00090142 | ? | 1.0.0-0 | ReadFile |
0x000A00C2 | ? | 1.0.0-0 | CalculateFileHashSHA256 |
0x000B0182 | ? | 1.0.0-0 | WriteFile |
0x000C0104 | ? | 1.0.0-0 | CalcSavegameMAC |
0x000D0080 | ? | 1.0.0-0 | GetFileSize |
0x000E0100 | ? | 1.0.0-0 | SetFileSize (sizelo, sizehi, filehandlelo, filehandlehi) |
0x000F0080 | ? | 1.0.0-0 | CloseFile (filehandlelo, filehandlehi) |
0x001000C2 | ? | 1.0.0-0 | ReadDirectory (dirhandlelo, dirhandlehi, count, ptrsize, ptr) |
0x00110080 | ? | 1.0.0-0 | CloseDirectory (dirhandlelo, dirhandlehi) |
0x001200C2 | ? | 1.0.0-0 | OpenArchive |
0x00130102 | ? | 1.0.0-0 | CreateExtSaveData? (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) |
0x00140102 | ? | 1.0.0-0 | (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) |
0x00150102 | ? | 1.0.0-0 | (archivehandlelo, archivehandlehi, pathtype, pathsize, pathptrsize, pathptr) |
0x00160080 | ? | 1.0.0-0 | CloseArchive (archivehandlelo, archivehandlehi) |
0x00170080 | ? | 1.0.0-0 | ReopenArchive? (archivehandlelo, archivehandlehi) |
0x00180000 | ? | 1.0.0-0 | GetCardType |
0x00190000 | ? | 1.0.0-0 | GetSdmcArchiveResource |
0x001A0000 | ? | 1.0.0-0 | GetNandArchiveResource |
0x001B0000 | ? | 1.0.0-0 | GetSdmcFatFsError |
0x001C0000 | ? | 1.0.0-0 | GetSdmcDetected |
0x001D0000 | ? | 1.0.0-0 | GetSdmcWritable |
0x001E0042 | ? | 1.0.0-0 | GetSdmcCid |
0x001F0042 | ? | 1.0.0-0 | GetNandCid |
0x00200000 | ? | 1.0.0-0 | GetSdmcSpeedInfo |
0x00210000 | ? | 1.0.0-0 | GetNandSpeedInfo |
0x00220042 | ? | 1.0.0-0 | GetSdmcLog |
0x00230042 | ? | 1.0.0-0 | GetNandLog |
0x00240000 | ? | 1.0.0-0 | ClearSdmcLog |
0x00250000 | ? | 1.0.0-0 | ClearNandLog |
0x00260000 | ? | 1.0.0-0 | GetCardSlotInserted |
0x00270000 | ? | 1.0.0-0 | CardSlotPowerOn |
0x00280000 | ? | 1.0.0-0 | CardSlotPowerOff |
0x00290000 | ? | 1.0.0-0 | CardSlotGetIfPowerStatus |
0x002A0040 | ? | 1.0.0-0 | CardNorDirectCommand (These CardNor commands are used for accessing the raw gamecard flash savedata) |
0x002B0080 | ? | 1.0.0-0 | CardNorDirectCommandWithAddress |
0x002C0082 | ? | 1.0.0-0 | CardNorDirectRead |
0x002D00C2 | ? | 1.0.0-0 | CardNorDirectReadWithAddress |
0x002E0082 | ? | 1.0.0-0 | CardNorDirectWrite |
0x002F00C2 | ? | 1.0.0-0 | CardNorDirectWriteWithAddress |
0x003000C2 | ? | 1.0.0-0 | CardNorDirectRead4IO |
0x00310082 | ? | 1.0.0-0 | CardNorDirectCpuWriteWithoutVerify |
0x00320040 | ? | 1.0.0-0 | CardNorDirectSectorEraseWithoutVerify |
0x00330080 | ? | 1.0.0-0 | GetProductInfo |
0x00340040 | ? | 1.0.0-0 | SetCardSpiBaudrate |
0x00350040 | ? | 1.0.0-0 | SetCardSpiBusMode |
0x00360040 | ? | 1.0.0-0 | SendInitializeInfo |
0x00370140 | ? | 1.0.0-0 | CreateExtSaveData |
0x003800C0 | ? | 1.0.0-0 | DeleteExtSaveData |
0x00390082 | ? | 1.0.0-0 | EnumerateExtSaveData |
0x003A0100 | ? | 1.0.0-0 | GetSpecialContentIndex |
0x003B00C2 | ? | 1.0.0-0 | GetLegacyRomHeader |
0x003C00C2 | 0x003C00C2 | 1.0.0-0 | GetLegacyBannerData |
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 |
0x00440002 | ? | 2.0.0-2 | ExportIntegrityVerificationSeed |
0x00450002 | ? | 2.0.0-2 | ImportIntegrityVerificationSeed |
0x00470082 | ? | 2.0.0-2 | EnumerateSharedExtSaveData |
0x00480102 | ? | 2.0.0-2 | GetLegacySubBannerData |
0x00490042 | ? | 2.0.0-2 | Initialize (?) |
0x004A00C2 | ? | 2.0.0-2 | OpenSpecialFile? (archivehandlelo, archivehandlehi, size, ptrsize_mul2, ptr) |
0x004B0102 | ? | 2.0.0-2 | ReadSpecialFile |
? | 0x004B0000 | 3.0.0-5 | GetMovableSedHashedKeyYRandomData |
0x004C0040 | ? | 2.0.0-2 | GetSpecialFileSize |
? | 0x004D01C4 | 3.0.0-5 | ReadFileWrapper. 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) |
None | 0x00560102 | 9.6.0-X | This calls some archive-class vtable funcptr, for the specified archive-handle. It's unknown what this is for. |
Errors
Error-code | Description |
---|---|
0xC82044BE | Object does already exist/failed to create object. |
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 (maybe other causes too?). |
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) |
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) |
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. |
0xE0C046F9 | FSPXI: Specified read-size doesn't match the actual filesize, when accessing ExeFS. |
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) |