BOSS Savegame: Difference between revisions
Meleemeister (talk | contribs) No edit summary |
DaniElectra (talk | contribs) Expand proper documentation |
||
Line 1: | Line 1: | ||
This page describes the content of the [[SpotPass|BOSS]] sysmodule savegame. | This page describes the content of the [[SpotPass|BOSS]] sysmodule savegame. | ||
The savegame contains | The savegame contains the following files with no directories: | ||
==BOSS_A.db== | ==BOSS_A.db== | ||
This file is a database containing information about applications and their session on BOSS. | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x4 || Magic Number (0x12348000) | |||
|} | |||
After that, an array of data entries with a size of 0x800 follow. | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x10 || [[#BOSS_A_EntryHeader|BOSS_A_EntryHeader]] | |||
|- | |||
| 0x10 || 0x120 || [[#BOSS_A_TitleInfo|BOSS_A_TitleInfo]] | |||
|- | |||
| 0x130 || 0x304 || [[#BOSS_A_Certs|BOSS_A_Certs]] | |||
|- | |||
| 0x434 || 0x4 || u32, Unknown. Unused? | |||
|- | |||
| 0x438 || 0x3C8 || Padding | |||
|} | |||
===BOSS_A_EntryHeader=== | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x8 || u64, Program ID | |||
|- | |||
| 0x8 || 0x1 || bool, Valid | |||
|- | |||
| 0x9 || 0x1 || u8, Version. Latest version is 3 | |||
|- | |||
| 0xA || 0x6 || Padding? | |||
|} | |||
===BOSS_A_TitleInfo=== | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x8 || u64, Program ID | |||
|- | |||
| 0x8 || 0x1 || u8, Session maker (1: User, 2: Privileged) | |||
|- | |||
| 0x9 || 0x1 || bool, Optout flag | |||
|- | |||
| 0xA || 0x1 || bool, Arrival flag | |||
|- | |||
| 0xB || 0x5 || Unknown | |||
|- | |||
| 0x10 || 0x20 || [[#StorageEntry|StorageEntry]] | |||
|- | |||
| 0x30 || 0xF0 || Unknown | |||
|} | |||
===StorageEntry=== | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x1 || bool, Registered | |||
|- | |||
| 0x1 || 0x1 || u8, MediaType (0: NAND, 1: SD) | |||
|- | |||
| 0x2 || 0x2 || u16, Entry ID | |||
|- | |||
| 0x4 || 0x4 || u32, Storage size | |||
|- | |||
| 0x8 || 0x8 || u64, Extdata ID | |||
|- | |||
| 0x10 || 0x1 || u8, Unknown | |||
|- | |||
| 0x11 || 0x3 || Padding | |||
|- | |||
| 0x14 || 0x4 || u32, Unknown | |||
|- | |||
| 0x18 || 0x2 || u16, Unknown | |||
|- | |||
| 0x1A || 0x2 || u16, Unknown | |||
|- | |||
| 0x1C || 0x4 || Unknown | |||
|} | |||
===BOSS_A_Certs=== | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x1 || u8, Root CA count (stubbed to 0) | |||
|- | |||
| 0x1 || 0x3 || Padding | |||
|- | |||
| 0x4 || 0x100 || char[256][1], Root CA path | |||
|- | |||
| 0x104 || 0x100 || char[256], Client certificate path | |||
|- | |||
| 0x204 || 0x100 || char[256], Client certificate key path | |||
|} | |||
==BOSS_SS.db== | ==BOSS_SS.db== | ||
This file is a database containing static information about tasks. | |||
{|class=wikitable | {| class="wikitable" | ||
!Offset!!Size!!Description | ! Offset !! Size !! Description | ||
|- | |||
| 0x0 || 0x4 || Magic Number (0x12348000) | |||
|} | |||
After that, an array of data entries with a size of 0xC00 follow. An index of this array corresponds to the data with same index in BOSS_SV.db | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x4 || [[#BOSS_SS_EntryHeader|BOSS_SS_EntryHeader]] | |||
|- | |||
| 0x4 || 0x7D4 || [[#TaskActionConfig|TaskActionConfig]] | |||
|- | |||
| 0x7D8 || 0xC || [[#TaskOptionConfig|TaskOptionConfig]] | |||
|- | |||
| 0x7E4 || 0x60 || [[#TaskQueryConfig|TaskQueryConfig]] | |||
|- | |||
| 0x844 || 0x3BC || Padding | |||
|} | |||
===BOSS_SS_EntryHeader=== | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x1 || u8, Version. Latest version is 3 | |||
|- | |- | ||
| | | 0x1 || 0x3 || Padding | ||
|} | |||
===TaskActionConfig=== | |||
Check the matching [[BOSS_Services#PropertyIDs|properties]] for more information about these fields. | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x1 || u8, [[BOSS_Services#ActionCode|ActionCode]] | |||
|- | |||
| 0x1 || 0x1 || u8, FS Root CA | |||
|- | |||
| 0x2 || 0x1 || u8, FS Client Cert | |||
|- | |||
| 0x3 || 0x1 || u8, [[BOSS_Services#ApInfoType|ApInfoType]] | |||
|- | |||
| 0x4 || 0x1 || u8, Property 0x9 | |||
|- | |||
| 0x5 || 0x1 || u8, [[BOSS_Services#CfgInfoType|CfgInfoType]] | |||
|- | |||
| 0x6 || 0x2 || Padding | |||
|- | |||
| 0x8 || 0x4 || u32, Property 0x16 | |||
|- | |||
| 0xC || 0x4 || u32, Property 0x8 | |||
|- | |||
| 0x10 || 0x4 || u32, Property 0x3B | |||
|- | |||
| 0x14 || 0x4 || Handle, File handle | |||
|- | |||
| 0x18 || 0x200 || Action data | |||
|- | |||
| 0x218 || 0x200 || char[512], URL | |||
|- | |||
| 0x418 || 0x360 || HeaderFields | |||
|- | |||
| 0x790 || 0xC || u32[3], Root CAs | |||
|- | |||
| 0x79C || 0x4 || u32[1], Client certificates | |||
|- | |||
| 0x7A0 || 0x4 || u32, Root CA Count | |||
|- | |||
| 0x7A4 || 0x4 || u32, Client certificate count | |||
|- | |||
| 0x7A8 || 0x4 || Unknown | |||
|- | |||
| 0x7AC || 0x40 || Property 0x15 | |||
|} | |||
===TaskOptionConfig=== | |||
Check the matching [[BOSS_Services#PropertyIDs|properties]] for more information about these fields. | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x1 || u8, Property 0x18 | |||
|- | |||
| 0x1 || 0x1 || u8, Property 0x19 | |||
|- | |||
| 0x2 || 0x1 || u8, Property 0x1A | |||
|- | |||
| 0x3 || 0x1 || Padding | |||
|- | |||
| 0x4 || 0x4 || u32, Property 0x1B | |||
|- | |||
| 0x8 || 0x4 || u32, Property 0x1C | |||
|} | |||
===TaskQueryConfig=== | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x60 || QueryField[3]. Structure: | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x1 || bool, Used | |||
|- | |||
| 0x1 || 0xF || char[15], Query name | |||
|- | |||
| 0x10 || 0x10 || char[16], Query value | |||
|} | |||
|} | |} | ||
==BOSS_SV.db== | ==BOSS_SV.db== | ||
{|class=wikitable | This file is a database containing variable information about tasks. | ||
!Offset!!Size!!Description | {| class="wikitable" | ||
! Offset !! Size !! Description | |||
|- | |- | ||
| | | 0x0 || 0x4 || Magic Number (0x12348000) | ||
|} | |} | ||
An index of this array | After that, an array of data entries with a size of 0xC00 follow. An index of this array corresponds to the data with same index in BOSS_SS.db | ||
{| class="wikitable" | |||
{|class=wikitable | ! Offset !! Size !! Description | ||
!Offset!!Size!!Description | |||
|- | |- | ||
| | | 0x0 || 0x20 || [[#BOSS_SV_EntryHeader|BOSS_SV_EntryHeader]] | ||
|- | |- | ||
|0x10|| | | 0x20 || 0x10 || [[#TaskPolicyConfig|TaskPolicyConfig]] | ||
|- | |||
| 0x30 || 0x78 || [[#TaskStatusInfo|TaskStatusInfo]] | |||
|- | |||
| 0xA8 || 0x1E0 || [[#BOSS_SV_Unk1|BOSS_SV_Unk1]] | |||
|- | |||
| 0x288 || 0x5A8 || [[#BOSS_SV_Unk2|BOSS_SV_Unk2]] | |||
|- | |||
| 0x830 || 0x108 || [[#BOSS_SV_Unk3|BOSS_SV_Unk3]] | |||
|- | |||
| 0x938 || 0x2C8 || Padding | |||
|} | |||
===BOSS_SV_EntryHeader=== | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |- | ||
| | | 0x0 || 0x3 || Magic: [0x41, 0x01, 0x01] | ||
|- | |- | ||
| | | 0x3 || 0x1 || u8, Version. Latest version is 3 | ||
|- | |- | ||
| | | 0x4 || 0xC || Padding? | ||
|- | |- | ||
| | | 0x10 || 0x8 || u64, Program ID | ||
|- | |- | ||
| | | 0x18 || 0x8 || char[8], Task ID | ||
|} | |} | ||
=== | |||
{|class=wikitable | ===TaskPolicyConfig=== | ||
!Offset!!Size!!Description | Check the matching [[BOSS_Services#PropertyIDs|properties]] for more information about these fields. | ||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |- | ||
| | | 0x0 || 0x1 || u8 [[BOSS_Services#PriorityLevel|PriorityLevel]] | ||
|- | |- | ||
| | | 0x1 || 0x1 || u8, SchedulingPolicy | ||
|- | |- | ||
| | | 0x2 || 0x1 || u8, TaskPermission | ||
|- | |- | ||
| | | 0x3 || 0x1 || Padding? | ||
|- | |- | ||
| | | 0x4 || 0x4 || u32, TaskTargetDuration | ||
|- | |- | ||
| | | 0x8 || 0x4 || u32, Interval | ||
|- | |||
| 0xC || 0x4 || u32, Count | |||
|} | |} | ||
===TaskStatusInfo=== | |||
{|class=wikitable | Check the matching [[BOSS_Services#PropertyIDs|properties]] for more information about these fields. | ||
!Offset!!Size!!Description | {| class="wikitable" | ||
! Offset !! Size !! Description | |||
|- | |- | ||
| | | 0x0 || 0x8 || u64, LastSuccessfulTimestamp | ||
|- | |- | ||
| | | 0x8 || 0x8 || u64, Property 0x29 | ||
|- | |- | ||
| | | 0x10 || 0x1 || u8, [[BOSS_Services#TaskStateCode|TaskStateCode]] | ||
|- | |||
| 0x11 || 0x1 || u8, Property 0x1E | |||
|- | |||
| 0x12 || 0x1 || u8, property 0x1F | |||
|- | |||
| 0x13 || 0x1 || u8, TaskServiceStatus | |||
|- | |||
| 0x14 || 0x1 || u8, Property 0x22 | |||
|- | |||
| 0x15 || 0x1 || u8, TaskResultCode | |||
|- | |||
| 0x16 || 0x2 || Padding | |||
|- | |||
| 0x18 || 0x4 || u32, CommErrorCode | |||
|- | |||
| 0x1C || 0x4 || u32, Property 0x25 | |||
|- | |||
| 0x20 || 0x4 || u32, Property 0x26 | |||
|- | |||
| 0x24 || 0x4 || u32, Property 0x27 | |||
|- | |||
| 0x28 || 0x4 || u32, Property 0x2A | |||
|- | |||
| 0x2C || 0x4 || u32, Property 0x2B | |||
|- | |||
| 0x30 || 0x2 || u16, Property 0x2D | |||
|- | |||
| 0x32 || 0x2 || u16, Property 0x2E | |||
|- | |||
| 0x34 || 0x1 || u8, Property 0x2C | |||
|- | |||
| 0x35 || 0x1 || u8, Property 0x24 | |||
|- | |||
| 0x36 || 0x2 || Padding | |||
|- | |||
| 0x38 || 0x40 || char[64], LastModifiedHeader | |||
|} | |||
===BOSS_SV_Unk1=== | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x3 || Unknown | |||
|- | |||
| 0x3 || 0x1 || u8, Task type (0: Normal, 1: Immediate, 2: Background immediate) | |||
|- | |||
| 0x4 || 0x4 || u32, Unknown | |||
|- | |||
| 0x8 || 0x4 || u32, Unknown | |||
|- | |||
| 0xC || 0x4 || u32, Unknown | |||
|- | |||
| 0x10 || 0x10 || Unknown | |||
|- | |||
| 0x20 || 0x40 || char[64], Timestamp? | |||
|- | |||
| 0x60 || 0x180 || Unknown | |||
|} | |||
===BOSS_SV_Unk2=== | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x4 || u32, Unknown | |||
|- | |||
| 0x4 || 0x4 || u32, Unknown | |||
|- | |||
| 0x8 || 0x220 || Unknown | |||
|- | |||
| 0x228 || 0x20 || [[#StorageEntry|StorageEntry]] | |||
|- | |||
| 0x248 || 0x360 || Unknown | |||
|} | |||
===BOSS_SV_Unk3=== | |||
{| class="wikitable" | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x0 || 0x4 || u32, Unknown | |||
|- | |||
| 0x4 || 0x4 || u32, Unknown result | |||
|- | |||
| 0x8 || 0x4 || u32, Unknown | |||
|- | |||
| 0xC || 0xFC || Unknown | |||
|} | |} | ||
==BOSS_PH_INFO.db== | ==BOSS_PH_INFO.db== | ||
Line 76: | Line 376: | ||
==BOSS_SP_INFO.db== | ==BOSS_SP_INFO.db== | ||
Latest revision as of 21:34, 21 August 2025
This page describes the content of the BOSS sysmodule savegame.
The savegame contains the following files with no directories:
BOSS_A.db
This file is a database containing information about applications and their session on BOSS.
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Magic Number (0x12348000) |
After that, an array of data entries with a size of 0x800 follow.
Offset | Size | Description |
---|---|---|
0x0 | 0x10 | BOSS_A_EntryHeader |
0x10 | 0x120 | BOSS_A_TitleInfo |
0x130 | 0x304 | BOSS_A_Certs |
0x434 | 0x4 | u32, Unknown. Unused? |
0x438 | 0x3C8 | Padding |
BOSS_A_EntryHeader
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | u64, Program ID |
0x8 | 0x1 | bool, Valid |
0x9 | 0x1 | u8, Version. Latest version is 3 |
0xA | 0x6 | Padding? |
BOSS_A_TitleInfo
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | u64, Program ID |
0x8 | 0x1 | u8, Session maker (1: User, 2: Privileged) |
0x9 | 0x1 | bool, Optout flag |
0xA | 0x1 | bool, Arrival flag |
0xB | 0x5 | Unknown |
0x10 | 0x20 | StorageEntry |
0x30 | 0xF0 | Unknown |
StorageEntry
Offset | Size | Description |
---|---|---|
0x0 | 0x1 | bool, Registered |
0x1 | 0x1 | u8, MediaType (0: NAND, 1: SD) |
0x2 | 0x2 | u16, Entry ID |
0x4 | 0x4 | u32, Storage size |
0x8 | 0x8 | u64, Extdata ID |
0x10 | 0x1 | u8, Unknown |
0x11 | 0x3 | Padding |
0x14 | 0x4 | u32, Unknown |
0x18 | 0x2 | u16, Unknown |
0x1A | 0x2 | u16, Unknown |
0x1C | 0x4 | Unknown |
BOSS_A_Certs
Offset | Size | Description |
---|---|---|
0x0 | 0x1 | u8, Root CA count (stubbed to 0) |
0x1 | 0x3 | Padding |
0x4 | 0x100 | char[256][1], Root CA path |
0x104 | 0x100 | char[256], Client certificate path |
0x204 | 0x100 | char[256], Client certificate key path |
BOSS_SS.db
This file is a database containing static information about tasks.
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Magic Number (0x12348000) |
After that, an array of data entries with a size of 0xC00 follow. An index of this array corresponds to the data with same index in BOSS_SV.db
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | BOSS_SS_EntryHeader |
0x4 | 0x7D4 | TaskActionConfig |
0x7D8 | 0xC | TaskOptionConfig |
0x7E4 | 0x60 | TaskQueryConfig |
0x844 | 0x3BC | Padding |
BOSS_SS_EntryHeader
Offset | Size | Description |
---|---|---|
0x0 | 0x1 | u8, Version. Latest version is 3 |
0x1 | 0x3 | Padding |
TaskActionConfig
Check the matching properties for more information about these fields.
Offset | Size | Description |
---|---|---|
0x0 | 0x1 | u8, ActionCode |
0x1 | 0x1 | u8, FS Root CA |
0x2 | 0x1 | u8, FS Client Cert |
0x3 | 0x1 | u8, ApInfoType |
0x4 | 0x1 | u8, Property 0x9 |
0x5 | 0x1 | u8, CfgInfoType |
0x6 | 0x2 | Padding |
0x8 | 0x4 | u32, Property 0x16 |
0xC | 0x4 | u32, Property 0x8 |
0x10 | 0x4 | u32, Property 0x3B |
0x14 | 0x4 | Handle, File handle |
0x18 | 0x200 | Action data |
0x218 | 0x200 | char[512], URL |
0x418 | 0x360 | HeaderFields |
0x790 | 0xC | u32[3], Root CAs |
0x79C | 0x4 | u32[1], Client certificates |
0x7A0 | 0x4 | u32, Root CA Count |
0x7A4 | 0x4 | u32, Client certificate count |
0x7A8 | 0x4 | Unknown |
0x7AC | 0x40 | Property 0x15 |
TaskOptionConfig
Check the matching properties for more information about these fields.
Offset | Size | Description |
---|---|---|
0x0 | 0x1 | u8, Property 0x18 |
0x1 | 0x1 | u8, Property 0x19 |
0x2 | 0x1 | u8, Property 0x1A |
0x3 | 0x1 | Padding |
0x4 | 0x4 | u32, Property 0x1B |
0x8 | 0x4 | u32, Property 0x1C |
TaskQueryConfig
Offset | Size | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0 | 0x60 | QueryField[3]. Structure:
|
BOSS_SV.db
This file is a database containing variable information about tasks.
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Magic Number (0x12348000) |
After that, an array of data entries with a size of 0xC00 follow. An index of this array corresponds to the data with same index in BOSS_SS.db
Offset | Size | Description |
---|---|---|
0x0 | 0x20 | BOSS_SV_EntryHeader |
0x20 | 0x10 | TaskPolicyConfig |
0x30 | 0x78 | TaskStatusInfo |
0xA8 | 0x1E0 | BOSS_SV_Unk1 |
0x288 | 0x5A8 | BOSS_SV_Unk2 |
0x830 | 0x108 | BOSS_SV_Unk3 |
0x938 | 0x2C8 | Padding |
BOSS_SV_EntryHeader
Offset | Size | Description |
---|---|---|
0x0 | 0x3 | Magic: [0x41, 0x01, 0x01] |
0x3 | 0x1 | u8, Version. Latest version is 3 |
0x4 | 0xC | Padding? |
0x10 | 0x8 | u64, Program ID |
0x18 | 0x8 | char[8], Task ID |
TaskPolicyConfig
Check the matching properties for more information about these fields.
Offset | Size | Description |
---|---|---|
0x0 | 0x1 | u8 PriorityLevel |
0x1 | 0x1 | u8, SchedulingPolicy |
0x2 | 0x1 | u8, TaskPermission |
0x3 | 0x1 | Padding? |
0x4 | 0x4 | u32, TaskTargetDuration |
0x8 | 0x4 | u32, Interval |
0xC | 0x4 | u32, Count |
TaskStatusInfo
Check the matching properties for more information about these fields.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | u64, LastSuccessfulTimestamp |
0x8 | 0x8 | u64, Property 0x29 |
0x10 | 0x1 | u8, TaskStateCode |
0x11 | 0x1 | u8, Property 0x1E |
0x12 | 0x1 | u8, property 0x1F |
0x13 | 0x1 | u8, TaskServiceStatus |
0x14 | 0x1 | u8, Property 0x22 |
0x15 | 0x1 | u8, TaskResultCode |
0x16 | 0x2 | Padding |
0x18 | 0x4 | u32, CommErrorCode |
0x1C | 0x4 | u32, Property 0x25 |
0x20 | 0x4 | u32, Property 0x26 |
0x24 | 0x4 | u32, Property 0x27 |
0x28 | 0x4 | u32, Property 0x2A |
0x2C | 0x4 | u32, Property 0x2B |
0x30 | 0x2 | u16, Property 0x2D |
0x32 | 0x2 | u16, Property 0x2E |
0x34 | 0x1 | u8, Property 0x2C |
0x35 | 0x1 | u8, Property 0x24 |
0x36 | 0x2 | Padding |
0x38 | 0x40 | char[64], LastModifiedHeader |
BOSS_SV_Unk1
Offset | Size | Description |
---|---|---|
0x0 | 0x3 | Unknown |
0x3 | 0x1 | u8, Task type (0: Normal, 1: Immediate, 2: Background immediate) |
0x4 | 0x4 | u32, Unknown |
0x8 | 0x4 | u32, Unknown |
0xC | 0x4 | u32, Unknown |
0x10 | 0x10 | Unknown |
0x20 | 0x40 | char[64], Timestamp? |
0x60 | 0x180 | Unknown |
BOSS_SV_Unk2
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | u32, Unknown |
0x4 | 0x4 | u32, Unknown |
0x8 | 0x220 | Unknown |
0x228 | 0x20 | StorageEntry |
0x248 | 0x360 | Unknown |
BOSS_SV_Unk3
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | u32, Unknown |
0x4 | 0x4 | u32, Unknown result |
0x8 | 0x4 | u32, Unknown |
0xC | 0xFC | Unknown |