Difference between revisions of "FS:OpenArchive"

From 3dbrew
Jump to navigation Jump to search
Line 12: Line 12:
 
|-
 
|-
 
| 2
 
| 2
| LowPath.Type
+
| [[FS:OpenFile|LowPath]].Type
 
|-
 
|-
 
| 3
 
| 3
Line 187: Line 187:
 
|}
 
|}
  
Archives 0x567890AB,(CTR NAND) 0x1234567F, 0x567890AE,(TWL NAND) 0x567890AF, and 0x12345679 require the corresponding application exheader access control mount flag to be set, in the exheader for any of the currently running ARM11 processes. The access rights checked by [[Filesystem services|FS]] module for archive mounting with fs:USER, are stored in the process' exheader accessinfo.
+
Archives CTR NAND, 0x1234567F, TWL NAND, 0x567890AF, and 0x12345679 require the corresponding process exheader access control mount flag to be set, in the exheader for any of the currently running ARM11 processes. The access rights checked by [[Filesystem services|FS]] module for archive mounting with fs:USER, are stored in the process' exheader accessinfo.
 
 
=Archive LowPath.Data format=
 
Each archive has a separate LowPath format, some archives' LowPath are unused which are not listed here.
 
 
 
{| class="wikitable" border="1"
 
|-
 
!  Archive
 
!  LowPath.Data format
 
|-
 
|  (Shared)ExtSaveData(BOSS)
 
| +0 u8 mediatype, +4 u64 ExtdataID
 
|-
 
| SystemSaveData
 
| +0 u8 mediatype, +4 u32 savedataid
 
|-
 
| UserSaveDataForCheck
 
| +0 u8 mediatype, +4 u64 savedataid
 
|}
 
 
 
SystemSaveData mediatype must always be NAND. UserSaveDataForCheck mediatype must not be NAND.
 
 
 
=Mediatypes=
 
{| class="wikitable" border="1"
 
|-
 
!  Type
 
!  Description
 
|-
 
| 0
 
| NAND
 
|-
 
| 1
 
| SD
 
|-
 
| 2
 
| Gamecard
 
|}
 

Revision as of 23:18, 19 August 2012

Request

Index Word Description
0 Header code [0x080C00C2]
1 Archive idcode
2 LowPath.Type
3 LowPath.Size
4 (LowPath.Size<<14) | 2
5 LowPath.Data pointer

Response

Index Word Description
0 Header code
1 Resultcode
2 Archive handle lower word
3 Archive handle upper word

Archive idcodes

Idcode Description Accessible via FS Accessible via FSPXI
0x00000003 Application RomFS Yes No
0x00000004 SaveData Yes No
0x00000006 ExtSaveData Yes No
0x00000007 Shared ExtSaveData Yes No
0x00000008 SystemSaveData Yes No
0x00000009 SDMC Yes Yes
0x0000000A SDMC Write-Only Yes No
0x12345678 ExtSaveData for BOSS Yes No
0x12345679 ? Yes Yes
0x1234567B ExtSaveData, and ExtSaveData for BOSS No Yes
0x1234567C SystemSaveData No Yes
0x1234567D NAND RW Yes Yes
0x1234567E NAND RO Yes Yes
0x1234567F ? No Yes
0x2345678A User/GameCard SaveData (for check), and other uses (FS can only mount the latter) Yes Yes
0x2345678B ? No Yes
0x2345678C ? No Yes
0x2345678D ? No Yes
0x2345678E SaveData, ExeFS, and RomFS (For FS, only ExeFS) Yes Yes
0x567890AB NAND CTR FS No Yes
0x567890AC TWL PHOTO Yes Yes
0x567890AD ? No Yes
0x567890AE NAND TWL FS Yes Yes
0x567890AF ? Yes Yes
0x567890B0 ? No Yes
0x567890B1 Gamecard SaveData (for check) Yes No
0x567890B2 UserSaveData (for check) Yes No

Archives CTR NAND, 0x1234567F, TWL NAND, 0x567890AF, and 0x12345679 require the corresponding process exheader access control mount flag to be set, in the exheader for any of the currently running ARM11 processes. The access rights checked by FS module for archive mounting with fs:USER, are stored in the process' exheader accessinfo.