Convert Codes to have Default Deactivated State
#1
Convert Codes to have Default Deactivated State

This guide is very useful for those who want to completely get rid of the 'GCN Trigger Glitch'. It is recommended you read this thread HERE for concise info about the GCN Trigger Glitch

So let's say you have to have the GCN L/R button as your act/deact and you never want to have the GCN glitch happen, you can convert standard codes to always be deactivated until the activator is pressed and HELD. The moment the activator is released, code is auto deactivated. For example, let's take a NTSC-U Shared Item Code (which is a common victim to GCN trigger glitch) and convert it. The code will have prefilled XYZ values (GCN port 1, Start Button for activator, L button for deactivator, and Blue Shell for shared item code)

28343E80 EF7F1080
C27AB704 00000002
38600007 90770020
60000000 00000000
E0000000 00000000
28343E80 FF3F00C0
047AB704 90770020
E0000000 80008000

With a standard configuration like this, once you activate code, you must deactivate manually to turn back off the code. However, with the GCN L/R trigger glitch, if you don't fully press the trigger(s) the deactivator won't register and the code remains activated. The common sense thing to do first, is to move the deactivator as the first line of the code. This causes the game to read that deactivator line first, thus the code's default state is deactivated. After that, we obviously no longer need the halfway terminator as it's there to only serve the purpose of allowing you to stay deactivated only after you press the deactivator. Lastly, we don't need the deactivator-specific controller line since once we release our activator we are defaulted back to being deactivated. With everything mentioned and applied, the code now looks like this---

047AB704 90770020 <-- deact as top (code defaults to deacted state)
28343E80 EF7F1080 <-- controller act line (must press and HOLD while passing item box)
C27AB704 00000002 <-- base shared code
38600007 90770020 <-- base shared code
60000000 00000000 <-- base shared code
E0000000 80008000 <-- final terminator neede to not conflict with other codes in GCT if present

Ok great, we did a simple conversion. Now let's say you have two shared item codes which obviously both use the same RAM address. Now you could add two separate entire codes in the format we just did, but why do that when we can do a special method to make one larger code that contains both shared codes with both controller activator lines. Now heres a doubled-shared code in the proper form of what I'm taking about. (first code will be from earlier, second shared code will be Y button activator for shock)

047AB704 90770020 <-- deact on top as it should be
28343E80 EF7F1080
C27AB704 00000002 
38600007 90770020 
60000000 00000000 
28343E81 F77F0880 <--2nd controller act line for 2nd shared code, notice the +1 to controller address value
C27AB704 00000002
38600008 90770020
60000000 00000000
E0000000 80008000 <-- final terminator 

You will notice that the 2nd controller address value needed a +1. If you are using codes in this special format, the controller address values must have their own unique value. If you have this format with 3 codes with a different 3rd controller activator line, the 3rd controller address value would be a +2 from the original value (example 3E82). You do a +1 for every controller address line you add. As you can also see, there is no halfway terminator line. If one was added, it would render the second half useless. For a final example here is the special format with 3 shared codes (3rd shared code will be for shroom using X button as the activator)

047AB704 90770020
28343E80 EF7F1080
C27AB704 00000002 
38600007 90770020 
60000000 00000000 
28343E81 F77F0880
C27AB704 00000002
38600008 90770020
60000000 00000000
28343E82 FB7F0480
C27AB704 00000002
38600004 90770020
60000000 00000000
E0000000 80008000

In conclusion, if you are a GCN user, you no longer have to worry about that silly trigger glitch.

Happy Coding!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)