- 
                Notifications
    You must be signed in to change notification settings 
- Fork 30
Open
Description
Known usecases include Mario Kart Wii and Super Paper Mario.
In some circumstances, the memory allocation for static RELs is deterministic, and leads to RELs being placed consistently at the same memory addresses. As a result, communities often refer to REL addresses by their virtual addresses instead of their relative offset. Thus, it would be nice to have an option to use virtual addresses for splits and symbols.
An ideal solution would be allowing specifying where a REL (and its .bss section) would be placed in memory.
For MKW PAL, the REL buffer is allocated to virtual address 0x805102E0, and the bss is allocated to virtual address 0x809BD6E0.
As a test split for MKW PAL:
game/field/BoxColManager.cpp:
	.text       start:0x00275130 end:0x00276B1C
	.rodata     start:0x000150C8 end:0x000150E0
	.data       start:0x0001EC18 end:0x0001EC28
	.bss        start:0x00005810 end:0x00005818
would become:
game/field/BoxColManager.cpp:
	.text       start:0x807854E4 end:0x80786ED0
	.rodata     start:0x808A47E8 end:0x808A4800
	.data       start:0x808D17E8 end:0x808D17F8
	.bss        start:0x809C2EF0 end:0x809C2EF8
Metadata
Metadata
Assignees
Labels
No labels