• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Melee Gecko Codes + Guide and Discussion

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
@ Morin0 Morin0

Disable Spot Dodge
04099894 4E800020

@ Achilles1515 Achilles1515

have you experienced an issue where Player 1 freezes? it's pretty similar to the ice climber freeze glitch.

player one can still pause and reset. when i reset the match the problem goes away. just don't want it to come up during an important match or something :^(

hopefully you've heard of this before and have a solution. searching the thread for "player one" or "freeze" doesn't really yield much lol.
Are you talking about in the 20XX pack or in your vanilla smash ISO?

The things in the 20XX pack that freeze P1 (on purpose) is if Frame Counter is on and P1 presses D-Pad Up to taunt, and then also SDI Freeze toggle.

EDIT: Yoshi's spot dodge was not affected in original code. It has been updated to include him.
 
Last edited:

Morin0

Smash Lord
Joined
Oct 9, 2007
Messages
1,907
Location
San Diego, CA
Awesome. I would like to see some other codes (like removing light shielding), but I don't want to bother you with requests. How do you figure this stuff out? I'd like to try creating my own codes.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
What determines whether the code is executed as Gecko vs. Action Replay? The place I'm enabling it is in the "Gecko Codes" tab of the Cheats manager. Also, there's nothing in the AR Codes tab.

When I say activate I mean opening the Cheats Manager, going to the Gecko Codes tab, and selecting the checkbox to toggle the code to on/enabled there, like this:

View attachment 34248

I tried doing that during and before a match, and also before booting the game. I also just now tried Classic Mode, and for some reason it worked for P2 in that. They didn't appear to be affected more by gravity. Knockback also I think worked normally, but it was kind of hard to tell since knockback is adjusted differently in Classic Mode anyway and I don't play it a lot. I'd experiment more with taking the code apart myself to see what I could find, but I haven't really had more than 15 minutes at home for this these last few days. Have you or others gotten it to work?


Gave this a shot real quick. It works, but also results in a strange state while he's launching his hookshot before it connects (the state for falling into the camera, lol):

View attachment 34249

So apparently 0x0 strangely doesn't equate to the "idle" action state in v1.02.

Without the code activated, I noted his state displayed as 312 (where it says DEADUPFALLHITCAMERA above) for before connecting to a surface, and 313 for when the hookshot has connected. Don't know what action state IDs those equate to though.

Seems like the code should still work though if you find the right state to set him to, which I imagine should be what is compared against in the "If the character state ID = 0" check. Are you sure it still compares against 0 in 1.02 and not something else? (Although I admit it would make sense for it to be 0.) Weird. Unless they made it so that he can't be in that state while shooting the hookshot, so it defaults to something else.
Thats really inciteful. Are these IDs known like in masterhand or on that wiki with random id information or did you look at the value stored at some offset?
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Awesome. I would like to see some other codes (like removing light shielding), but I don't want to bother you with requests. How do you figure this stuff out? I'd like to try creating my own codes.
You have to start with this video.

Thats really inciteful. Are these IDs known like in masterhand or on that wiki with random id information or did you look at the value stored at some offset?
DRGN was talking about Action State IDs, but I was talking about a different state ID, specific to Link and Young Link. Action State IDs are found on the SSBM 1.02 Memory Offsets Google Spreadsheet, in the sheet titled "Action State Reference".
 
Last edited:

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
I'm honestly not really sure, I've never worked with subactions. I think some action states have multiple subactions tied to it for different parts of the animation. I could be totally wrong on that though.
That spreadsheet is truly amazing. So many possibilities. I seem to remember IE having a sound id finder code. Does anyone know where I could find it.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
That spreadsheet is truly amazing. So many possibilities. I seem to remember IE having a sound id finder code. Does anyone know where I could find it.
[COLLAPSE="Sound Effect ID Finder/Tester"]
Code:
8038CFF4: Play sound effect

Code:
[InternetExplorer]
80578000: Set this to the SFX ID you want to play.
80578004: Stores the ID of the last played sound effect.

If you hold D-pad right, the next played sound effect will be the specified ID instead of the usual sound. Then, the specified ID is incremented.
Holding D-pad left will decrement the ID instead.

(1.02)
C238CFF4 0000000A
3DE08046 61EFB109
8A0F0000 3DE08057
61EF8000 822F0000
906F0004 2C100002
41820010 2C100001
41820014 48000018
7E238B78 3A310001
4800000C 7E238B78
3A31FFFF 922F0000
7C0802A6 00000000

