System Controller Firmware: Difference between revisions

From Vita Developer wiki
Jump to navigation Jump to search
No edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Structure (Header) =
= Structure (Header) =
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! Offset !! Size !! Description !!  Notes
! Offset !! Size !! Description !!  Notes
|-
|-
| 0x0 || 1 || Header Index Magic || 01/02/10
| 0x0 || 1 || Header Content Index || 0x01 / 0x02 / 0x10 / 0x20
|-
|-
| 0x1 || 1 || Header Size || 0x10
| 0x1 || 1 || Header Size || 0x10 / 0x18
|-
|-
| 0x2 || 2 || Block Size || 00 00 or 04 00
| 0x2 || 2 || Block Size || 00 00 / 04 00 / 08 00
|-
|-
|}
|}
<pre>
78K0R/Kx3: 0x800
78K0R/Kx3-L: 0x400
RL78/G13: 0x400
</pre>


= Structure (Header Content Index 0x01) =
= Structure (Header Content Index 0x01) =
{| class="wikitable sortable"
{| class="wikitable sortable"
! Offset !! Size !! Description !!  Notes
! Offset !! Size !! Description !!  Notes
|-
|-
| 0x4 || 4 || Version || 05 05 03 01
| 0x4 || 4 || Ernie Version || 05 05 03 01
|-
|-
| 0x8 || 4 || Hardware ID || 38 50 80 00
| 0x8 || 4 || Hardware Info || 38 50 80 00
|-
|-
| 0xC || 4 || Padding || 00 00 00 00
| 0xC || 4 || Padding || 00 00 00 00
|-
|-
|}
|}
Line 30: Line 38:
| 0x4 ||  4 || Unknown 1 || 00 00 00 00
| 0x4 ||  4 || Unknown 1 || 00 00 00 00
|-
|-
| 0x8 ||  4 || Unknown 2 || 02 00 00 00
| 0x8 ||  4 || Encryption Type? || 02 00 00 00 for RL78 / 01 00 00 00 for 78K0R / 00 00 00 00 for 78K0R Proto (0.931 has this)
|-
|-
| 0xC ||  4 || Padding || 00 00 00 00
| 0xC ||  4 || Padding || 00 00 00 00
|-
|-
|}
|}
* Encryption type 00 supported since at least 0.931 (0.902 doesn't support this) until 1.692
* Encryption type 01 supported since 1.00
* Encryption type 02 supported since 2.50


= Structure (Header Content Index 0x10) =
= Structure (Header Content Index 0x10) =
Line 42: Line 54:
| 0x4 ||  4 || Block Index || 00 00 00 00 / 01 00 00 00 / etc
| 0x4 ||  4 || Block Index || 00 00 00 00 / 01 00 00 00 / etc
|-
|-
| 0x8 ||  4 || Block Size || 00 04 00 00
| 0x8 ||  4 || Block Size || 00 04 00 00 or 00 08 00 00
|-
|-
| 0xC ||  4 || Padding || 00 00 00 00
| 0xC ||  4 || Padding || 00 00 00 00
|-
|}
<pre>
78K0R/Kx3: 0x800
78K0R/Kx3-L: 0x400
RL78/G13: 0x400
</pre>
= Structure (Header Content 0x20) =
{| class="wikitable sortable"
! Offset !! Size !! Description !!  Notes
|-
| 0x4 ||  0x14 || Sha-1 Hash of Decrypted Blocks concatenated ||
|-
|-
|}
|}

Latest revision as of 09:19, 8 February 2021

Structure (Header)[edit | edit source]

Offset Size Description Notes
0x0 1 Header Content Index 0x01 / 0x02 / 0x10 / 0x20
0x1 1 Header Size 0x10 / 0x18
0x2 2 Block Size 00 00 / 04 00 / 08 00
78K0R/Kx3: 0x800
78K0R/Kx3-L: 0x400
RL78/G13: 0x400

Structure (Header Content Index 0x01)[edit | edit source]

Offset Size Description Notes
0x4 4 Ernie Version 05 05 03 01
0x8 4 Hardware Info 38 50 80 00
0xC 4 Padding 00 00 00 00

Structure (Header Content Index 0x02)[edit | edit source]

Offset Size Description Notes
0x4 4 Unknown 1 00 00 00 00
0x8 4 Encryption Type? 02 00 00 00 for RL78 / 01 00 00 00 for 78K0R / 00 00 00 00 for 78K0R Proto (0.931 has this)
0xC 4 Padding 00 00 00 00
  • Encryption type 00 supported since at least 0.931 (0.902 doesn't support this) until 1.692
  • Encryption type 01 supported since 1.00
  • Encryption type 02 supported since 2.50

Structure (Header Content Index 0x10)[edit | edit source]

Offset Size Description Notes
0x4 4 Block Index 00 00 00 00 / 01 00 00 00 / etc
0x8 4 Block Size 00 04 00 00 or 00 08 00 00
0xC 4 Padding 00 00 00 00
78K0R/Kx3: 0x800
78K0R/Kx3-L: 0x400
RL78/G13: 0x400

Structure (Header Content 0x20)[edit | edit source]

Offset Size Description Notes
0x4 0x14 Sha-1 Hash of Decrypted Blocks concatenated