AM:ReadTwlBackupInfo: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
No edit summary
TimmSkiller (talk | contribs)
Fix wrong argument order, add more info
Line 9: Line 9:
|-
|-
| 1
| 1
| Buffer 1 Size
| Output Info Size (usually 0x20)
|-
|-
| 2
| 2
| Buffer 2 Size
| Banner Size (usually 0x4000)
|-
|-
| 3
| 3
| Buffer 3 Size
| Working Buffer Size
|-
|-
| 4
| 4
Line 24: Line 24:
|-
|-
| 6
| 6
| (Buffer 1 Size << 4) <nowiki>|</nowiki> 0xC
| (Output Info Size << 4) <nowiki>|</nowiki> 0xC
|-
|-
| 7
| 7
| Buffer 1 Pointer, output info. Processing is skipped for this when the pointer is NULL.
| [[Application_Manager_Services#TwlBackupInfo|TwlBackupInfo]] Output Pointer. Processing is skipped for this when the pointer is NULL.
|-
|-
| 8
| 8
| (Buffer 2 Size << 4) <nowiki>|</nowiki> 0xC
| (Banner Size << 4) <nowiki>|</nowiki> 0xC
|-
|-
| 9
| 9
| Buffer 2 Pointer, work buffer.
| [[DSiWare_Exports|DSiWare]] Banner Output Pointer. Processing is skipped for this when the pointer is NULL.
|-
|-
| 10
| 10
| (Buffer 3 Size << 4) <nowiki>|</nowiki> 0xC
| (Working Buffer Size << 4) <nowiki>|</nowiki> 0xC
|-
|-
| 11
| 11
| Buffer 3 Pointer, output [[DSiWare_Exports|DSiWare]] banner. Processing is skipped for this when the pointer is NULL.
| Working Buffer Pointer
|}
|}


Line 56: Line 56:


=Description=
=Description=
The specified [[DSiWare_Exports|file]] size must be >=0x4500. This reads the DSiWare header+banner from the file, and decrypts+verifies these sections. This also writes some data into Buf1 using the plaintext header.
The specified [[DSiWare_Exports|file]] size must be at least 0x4500. This reads the DSiWare header+banner from the file, and decrypts+verifies these sections..

Revision as of 21:58, 1 August 2022

Request

Index Word Description
0 Header code [0x001E00C8]
1 Output Info Size (usually 0x20)
2 Banner Size (usually 0x4000)
3 Working Buffer Size
4 0x10
5 FSFile Handle
6 (Output Info Size << 4) | 0xC
7 TwlBackupInfo Output Pointer. Processing is skipped for this when the pointer is NULL.
8 (Banner Size << 4) | 0xC
9 DSiWare Banner Output Pointer. Processing is skipped for this when the pointer is NULL.
10 (Working Buffer Size << 4) | 0xC
11 Working Buffer Pointer

Response

Index Word Description
0 Header code
1 Result code

Description

The specified file size must be at least 0x4500. This reads the DSiWare header+banner from the file, and decrypts+verifies these sections..