The following code should load a value from an address and then write it back (effectively, it does nothing).
82200000 81543CAC
84200000 81543CAC
However, the above code causes the game to freeze (specifically USA Brawl).
The following code does the same thing as the above code, but uses the pointer.
4A000000 81543CAC
92210000 00000000
94210000 00000000
4A000000 80000000
It does not freeze the game. Is there a bug with 8220/8420 or am I doing something wrong with the first code?
Try this:
41000000 81543CAC
82210000 00000000
84210000 00000000
41000000 80000000
If that works, try this:
82210000 01543CAC
84210000 01543CAC
If they both work then my best guess would be that
82200000 XXXXXXXX is actually
82200000 0YXXXXXX (where only 1 bit of Y is counted)
I haven't used these at all yet. But I definitely need to know how they work to finish my program. ;P
Thank you!
Lemme check I had a test code on gecko registers before (gonna check my dev notes).. it was a size mod for Rosalina in PAL Mario Galaxy...
Ahh.. that SHOULD be it:
[Rosalina's Size]
//Activator
20282574 818C0038 //Checks some ASM command
C2282570 00000004 //Insert ASM - 7 commands
3D808000 398C1500
818C0000 919E0024
919E0028 919E002C
819E0000 00000000
E0000000 80008000 //Close this code part
//Next part
20001500 00000000 //if 80001500 (new size address)==0
04001500 3F800000 //then set it to 3F800000 (1.0)
E2000001 00000000 //endif
82200000 80001500 //Load [80001500]
2861D342 DFF72008 //if the user pressed C+Up
86A00000 3F810000 //multiply her size with 3F810000 (1.0078125)
2861D343 DFFB2004 //elsif the user pressed C+Down
86A00000 3F7E03F8 //multiply with 3F7E03F8 (0.992248=1/1.0078125)
2861D343 DFFC2002 //elsif user C+Right
80000000 3F800000 //Set register to 3F800000
E2000001 00000000 //endif
84200000 80001500 //store register back to 80001500
I gotta check this code it's from a dev version of the WiiRd code handler - if it still works!
Edit 2: okay.. it did not.. I found the bug however: the codes are broken :(
A quick corrected load/save draft:
===================================
= CST1 : Load into Gecko Register =
===================================
82UY000N XXXXXXXX :
8200 : grN = 8bits at [XXXXXXXX+ba]
9200 : grN = 8bits at [XXXXXXXX+po]
8210 : grN = 16bits at [XXXXXXXX+ba]
9210 : grN = 16bits at [XXXXXXXX+po]
8220 : grN = 32bits at [XXXXXXXX+ba]
9220 : grN = 32bits at [XXXXXXXX+po]
=================================
= CST2 : Save Gecko Register to =
=================================
84UYZZZN XXXXXXXX:
8400 : writes the 8bits in grN ZZZ times+1 at [XXXXXXXX+ba]
9400 : writes the 8bits in grN ZZZ times+1 at [XXXXXXXX+po]
8410 : writes the 16bits in grN ZZZ times+1 at [XXXXXXXX+ba]
9410 : writes the 16bits in grN ZZZ times+1 at [XXXXXXXX+po]
8420 : writes the 32bits in grN ZZZ times+1 at [XXXXXXXX+ba]
9420 : writes the 32bits in grN ZZZ times+1 at [XXXXXXXX+po]
I will try to get in contact with Kenobi who is hard to reach at that moment..
The corrected code from above is:
20282574 818C0038
C2282570 00000004
3D808000 398C1500
818C0000 919E0024
919E0028 919E002C
819E0000 00000000
E0000000 80008000
20001500 00000000
04001500 3F800000
E2000001 00000000
82200000 80001500
2861D342 DFF72008
86A00000 3F810000
2861D343 DFFB2004
86A00000 3F7E03F8
2861D343 DFFC2002
80000000 3F800000
E2000001 00000000
84200000 00001500
Still, feel free to use the codes like they are at the moment, it wouldn't be too hard to fix them and also not too hard to fix the codes in case he changes back to his code system.
Sorry for the inconvenience :(
Sweet, I guessed correctly. :D
Looking at your new Doc in comparison to the original, it seems that the "Y" value is assumed as 1. Could that be the only problem in the code handler with these codetypes?
Also, is CT0 incorrect aswell? "set gecko register to"
Sorry to be a lot offline lately... Lot of work, gf, tired, new pc, blah blah...
Anyway, there was indeed a bug (well, a missing check actually).
I've send a "fixed" vesrion to nuke some minutes ago.
CST0 should be fine.
I got the email, it will go in the next build which will be shortly. thanks for finding the bug and prompt fix.
Quote from: kenobi;2078Sorry to be a lot offline lately... Lot of work, gf, tired, new pc, blah blah...
Anyway, there was indeed a bug (well, a missing check actually).
I've send a "fixed" vesrion to nuke some minutes ago.
CST0 should be fine.