lis r15,0x8046
ori r15,r15,0xb109
lbz r16,0(r15)
lis r15,0x8057
ori r15,r15,0x8000 lwz r17,0(r15)
stw r3,4(r15)
cmpwi r16,2
beq PLUS
cmpwi r16,1
beq MINUS
b END

PLUS: mr r3,r17
addi r17,r17,1
b END

MINUS:
mr r3,r17
subi r17,r17,1

END:
stw r17,0(r15) mflr r0

0000 - 00A9: In-game sound effects
00AA: Trophy get 
00AB: Award jingle 
00AC: Menu back 
00AD: Menu forward 
00AE: Menu up/down 
00AF: Menu access denied 
00B0: Bubble damage sound 
00B1: Pause sound 
00B2: Star Fox intercom sound 
00B3: Results screen left/right 
00B4: Results screen coin get 
00B5 - 00C1: Misc menu sounds
00DB - 013C: Item sounds 
013D - 014B: Crowd sounds 
014C - 020A: Walking sound effects (lots of repeats) 
4E20: Narrator game title shouts 
7530: Narrator game modes 
9C40: Narrator single-player phrases 
C350: Narrator versus phrases 
7C830: Narrator character calls + Additional phrases
[/COLLAPSE]
 
Last edited:

trasheater64

Smash Rookie
Joined
Sep 19, 2014
Messages
9
Location
Merced, CA
I'm currently trying to load ocarina codes through DIOS MIOS lite, but i can't get it to work.

sd:/games/GAMEID/game.iso
sd:/games/GAMEID/GAMEID.gct

i've also tried
d:/codes/GAMEID.gct

cheats are turned on in the DIOS MIOS configuration.

I got the GAMEID from DMToolbox when i compressed the game, got the codes from geckocodes.org, made the gct with codemgr. not sure what's goin on.
 
Last edited:

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Are you referring to how to find the address. Because Im pretty sure Im at the right one seeing as how all the other addresses match. Its just that when I change those nothing happens. Are they not floats? Well I guess the more likely thing is that this only stores the current color value and is not what the game reads to determine what value to render.
are you turning the color tint byte on as well? Unless you have a code write a color every frame of the game, the moment the character changes to a new action state, the color will disappear.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
are you turning the color tint byte on as well? Unless you have a code write a color every frame of the game, the moment the character changes to a new action state, the color will disappear.
Not a code. I was just playing with the values in the ram with a debug build. I was only using the wait animation though. Also what about the tint.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
Oh wow. Its a byte. I had been changing the word. Sorry about that and thanks for the help.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
Don’t use the Cheats Manager for Gecko codes. Idk how to use it but it’s different and stupid.

-Right click on the SSBM game banner and hit “Properties”.
-Then hit the “Gecko Codes” tab at the top. You’ll see all your codes (which are located in the GALE01.ini file, not GameSettings or whatever).

-To add new codes, hit “Edit Config” at the bottom left and it automatically brings up the GALE01.ini file. Add codes here. Then save and close out of the text file and make sure they are checked. Then start game.

View attachment 34268

If you want a Gecko code to run, you must enable codes and have the specific codes on before you start the game up with Dolphin. You can’t completely turn on/off the Gecko codehandler midgame.


And thanks for testing the boomerang cancel code! I'll try and look into that later today.
Could you explain what ninja fighters does. Ive been wanting to test the ar code for the longest but never got to it.
 

trasheater64

Smash Rookie
Joined
Sep 19, 2014
Messages
9
Location
Merced, CA
I'm currently trying to load ocarina codes through DIOS MIOS lite, but i can't get it to work.

sd:/games/GAMEID/game.iso
sd:/games/GAMEID/GAMEID.gct

i've also tried
d:/codes/GAMEID.gct

cheats are turned on in the DIOS MIOS configuration.

I got the GAMEID from DMToolbox when i compressed the game, got the codes from geckocodes.org, made the gct with codemgr. not sure what's goin on.

someone pls help meh !

@ Achilles1515 Achilles1515 ?
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
I'm currently trying to load ocarina codes through DIOS MIOS lite, but i can't get it to work.

sd:/games/GAMEID/game.iso
sd:/games/GAMEID/GAMEID.gct

i've also tried
d:/codes/GAMEID.gct

