Difference between revisions of "ACTU:Initialize"

From 3dbrew
Jump to navigation Jump to search
Line 3: Line 3:
 
{{IPC/RequestHeader|0x0001|2|4}}
 
{{IPC/RequestHeader|0x0001|2|4}}
 
{{IPC/RequestEntry|SDK Version}}
 
{{IPC/RequestEntry|SDK Version}}
{{IPC/CopyHandle|1}}
 
{{IPC/CopyHandleEntry|Handle to caller process}}
 
 
{{IPC/RequestEntry|u32, Shared memory size (optional)}}
 
{{IPC/RequestEntry|u32, Shared memory size (optional)}}
 +
{{IPC/ProcessID}}
 
{{IPC/CopyHandle|1}}
 
{{IPC/CopyHandle|1}}
 
{{IPC/CopyHandleEntry|Handle to shared memory (optional)}}
 
{{IPC/CopyHandleEntry|Handle to shared memory (optional)}}
Line 12: Line 11:
 
=Response=
 
=Response=
 
{{IPC/Request}}
 
{{IPC/Request}}
 +
{{#vardefine:ipc_offset|0}}
 
{{IPC/RequestHeader|0x0001|1|0}}
 
{{IPC/RequestHeader|0x0001|1|0}}
 
{{IPC/RequestEntry|Result code}}
 
{{IPC/RequestEntry|Result code}}
Line 17: Line 17:
  
 
=Description=
 
=Description=
This initializes the ACT service. Shared memory initialization is optional, but some service calls require it. The SDK version seems to be 0xB0502C8.
+
Initializes the current session.
 +
 
 +
The process ID is used to obtain the Title ID and Remaster Version of the caller.
 +
 
 +
An optional block of extra memory can be shared with the act service. The caller must create a memory block and specify its size in this request. If used, the act service will map the memory block into its own address space and use it as an extra heap. This extra memory is required for certain commands.

Revision as of 16:45, 12 January 2025

Request

Index Word Description
0
Header 0x00010084 Cmd 0x0001 Param 2 Xlat 4
1 SDK Version
2 u32, Shared memory size (optional)
3 Descriptor for process ID
4 Placeholder for process ID
5 Descriptor for copying 1 handle
6 Handle to shared memory (optional)

Response

Index Word Description
0
Header 0x00010040 Cmd 0x0001 Param 1 Xlat 0
1 Result code

Description

Initializes the current session.

The process ID is used to obtain the Title ID and Remaster Version of the caller.

An optional block of extra memory can be shared with the act service. The caller must create a memory block and specify its size in this request. If used, the act service will map the memory block into its own address space and use it as an extra heap. This extra memory is required for certain commands.