Mario Kart Wii Gecko Codes, Cheats, & Hacks
Using Mem81 to Auto-Clear Data for ASM Codes (MKWii only) - Printable Version

+- Mario Kart Wii Gecko Codes, Cheats, & Hacks (https://mariokartwii.com)
+-- Forum: Guides/Tutorials/How-To's (https://mariokartwii.com/forumdisplay.php?fid=45)
+--- Forum: PowerPC Assembly (https://mariokartwii.com/forumdisplay.php?fid=50)
+--- Thread: Using Mem81 to Auto-Clear Data for ASM Codes (MKWii only) (/showthread.php?tid=1107)



Using Mem81 to Auto-Clear Data for ASM Codes (MKWii only) - Vega - 03-18-2019

Using Mem81 to Auto-Clear Data for ASM Codes (MKWii only)

NOTE: This is an MKWii specific 'feature', this most likely won't work for other Wii games.
NOTE: For beginner ASM Coders that have already been utilizing the Exception Vector Area in previous codes.


Let's say you have an ASM code that originally stores data/values to the Exception Vector Area. You wanted these values to clear after every race. So you write another ASM code (that occurs only in between races) to zero/null out all the values.

Seems pretty silly to write another whole ASM code just to clear values. Instead of storing your data/values to the Exception Vector Area, you store them to Mem81. Mem81 auto-clears after every race/battle. The only time is doesn't auto clear is pressing restart in TT mode. I don't know the entire exact allowable region of Mem81 but here is a LARGE chunk used many various codes over time and I have seen no issues with any of those codes' functionality.

0x81400000 thru 0x81701000

As you can see this is a very large region of memory to have at your expense. And there you go, a great place to store values that need to be cleared per race. Happy coding!


RE: Using Mem81 to Auto-Clear Data for ASM Codes (MKWii only) - Zeraora - 07-11-2023

Hey! Not to bump an old thread for no reason but, just to provide some bit of knowledge.

If you are using an LE-CODE distro, LE-CODE does use a portion of Mem81 (the exact size I don't know but, it seems to be between 0x81400000 - 0x814D0000) which can cause information to get written over your existing codes.

It seems to be written around the start of a race (right when objs are loading). You might be able to write mid race for certain conditions but, I highly recommend finding a portion that isn't being used.