cheats are turned on in the DIOS MIOS configuration.

I got the GAMEID from DMToolbox when i compressed the game, got the codes from geckocodes.org, made the gct with codemgr. not sure what's goin on.

someone pls help meh !

@ Achilles1515 Achilles1515 ?
I just use CFG Loader to run codes.
http://smashboards.com/threads/the-...costumes-new-debug-menu.351221/#post-16535884
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
So you boot into DIOS MIOS from USB loader, and it'll load the cheats with USB loader still?

Do you put the codes in USB:/codes/GAMEID.gct, and that's it?
No. From the homebrew channel I select CFG Loader. and then just do exactly as that guy says. CFG Loader automatically creates a gct file.

All you need to do is make a text file like that guy says, in the format:

CODENAME
xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx

CODENAME2
xxxxxxxx xxxxxxxx
xxxxxxxx xxxxxxxx

CODENAME3...
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Code:
Disable Teams Mode Stock Steal
0416B918 4E800020
Code:
Start Button or A+B for Teams Mode Stock Steal
- Now allows for buffering this command.
0416BA04 7C00DA14
0416BA08 1DE0000C
0416BA0c 7C0FE22E
C216BA10 00000005
540F04E6 2C0F1000
41820018 540005AE
2C000300 40820008
48000008 38000000
60000000 00000000
By buffering I mean that if you hold A+B (or Start, but with this you still run the risk of pausing the game) during death animation, you will steal a stock as soon as possible. Let me know if anything doesn't work as expected.
 
Last edited:

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
If I wanted to write a code so that you couldnt shield, could someone tell me how to go about it?
 

darkside1222

Smash Cadet
Joined
Apr 22, 2010
Messages
31
I got another question, you know how super mushrooms make you like 1.80 times stronger and scales you up by that amount?

Is it possible to make you deal more damage while retaining your original character scale?
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
I got another question, you know how super mushrooms make you like 1.80 times stronger and scales you up by that amount?

Is it possible to make you deal more damage while retaining your original character scale?
I'll surely check on this later. I want to make various codes about items, and being related with this, I'll check to change offensive-defensive ratio/% damage with shrooms instead of size.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
If I wanted to write a code so that you couldnt shield, could someone tell me how to go about it?
You can't simply disable the GuardON/GuardReflect action states to removing shielding, which was my first thought on the subject. This is due to the other associated properties of shielding still being applied to the character (like stopping momentum, etc.). So in order to disable shielding, you need to modify the "Shield" function that gets branched to during the interrupt functions for the wait/dash/run, etc. action states. And basically just make it think that L/R has not been pressed.

Disable Shielding (1.02)
04091afc 48000024
04091b28 4800000c
04091a64 48000024
04091a90 4800000c

The downside is that spot dodging and rolling become very ineffective without a shield. You'll see what I mean if you play with the code.
 
Last edited:

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
You can't simply disable the GuardON/GuardReflect action states to removing shielding, which was my first thought on the subject. This is due to the other associated properties of shielding still being applied to the character (like stopping momentum, etc.). So in order to disable shielding, you need to modify the "Shield" function that gets branched to during the interrupt functions for the wait/dash/run, etc. action states. And basically just make it think that L/R has not been pressed.

Disable Shielding (1.02)
04091afc 48000024
04091b28 4800000c
04091a64 48000024
04091a90 4800000c

The downside is that spot dodging and rolling become very ineffective without a shield. You'll see what I mean if you play with the code.
Could I get a break down of this code. Im trying to understand how to find these things. I assume that its broken into l and r. I really appreciate it btw.
Edit: Oh I think I understand. I really need to look at the ssbmo address sheet some more. Are those the addresses for action states? Does anyone know how to change a characters state? It says that changing the state byte alone isnt enough.
 
Last edited:

darkside1222

Smash Cadet
Joined
Apr 22, 2010
Messages
31
I'll surely check on this later. I want to make various codes about items, and being related with this, I'll check to change offensive-defensive ratio/% damage with shrooms instead of size.
Thanks a lot. I was thinking the same things with items
 

Starreaver1

