Making Gecko Codes To Edit RAM
More actions
With Gamecube/Wii there is code stored within dol memory locations, and we can actually edit and add to this compiled assembly code within memory with the use of gecko/ar codes. And this page will detail on how to make said codes with help of the documentation from BannerBomb.
| 8 bits Write & Fill
|
00______ YYYY00XX
Writes the value XX to YYYY+1 consecutive byte-sized addresses, starting with the address ba+______ To use po instead of ba, change the codetype from 00 to 10. For values of ______ >= 0x01000000, add one to the codetype. |
| 16 bits Write & Fill | 02______ YYYYXXXX
Writes the value XXXX to YYYY+1 consecutive halfword-sized addresses, starting with the address ba+______ To use po instead of ba, change the codetype from 02 to 12. For values of ______ >= 0x01000000, add one to the codetype. |
| 32 bits Write | 04______ XXXXXXXX
Writes the value XXXXXXXX to ba+______ To use po instead of ba, change the codetype from 04 to 14. For values of ______ >= 0x01000000, add one to the codetype. |
| String Write (Patch Code) | 06______ YYYYYYYY
d1d2d3d4 d5d6.... Writes each byte (d1, d2, d3, ...) consecutively, starting at address ba+______ YYYYYYYY is the number of bytes to write
|
| Slider/Multi Skip (Serial) | 08______ XXXXXXXX
TNNNZZZZ VVVVVVVV ______ + ba = Initial Address X = Initial value for the RAM write T = Value Size (0 = byte, 1 = halfword, 2 = word) N = Amount of additional addresses to write to (the first is assumed) Z = Address Increment; in bytes (How many To skip By) V = Value Increment (How much to add to the value after each additional RAM write)
|
| IF CODE TYPES | |
| 32 bits (endif, then) If equal | 20______ XXXXXXXX
Adding 1 to ______ will make this code first apply an Endif. (It will still use ______ for address calculation; without the added 1) If 32 bits at [ba+______]==XXXXXXXX, then codes are executed (else code execution set to false)
|
| 0x33F8C2 | tenjyo.szp |
| 0x33FA02 | banaoba.szp |