Skip to content

Fixed offsets, relocations & StaticR.rel code #4

@Leseratte10

Description

@Leseratte10

The symbol Readme mentions relocation instructions like <reloc type="sda21" offset="0x0" symbol="dwc_log_mode" /> to find symbols referenced somewhere else, but it also states that this is not implemented yet.

Are there any plans to support these in the future?

And, similarly, I would be interested in a way to define constant offsets for specific games, like when I'm writing a module for a specific game, want to use a specific method and already know its offset. Or, if I want to modify a value in RAM within a module, then something like this ...

<symbol name="some_var" size="0x04" >
    <position game="RMCP" offset="0x80123456" />
    <position game="RMCJ" offset="0x80654321" />
    <position game="RMCE" offset="0x80112233" />
    <position game="RMCK" offset="0x80445566" />
</symbol>

could help so the module could just do *(some_var) = 123 and brainslug would automatically use the correct RAM adress for that region.

Something like that would also be needed to mod code in the StaticR.rel - brainslug can't search in that since it's loaded during runtime, but if you could still assign a symbol name to a RAM address - dependant on the game's region - a bslug module could hook to the end of OS_Link and then write to addresses in StaticR.rel to mod code there and make it call C functions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions