FS:OpenArchive

From 3dbrew
Revision as of 22:04, 18 April 2012 by Neimod (talk | contribs)
Jump to navigation Jump to search

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
0x00000003 Application RomFS
0x00000004 SaveData
0x00000006 ExtSaveData
0x00000007 Shared ExtSaveData
0x00000008 SystemSaveData
0x00000009 SDMC
0x12345678 ExtSaveData for BOSS
0x1234567D NAND RW
0x1234567E NAND RO
0x567890B1 Gamecard SaveData (for check)
0x567890B2 UserSaveData (for check)

Archive LowPath.Data format

Each archive has a separate LowPath format, some archives' LowPath are unused which are not listed here.

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

Type Description
0 NAND
1 SD
2 Gamecard