Mario Kart Wii Gecko Codes, Cheats, & Hacks
Halfway Terminator vs Full/Final Terminator - Printable Version

+- Mario Kart Wii Gecko Codes, Cheats, & Hacks (https://mariokartwii.com)
+-- Forum: Hacks/Modding (https://mariokartwii.com/forumdisplay.php?fid=14)
+--- Forum: Coding & Hacking General Discussion (https://mariokartwii.com/forumdisplay.php?fid=23)
+--- Thread: Halfway Terminator vs Full/Final Terminator (/showthread.php?tid=745)



Halfway Terminator vs Full/Final Terminator - Vega - 06-21-2018

Halfway Terminator vs Full/Final Terminator


In many MKW cheat codes you will see the following lines of code --



E0000000 00000000
E0000000 80008000


The first code line is known as the Halfway Terminator, and the second line is known as the Full/Final Terminator. But how do they differ?

Well to understand how they actually differ, we need to stop using 'noob' terms and use correct 'Gecko/Code-Handler' terms.

First off, both lines do the following function/statement - "end if" (the E0000000 part)

Obviously, to end something. That something needs to be started/created. You can't end something that was never started. Well what was started? For most MKW codes, it's the controller line. Aka the '2834XXXX YYYYZZZZ' line.

Now what the controller line actually does is create an "if" function/statement. I won't go into detail of the exact 'if' function that the common MKW controller line(s) do, but just know that they start the 'if'.

Ok you know how the if is started and how the if is ended.

Look at the second part of both Terminators. (00000000 vs 80008000). That 'part' of the code line designates memory addresses. Whenever a Gecko code handler is started in MKW, the default address is 80000000. Now you are asking yourself -- Ok but why is it 80008000 instead of 80000000?

Well theres two types of addresses, Base Addresses and Pointers. Both start at 80000000 for the code handler.

So in the final terminator the 80008000 literally means 'reset' both Base Address and Pointer Address back to 80000000 (the default).

The halfway terminator does NOT reset said addresses. Hence why it shows 00000000.

The final terminator is always needed in a code (any code that creates an 'if') to reset the addresses or else some of the other codes listed underneath in your GCT may not execute correctly. 

And that's it.... Hope you understand terminators better.  Wink