RO:UnloadCRO: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Wwylele (talk | contribs)
m Wwylele moved page RO:LoadCROSymbols to RO:UnloadCRO: Wrong name
 
(3 intermediate revisions by 2 users not shown)
Line 38: Line 38:


=Description=
=Description=
This might resolve the [[CRO0|CRS]] CRO-symbols using the CRS data from [[RO:Initialize]]. This resolves(?) the jump-table pointers used by the CRO to call code in the main process .text.
This function patches the CRO binary in memory. It sets up imported symbols (functions+data) according to Import Table(s).

Latest revision as of 19:55, 15 July 2016

Request

Index Word Description
0 Header code [0x000500C2]
1 Base address of the mapped CRO, in the process memory, originally passed to RO:LoadExeCRO.
2 Unknown, usually zero?
3 Original address where the CRO was first located in process memory(such as the process heap), also passed to RO:LoadExeCRO.
4 Must be zero
5 KProcess handle

Response

Index Word Description
0 Header code
1 Result code

Description

This function patches the CRO binary in memory. It sets up imported symbols (functions+data) according to Import Table(s).