CRO0: Difference between revisions
m i just removed the file extension description to the top of the page, i linked this page as a reference in the discord and this information seemed *much* better suited at the top so it is not drowned out - specifically signed up to make this change, hopefully it is well-received |
Add headers to all the structs |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 54: | Line 54: | ||
| 0xA0 | | 0xA0 | ||
| 0x04 | | 0x04 | ||
| | | [[#Segment offset (4 bytes)|Segment offset]] that is always the same as export symbol "nnroControlObject_". 0xFFFFFFFF in CRS | ||
|- | |- | ||
| 0xA4 | | 0xA4 | ||
| 0x04 | | 0x04 | ||
| | | [[#Segment offset (4 bytes)|Segment offset]] for "OnLoad" function, which will be called when the module is initialized. Set to 0xFFFFFFFF if not exists. | ||
|- | |- | ||
| 0xA8 | | 0xA8 | ||
| 0x04 | | 0x04 | ||
| | | [[#Segment offset (4 bytes)|Segment offset]] for "OnExit" function, which will be called when the module is finalized. Set to 0xFFFFFFFF if not exists. | ||
|- | |- | ||
| 0xAC | | 0xAC | ||
| 0x04 | | 0x04 | ||
| | | [[#Segment offset (4 bytes)|Segment offset]] for "OnUnresolved" function, which will be called when an unresolved function is called. Set to 0xFFFFFFFF if not exists. | ||
|- | |- | ||
| 0xB0 | | 0xB0 | ||
| Line 205: | Line 205: | ||
|} | |} | ||
Segment offset (4 bytes) | ==Segment offset (4 bytes)== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
| Line 218: | Line 218: | ||
|} | |} | ||
Segment Table entry (12 bytes) | ==Segment Table entry (12 bytes)== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Offset | ! Offset | ||
| Line 237: | Line 237: | ||
|} | |} | ||
Named Export Table entry (8 bytes) | ==Named Export Table entry (8 bytes)== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Offset | ! Offset | ||
| Line 249: | Line 249: | ||
| 0x4 | | 0x4 | ||
| 0x4 | | 0x4 | ||
| | | [[#Segment offset (4 bytes)|Segment offset]] for export | ||
|} | |} | ||
Indexed Export Table entry (4 bytes) | ==Indexed Export Table entry (4 bytes)== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Offset | ! Offset | ||
| Line 260: | Line 260: | ||
| 0x0 | | 0x0 | ||
| 0x4 | | 0x4 | ||
| | | [[#Segment offset (4 bytes)|Segment offset]] for export | ||
|} | |} | ||
Named Import Table entry (8 bytes) | ==Named Import Table entry (8 bytes)== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Offset | ! Offset | ||
| Line 278: | Line 278: | ||
|} | |} | ||
Indexed Import Table entry (8 bytes) | ==Indexed Import Table entry (8 bytes)== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Offset | ! Offset | ||
| Line 293: | Line 293: | ||
|} | |} | ||
Anonymous Import Table entry (8 bytes) | ==Anonymous Import Table entry (8 bytes)== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Offset | ! Offset | ||
| Line 301: | Line 301: | ||
| 0x0 | | 0x0 | ||
| 0x4 | | 0x4 | ||
| | | [[#Segment offset (4 bytes)|Segment offset]] of the export symbol | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
| Line 308: | Line 308: | ||
|} | |} | ||
Import Module Table entry (20 bytes) | ==Import Module Table entry (20 bytes)== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Offset | ! Offset | ||
| Line 335: | Line 335: | ||
|} | |} | ||
Patch entry (12 bytes) | ==Patch entry (12 bytes)== | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Offset | ! Offset | ||
| Line 343: | Line 343: | ||
| 0x0 | | 0x0 | ||
| 0x4 | | 0x4 | ||
| | | [[#Segment offset (4 bytes)|Segment offset]] for output. | ||
|- | |- | ||
| 0x4 | | 0x4 | ||