Difference between revisions of "Loader Services"

From 3dbrew
Jump to navigation Jump to search
Line 6: Line 6:
 
!  Description
 
!  Description
 
|-
 
|-
| 0x0001....
+
| 0x00010080
| LoadProcess, this maps 0x10000000 and reads ExeFS:/.code there, then decompresses it if needed. This then uses [[SVC|svcCreateProcess]] and svcSetupProcess. Once finished this returns the KProcess handle in the command response.
+
| LoadProcess(u64 titlehandle). This maps 0x10000000 and reads ExeFS:/.code there, then decompresses it if needed. This then uses [[SVC|svcCreateProcess]] and svcSetupProcess. Once finished this writes the KProcess handle to cmdreply[3].
 
|-
 
|-
 
| 0x0002....
 
| 0x0002....
| RegisterProgram
+
| RegisterProgram. Writes u64 titlehandle starting at cmdreply[2].
 
|-
 
|-
 
| 0x0003....
 
| 0x0003....
 
| UnregisterProgram
 
| UnregisterProgram
 
|-
 
|-
| 0x0004....
+
| 0x00040080
| Shutdown
+
| GetExheader(u64 titlehandle)
 
|}
 
|}

Revision as of 20:28, 28 February 2015

Loader service "Loader"

Command Header Description
0x00010080 LoadProcess(u64 titlehandle). This maps 0x10000000 and reads ExeFS:/.code there, then decompresses it if needed. This then uses svcCreateProcess and svcSetupProcess. Once finished this writes the KProcess handle to cmdreply[3].
0x0002.... RegisterProgram. Writes u64 titlehandle starting at cmdreply[2].
0x0003.... UnregisterProgram
0x00040080 GetExheader(u64 titlehandle)