Smash Apprentice
Joined
Oct 12, 2013
Messages
132
Location
Minneapolis, MN/Princeton, NJ
I'm trying to write a code where pressing Z at the CSS selects a random character for you. Checking for the Z button input and randomizing character IDs isn't a problem, I just don't know how to make it select the character. If you have your token placed on a character, and you change the RAM value that determines which character you are, it will move the token to that character and your character will be changed; however your character name and CSP remain the same as what you had your token on originally, which is the problem. I haven't been able to figure this out, was hoping someone here might have some insight.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
I'm trying to write a code where pressing Z at the CSS selects a random character for you. Checking for the Z button input and randomizing character IDs isn't a problem, I just don't know how to make it select the character. If you have your token placed on a character, and you change the RAM value that determines which character you are, it will move the token to that character and your character will be changed; however your character name and CSP remain the same as what you had your token on originally, which is the problem. I haven't been able to figure this out, was hoping someone here might have some insight.
Youd probably have to find each address that is responsible.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
1) Open SSBM 1.02 in Debug Dolphin.
2) In memory tab, dump MRAM.
  • don't have the above code active.
3) Open that ram.raw file up in hex editor.
4) Open 1.02 DOL in hex editor.

5) Go to offset 0x21AAB0 in the ram.raw file (this was the line from the gecko code).
6) Copy that line and a few adjacent lines in the ram.raw.
7) Go to the DOL and search for those lines that you copied.
8) Write the value from that code at the line it finds in the DOL that is identical to 0x21AAB0 in the ram.

btw, I think I noticed that the above code adds wind to the right side of FD, along with disabling the background transitions?????

Oh wait...PAL.

Instead of opening the 1.02 DOL, try it with the PAL DOL.
Did you ever confirm whether or not the code to disable background transformations adds wind to FD.
 

Starreaver1

Smash Apprentice
Joined
Oct 12, 2013
Messages
132
Location
Minneapolis, MN/Princeton, NJ
I just updated the code on the main post. Dan found a fix for it a few months ago that doesn't include the wind.
I was about to go look for a fix for that myself because my friends were complaining about hair and capes and stuff spazzing out and looking weird haha. Thanks for the code guys. Also, did you ever fix the hand defaulting to HMN code making the player a CPU after name select (only does that for me when you enter a full nametag oddly enough)? Asking because I've been looking at modifying Dan's name entry code and I mighttt happen upon a solution for the bug. Just wanna know if I should keep an eye out for anything related to the bug or if you've fixed it already.

Youd probably have to find each address that is responsible.
Haven't had much success with just searching but I'll keep at it for now. I was also wondering if anyone knew how the game's vanilla "random character select" works as there could be useful data for me there.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
I was about to go look for a fix for that myself because my friends were complaining about hair and capes and stuff spazzing out and looking weird haha. Thanks for the code guys. Also, did you ever fix the hand defaulting to HMN code making the player a CPU after name select (only does that for me when you enter a full nametag oddly enough)? Asking because I've been looking at modifying Dan's name entry code and I mighttt happen upon a solution for the bug. Just wanna know if I should keep an eye out for anything related to the bug or if you've fixed it already.


Haven't had much success with just searching but I'll keep at it for now. I was also wondering if anyone knew how the game's vanilla "random character select" works as there could be useful data for me there.
I have not looked into fixing that yet.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
NOTE: Don't use the below code. Use this one instead.

CSS Hands Default to HMN Button (with bug fix) (1.02)
044DC47C C0200000
C2261A6C 00000004
2C110000 40820014
3DE08026 61EF1B6C
7DE903A6 4E800420
1C130024 00000000

Alright. So what was happening is that the portion of a CSS function relating to "clicking an on-screen button and having an action occur" is executed whenever you successfully create a name tag (and also whenever you click the HMN/CPU button and when initially opening the name tag select box). So different actions occur for different buttons, and the game decides what action to execute based on the current cursor position. So when the button action code lines were executed after making a name tag, it looked at the cursor position (which was changed to be above the HMN/CPU button), and then it acted as though it was pressing that button.

At the beginning of the button action code subfunction, I noticed r17 had a value of 0 in it after creating a name tag. Anytime else these lines were executed, r17 seemed to have a value of 4. So I just added in a blip of custom ASM to check if r17 was 0 and if so, to skip over the button action subfunction (which is what normally happens with the vanilla CSS hand location).

Code:
Fix Player Hands Default to HMN Button Bug

Inject @ 80261a6c

cmpwi r17,0
bne- END
lis r15,0x8026
ori r15,r15,0x1b6c
mtctr r15
bctr

END:
mulli r0,r19,36    //default code line at 80261a6c
 
Last edited:
Top Bottom