AM:ReadTwlBackupInfo

From 3dbrew
Revision as of 09:53, 5 June 2023 by Petko (talk | contribs) (Add information on constant in the send buffer. Add missing recieve parameters in the IPC response.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Request[edit]

Index Word Description
0 Header code [0x001E00C8]
1 Output Info Size (usually 0x20)
2 Banner Size (usually 0x4000)
3 Working Buffer Size
4 0x10 (Magic Word Header, 0x10 = HANDLE_MOVE, we are moving this handle into the IPC server)
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[edit]

Index Word Description
0 Header code
1 Result code
2 (Output Info Size << 4) | 0xC
3 TwlBackupInfo Output Pointer.
4 (Banner Size << 4) | 0xC
5 DSiWare Banner Output Pointer.
6 (Working Buffer Size << 4) | 0xC
7 Working Buffer Pointer

Description[edit]

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

It should be noted that this command is meant for use with Exports that use 11 content sections.