Announcement

Collapse
No announcement yet.

[Wii] Help with making an AR/Gecko code for SMG2 [SB4E01]

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Wii] Help with making an AR/Gecko code for SMG2 [SB4E01]

    So first of all I want to say that I don't really have much experience in this type of thing. I've messed around with game hacking before, and I know the basic idea behind how the codes are supposed to work, but I've never tried to actually make a code like this from scratch, nor do I have any sort of experience in low-level programming, so it's safe to say I really don't know what I'm actually doing here.

    Ultimately, my goal here is to create a code for Super Mario Galaxy 2 [SB4E01] which does the following:
    • If on Yoshi, make Mario invisible (so, essentially, it looks like you're just playing as Yoshi, as in this video I made).
    • If not on Yoshi, make Mario visible like normal.
    Using the Gecko Codetype Documentation as well as the list of Gecko codes for the game for reference, the closest I've gotten to a functional code is this:
    Code:
    28A777DA 00000001
    04384DC4 38000001
    2AA777DB 00000001
    04384DC4 8005000C
    E2000001 00000000
    But it's still not working how I'd like it to.

    If I put it in the "AR Codes" section of Dolphin (5.0, stable release) it does absolutely nothing.

    If I put it in SB4E01.ini so I can activate it in the "Gecko Codes" section, it seems to only be doing anything when I actually click "Apply"; if Mario is off Yoshi he'll be visible, and if Mario is on Yoshi he'll be invisible. However, getting on and off Yoshi seems to be having no effect on its own.

    For comparison, here's a code which is identical, but adjusts the Star Bit counter on Starship Mario instead:
    Code:
    28A777DA 00000001
    02E40E7A 00002328
    2AA777DB 00000001
    02E40E7A 00002327
    E2000001 00000000
    This code does work properly: when on Yoshi it sets the Star Bit counter to 9000, and otherwise it sets the counter to 8999. More importantly, it seems to be holding the counter at these values, setting it every frame (or at least as often as possible). Also, it works whether I activate it through the "AR Codes" section or through the "Gecko Codes" section.

    This seems to indicate to me that the issue lies with the particular code I'm trying to use to set Mario's visibility (which is taken straight from the "invisible mario/luigi toggle" code by wiiztec on the second page I linked). Unfortunately, I'm not aware of any other address I can try to change to adjust it (in no small part because I'm having trouble finding anything in the game that turns Mario invisible briefly so I can do a cheat search...). If anyone knows of a code I can use here, or if I'm doing anything wrong, it'd be quite appreciated.

    (Also, small tangent: is it more proper to call these AR codes or Gecko codes? I know there was an AR for Wii that, IIRC, used an entirely different code format which isn't compatible here. But Dolphin seems to give the impression that "AR codes" are meant to be the custom ones you create, and "Gecko codes" are meant to be the pre-existing ones that you can get from WiiRD? So I'm not sure which is more correct to use here, lol.)
    Last edited by SuperSupermario24; 01-29-2018, 12:03:06 AM.
    ヽ(*・ω・)ノ Be Happy

  • #2
    Originally posted by SuperSupermario24 View Post
    Code:
    28A777DA 00000001
    02E40E7A 00002328
    2AA777DB 00000001
    02E40E7A 00002327
    E2000001 00000000
    This code does work properly
    because you need other Terminator code
    28A777DA 00000001
    02E40E7A 00002328
    E2000001 00000000
    2AA777DB 00000001
    02E40E7A 00002327
    E2000001 00000000
    lee4 Does Not Accept Codes Requests !
    When lee4 asks a question it does not mean lee4 will look at your game
    *How to create and use SegaCD codes >click here<*
    >)

    Comment


    • #3
      Originally posted by lee4 View Post

      because you need other Terminator code
      28A777DA 00000001
      02E40E7A 00002328
      E2000001 00000000
      2AA777DB 00000001
      02E40E7A 00002327
      E2000001 00000000
      I said that the second code does work properly. And I don't see why the additional endif line should be necessary, since I added 1 to the address in line 3 (making it end with B instead of A) to do that.

      EDIT: Back at home now, I just went and checked, and yeah, adding the extra E2 line to either code makes no difference to anything.
      Last edited by SuperSupermario24; 01-30-2018, 06:38:40 PM.
      ヽ(*・ω・)ノ Be Happy

      Comment


      • #4
        This is due to dolphin caching asm on boot. You can't directly change asm instructions in memory while the game is running. Here this should work

        C2384DC4 00000004
        8005000C 3D8080A7
        618C77DB 898C0000
        2C0C0001 40820008
        38000001 00000000
        Last edited by wiiztec; 05-05-2021, 03:17:16 AM.

        Comment


        • #5
          Oh hey, I just came across this again. Just wanted to say thanks, this works perfectly!
          ヽ(*・ω・)ノ Be Happy

          Comment

          Working...
          X