

On newer consoles where code was often compiled from C (rather than assembly with macros), I'm under the impression you can also do things like try to pattern match on the signature of standard library functions. Similarly, DMA was most often used for copying sprite data. Some consoles also had some built in functions that would give you an idea of what code was for, like the lz77 compression on the GBA, which was mostly just used for graphics. On older consoles, this included things like changing the HUD or wave effects, etc., since you need to make sure whatever work you do gets done in time for HBlank/VBlank. The trickier bit is if you're in a spot where you need to worry about timing. Super Mario 64 Coop Online cooperative multiplayer mod for SM64, aiming to synchronize all entities and every level for two players. Once you've found the code you want to modify, you just need to find some empty space in the ROM that you can branch out to to write your code. After that, you can mostly just follow the assembly - you can even read backwards up the call stack by reading to what look like the beginning of a procedure, and searching for jumps to that address. You can take diffs of memory as you do things in the game to narrow down where the relevant addresses are, and then set breakpoints on read/write to those locations to find relevant code. We work on new sm64ex-coop releases on a private repo and push all of our changes to the main repo once we've added everything, so if you contact us we can give you access to that repo where you can PR your changes there.I can't speak to the complexity of this project, but for ROM hacking in general, it's not all too complicated, but it does take some persisence.įirst you need to find code relevant to what you want to do. If you want to make a PR to sm64ex-coop, join the Discord server and communicate with us about your PR. To get started, click here to see the Lua documentation. Sm64ex-coop is moddable via Lua, similar to Roblox and Garry's Mod's Lua APIs. This allows players interact with the same world at the same time.
Unlike previous multiplayer projects, this one synchronizes enemies and events.

Online multiplayer mod for SM64 that synchronizes all entities and every level for multiple players.
