sm64tools
sm64tools copied to clipboard
n64split: Support memory overlays
Creating this issue to track support for memory overlays.
Mario Party makes use of overlays. There is a core portion of assembly that persists in RAM for the entire runtime, and an overlay region where different overlays are swapped in depending on the current game scene.
I created a marioparty.u.yaml that attempted to represent this game. All overlays are assembled assuming they are copied to 0x800F65E0, so that is what I had placed for each asm entry in the yaml.
The problem is that all the symbols for all overlays get mixed together. Overlays should have isolation of symbols, such that one overlay cannot see another. However, they do need to see the core code, as they often call into that.