• 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

jacob91

Smash Cadet
Joined
Feb 4, 2005
Messages
39
Hey, uhh, the SSBM Code Tools download link in the OP is dead, where might I find an alternate download link?
 
D

Deleted member

Guest
@Dan Salvato Hey! I used an online GCT creator so i can use the taunt battle gecko code but when i put the code in it said "there is no such code." Plz help.
You have to use the GCTEditor, which can be found here, note that this requires installing java for it to work.
 
D

Deleted member

Guest
Is there a guide on how to use this program? Or can you tell me how to use this plz?
Alright, here I go! :4luigi:
1. Download the program
2. Install Java if you haven't already
3. Open up Notepad
4. On line 1 of your notepad, Copy and Paste

"Super Smash Bros. Melee

Version 1.2"

In that exact format (don't include the quotation marks)
5. Create a line from "Version 1.2" and then proceed to put all of your codes on the notepad.
6. Save the notepad, and call it "GALE01.txt"
7. Open up GCTEditor
8. From the GCTEditor, open up the GALE01.txt
9. From there, click "Export" (Make sure not to click any of the recommended codes, those are for Brawl)
10. Once at the Export screen, type in "GALE01"
11. Press save
12. Proceed to insert your newly created .gct into it's intended location
13. Enjoy having just created your own .gct independently of geckocodes.org!
 

Silent J

Smash Rookie
Joined
Oct 7, 2014
Messages
16
Anyone have the code "Press Z to change character to SoPo/wireframes/giga bowser/Sheik" like in 20xx training pack?
achilles made a thread about it I believe. and theres point buried in the hacks thread about it.
I'm curious about this as well if there's anything out there about it - hacks thread meaning melee, hacks and you? I'm probably searching the wrong phrases...
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
I'm curious about this as well if there's anything out there about it - hacks thread meaning melee, hacks and you? I'm probably searching the wrong phrases...
I've extracted that code from 20XX 3.0.2, I'm sure the most recent version would have a better code (he said he improved most codes), but it does the job. Code in the spoiler.

Z button to toggle alternate characters in CSS (1.02) [Achilles1515]
C2262F48 0000002E
3E008048 62100830
89F00000 3E608046
6273B0FC 3A200000
A693000C 3A310001
3EA0804D 62B59274
3EC0803F 62D20DE4
1EB10024 7E52AA14
8AF20001 A2520002
3EA08043 62B52087
1DD10008 7EB57214
8AB50000 2C150021
408200F4 2C140010
408200EC 2C0F0000
418100DC 2C120C0C
418200B4 2C120F0F
41820040 2C120404
4182005C 2C120707
41820078 2C120303
408200BC A2B60B78
2C150505 40820010
3AA0051D B2B60B78
4800009C 3AA00505
B2B60B78 48000090
A2B60CC8 2C151212
40820010 3AA01213
B2B60CC8 48000078
3AA01212 B2B60CC8
4800006C A2B60B94
2C150C0C 40820010
3AA00C1C B2B60B94
48000054 3AA00C0C
B2B60B94 48000048
A2B60BE8 2C150000
40820010 3AA0001B
B2B60BE8 48000030
3AA00000 B2B60BE8
48000024 A2B60C74
2C150E0E 40820010
3AA00E20 B2B60C74
4800000C 3AA00E0E
B2B60C74 39E0000A
48000010 2C0F0000
41820008 39EFFFFF
99F00000 2C110004
4180FEB8 3CA0804A
60000000 00000000
 
Last edited:

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
"Smash Turn" being this mechanic: http://www.meleeitonme.com/back-dashes-smash-turns/

Flash Blue on Missed Smash Turn (v1.00) [Magus]
C20C9790 0000000F
A11E0448 2C084000
40820064 811E23A8
2C080000 41820058
811E23B0 2C080000
4182004C 3CE042C0
3D00437F 39200000
90FE0518 90FE051C
911E0520 913E0528
913E052C 913E0530
3CE0C200 3D00C280
39200091 3D406060
614AFFE0 90FE0524
911E0534 993E0564
915E0514 801F2358
60000000 00000000

Flash Blue on Missed Smash Turn (v1.02) [Magus]
C20C9B48 0000000F
A11E0448 2C084000
40820064 811E23A8
2C080000 41820058
811E23B0 2C080000
4182004C 3CE042C0
3D00437F 39200000
90FE0518 90FE051C
911E0520 913E0528
913E052C 913E0530
3CE0C200 3D00C280
39200091 3D406060
614AFFE0 90FE0524
911E0534 993E0564
915E0514 801F2358
60000000 00000000

Code:
CHECK_IF_SLOW:
lhz    r8,0x448(r30)    # animation frame
cmpwi    r8,0x4000    # frame 2 of Turn
bne-    END        # skip code if not frame 2 of Turn action

lwz    r8,0x23A8(r30)
cmpwi    r8,0        # 0 if not past 0.8 dash threshold on frame 2 of Turn
beq-    END        # skip if dash after slow turn will not activate if held (standing turn)

lwz    r8,0x23B0(r30)
cmpwi    r8,0        # 0 if no slow turn delay (smash turn, but didn't dash)
beq-    END        # skip if pivot

ENABLE_OVERLAY:
lis    r7,0x42C0    # 42C00000 (96)
lis    r8,0x437F    # 437F0000 (255)
li    r9,0        # 00000000 (0)
stw    r7,0x518(r30)    # Red = 96
stw    r7,0x51C(r30)    # Green = 96
stw    r8,0x520(r30)    # Blue = 255
stw    r9,0x528(r30)    # Red Transition = 0
stw    r9,0x52C(r30)    # Green Transition = 0
stw    r9,0x530(r30)    # Blue Transition = 0

lis    r7,-0x3E00    # C2000000 (-32)
lis    r8,-0x3D80    # C2800000 (-64)
li    r9,0x91        # flag to enable flash overlay
lis    r10,0x6060
ori    r10,r10,0xFFE0    # 6060FFE0. Initial RGBA
stw    r7,0x524(r30)    # Alpha = -32
stw    r8,0x534(r30)    # Alpha Transition = -64
stb    r9,0x564(r30)    # enable flash overlay
stw    r10,0x514(r30)    # Initial RGBA = 96/96/255/224

END:
lwz    r0,9048(r31)    # entry point (800C9B48)



----------------------------------------

This makes the smash turn mechanic not dumb and match the input to dash forward:

Smash Turns Have a 2 Frame Input Window (v1.00) [Magus]
C20C9794 00000005
A11E0448 2C084000
40820018 811E23A8
2C080000 4182000C
39000000 911E23B0
2C000000 00000000

Smash Turns Have a 2 Frame Input Window (v1.02) [Magus]
C20C9B4C 00000005
A11E0448 2C084000
40820018 811E23A8
2C080000 4182000C
39000000 911E23B0
2C000000 00000000

Code:
CHECK_IF_SLOW:
lhz    r8,0x448(r30)    # animation frame
cmpwi    r8,0x4000    # frame 2 of Turn
bne-    END        # skip code if not frame 2 of Turn action

lwz    r8,0x23A8(r30)
cmpwi    r8,0        # 0 if not past 0.8 dash threshold on frame 2 of Turn
beq-    END        # skip if no dash input by frame 2
li    r8,0
stw    r8,0x23B0(r30)    # clear slow turn delay timer if dash input by fr2

END:
cmpwi    r0,0        # entry point (800C9B4C)
Achilles1515 Achilles1515 , what do you think of this as an option in 20XX? I wonder if it should even be enabled by default. Considering the technical details of vanilla turning (basically that even identical inputs can result in different animations), the normal turn mechanic seems kinda like a milder Brawl tripping, and it just seems like a bad/unintentional design flaw IMO.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Achilles1515 Achilles1515 , what do you think of this as an option in 20XX? I wonder if it should even be enabled by default. Considering the technical details of vanilla turning (basically that even identical inputs can result in different animations), the normal turn mechanic seems kinda like a milder Brawl tripping, and it just seems like a bad/unintentional design flaw IMO.
I'll never enable it by default in 20XX because it is not vanilla in any SSBM version. Albeit a stupid mechanic, it is what it is. I love the analogy. These are both great codes by Magus and I do plan on putting them both in 20XX as options. I still need to make that damn "Mechanics Codes" Debug Menu page...
 

Bombar

Smash Rookie
Joined
Nov 14, 2015
Messages
18
is there a code that disables birdo on mushroom kingdom II? sd remix doesn't have birdo and was wondering if it's a code or just a stage mod
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
I'll never enable it by default in 20XX because it is not vanilla in any SSBM version. Albeit a stupid mechanic, it is what it is. I love the analogy. These are both great codes by Magus and I do plan on putting them both in 20XX as options. I still need to make that damn "Mechanics Codes" Debug Menu page...
Understandable. Cool though.

is there a code that disables birdo on mushroom kingdom II? sd remix doesn't have birdo and was wondering if it's a code or just a stage mod
:O Disable Birdo!? I love when Birdo appears, so I can catch her eggs and throw them at people. They're amazing.
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
I just don't like how he walks on air in the custom mushroom kingdom 2 lol
Oh! lol, that makes sense.

Or maybe she could have a different texture, to make her into some kind of flying thing. And then the eggs could be something else too, like missiles or something, lol.
 

Decipio-Carmen

Smash Apprentice
Joined
Apr 2, 2010
Messages
88
Where are the RRGGBB values for the Blue costume for the Marth sword swing colors code? I noticed that the values marked RRGGBB change the color of the inner sword swing. Is it possible to change both colors, or do they get the outer sword swing color from the values shown in the Changing Color Effects thread?

Edit: After some testing, I found that for some reason, the code for costume dependent sword swing colors will stop working if the Sword Swing value in PIMs.dat (from the Changing Color Effects thread) has been changed.
 
Last edited:

maxwood38

Smash Rookie
Joined
Nov 12, 2015
Messages
3
Hey,
So I'm trying to use the Gecko Codes in the Netplay Build to play online and its just blank. If I try and download the codes, it just errors. If I use the new 20xx (beta 4, thanks achilles), and my 1.02 iso, they both allow me to use codes, but the Netplay Build wont. What do I do?
 

maxwood38

Smash Rookie
Joined
Nov 12, 2015
Messages
3
Wait, I seem to have fixed it by copying the codes from the notepad file of 20xx into the community build notepad. Not sure if it will work yet, but I haven't seen this anywhere online before.
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Wait, I seem to have fixed it by copying the codes from the notepad file of 20xx into the community build notepad. Not sure if it will work yet, but I haven't seen this anywhere online before.
Wouldn't recommend it, since Netplay build has pre-existing DOL edits. Same with 20XX.

The only reason 20XX has codes shown is because it uses the vanilla Melee 1.02 game ID, while Netplay Community Build does not.
 

maxwood38

Smash Rookie
Joined
Nov 12, 2015
Messages
3
Wouldn't recommend it, since Netplay build has pre-existing DOL edits. Same with 20XX.

The only reason 20XX has codes shown is because it uses the vanilla Melee 1.02 game ID, while Netplay Community Build does not.
ok so this didn't work, and I see that a lot of people are having this problem on the smashladder chats and stuff. I have the right ISO, and version Dolphin and setup, But no codes. I saw that someone else said their version of dolphin didnt come with codes, so how do I fix this for the Netplay Version (which runs fastest for me)?
 

Myougi

My posts are gluten free.
Joined
Mar 14, 2014
Messages
484
Location
WEST COAST BEST COAST
ok so this didn't work, and I see that a lot of people are having this problem on the smashladder chats and stuff. I have the right ISO, and version Dolphin and setup, But no codes. I saw that someone else said their version of dolphin didnt come with codes, so how do I fix this for the Netplay Version (which runs fastest for me)?
Remember, Melee 1.02 ≠ Melee Netplay Community Build.

Any guides for setting up netplay in general will assume you want to use a Melee 1.02 ISO. These guides don't don't really 'overlap' for the Community Build; there are extra steps that can be ignored. If you're wanting to use a Melee 1.02 ISO, you will need to go to the Gecko Codes tab and check 'Netplay Community Settings'. If you're using the Community Build, which is a completely different ISO, you don't need any codes since they are already injected into the ISO itself.

Again, If you're using the Melee Netplay Community Build, you don't need to have any AR codes or Gecko codes whatsoever. There aren't any codes that are supposed to show up anyway.
 
Last edited:

ssknight7

Smash Apprentice
Joined
Oct 8, 2014
Messages
136
Achilles1515 Achilles1515 or anyone else, is there a simple way I can insert a delay into falco's short hop laser function in 20XX?

I'd like to slow down the rapidity with which falco short hop lasers. Is there a way to tell it to only perform the short hop laser every 1 second or every 2 seconds or something? I know this would be a gecko code, I tried to isolate the part of 20xx that is responsible for the short hop laser but not enough free time to track it down
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
How do you get around the caching issue? I have the "Flush Cache on Scene Change" code enabled but I still can't get Dolphin to hit my break point every time/ run my injected function every time.

Achilles1515 Achilles1515 @Dan Salvato
I’m not sure exactly what you mean, and need to know the context of your code and the manner in which you are conditionally executing it.

Not sure if this helps or not –

How to flush cache at any time for a specific line:

- Specific address to flush in r3 (arbitrary addresses used)

li r0,0
icbi r0,r3
sync
isync
Achilles1515 Achilles1515 or anyone else, is there a simple way I can insert a delay into falco's short hop laser function in 20XX?

I'd like to slow down the rapidity with which falco short hop lasers. Is there a way to tell it to only perform the short hop laser every 1 second or every 2 seconds or something? I know this would be a gecko code, I tried to isolate the part of 20xx that is responsible for the short hop laser but not enough free time to track it down
Maybe. But that code is such a pile of sh*t that I never want to do anything with it again. The new Falco AI lasers well. You'll like it.
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Dolphin automatically invalidates the icache when it patches in Gecko codes, and if a code is patched in through a different method, like Dolphin, it checks that case and the HLE invalidates the icache.

https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/Core/GeckoCode.cpp#L146
https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/Core/HLE/HLE_Misc.cpp#L42

If you're running into an issue, your function may be running during an OSDisableInterrupts. I've seen a few functions that would only run at seemingly random times, until I moved it past the point where interrupts where re-enabled. I do not know why this is the case.
 

dorito dog princess

Smash Rookie
Joined
Feb 16, 2016
Messages
4
Anyone have any information on the codes used in 20XX 4.0b that allow for two alternate costumes by pressing L or R at the CSS? I would like to add this feature to vanilla melee.
 
D

Deleted member 337186

Guest
is there a new download link for SSBM Code Tools? im just about to get into using gecko codes on my wii but the download link is broken... :/
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
Stalled damage used for knockback (1.02) [flieskiller]
04079bfc C0031838

Instead of using the full damage for knockback, it's the stalled damage instead (move damage is used in the formula for knockback).
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Stalled damage used for knockback (1.02) [flieskiller]
04079bfc C0031838

Instead of using the full damage for knockback, it's the stalled damage instead (move damage is used in the formula for knockback).
Do you mean, like, damage from stale moves instead of the damage the move would've dealt non-stale? Cause I thought the formula was based on damage dealt already.

Or are you talking about moves that initially have set KB?
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
Do you mean, like, damage from stale moves instead of the damage the move would've dealt non-stale? Cause I thought the formula was based on damage dealt already.

Or are you talking about moves that initially have set KB?
I'm sure the game always used base damage for knockback. In that function where it calculates the knockback, it used a non-decimal number of the damage of the attack. It then multiplies that attack's damage with the % of the player. Setting the line of my code to always being 0 only uses base knockback for attacks. My code loads directly the stalled damage instead of the base damage (that comes from a substraction)
 

GunBlaze

Smash Lord
Joined
May 6, 2012
Messages
1,854
Location
Santo Domingo, Dominican Republic
Slippi.gg
GBLZ#778
I'm sure the game always used base damage for knockback. In that function where it calculates the knockback, it used a non-decimal number of the damage of the attack. It then multiplies that attack's damage with the % of the player. Setting the line of my code to always being 0 only uses base knockback for attacks. My code loads directly the stalled damage instead of the base damage (that comes from a substraction)
So, in a way, this makes the game actually take staleness into account, thus making the strength loss more noticeable?
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
So, in a way, this makes the game actually take staleness into account, thus making the strength loss more noticeable?
not more noticeable, it changes something now.if you up-smash a Puff to arrive at 100% on FD, it would die fast. But with the staleness included at maximum (10 stales from the stale table), I'm sure it wouldn't kill because the move would hit at around half damage (9%), which would be similar to the bair in term of knockback
 

GunBlaze

Smash Lord
Joined
May 6, 2012
Messages
1,854
Location
Santo Domingo, Dominican Republic
Slippi.gg
GBLZ#778
not more noticeable, it changes something now.if you up-smash a Puff to arrive at 100% on FD, it would die fast. But with the staleness included at maximum (10 stales from the stale table), I'm sure it wouldn't kill because the move would hit at around half damage (9%), which would be similar to the bair in term of knockback
Just like Brawl's staleness... Ew...
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
Just like Brawl's staleness... Ew...
Yeah, kind ew, it would make the game kinda different. Falco shining makes the enemy go lower each shine, it's something worth trying. It makes Fox OP because he can unstall his moves with his lasers
 

omegagmaster

Smash Cadet
Joined
Dec 20, 2015
Messages
44
Hey, I've been getting into Gecko codewriting lately, and it's really interesting. Anyways, I'd like to get into writing more codes (other than just memory edits) by using breakpoints but it requires compiled Dolphin, which I cannot get. I'm running Mac OS X and I'd like to know how to compile Dolphin so I can create breakpoints. If someone could help me out I'd be grateful.

Edit: I found this bugfix instructions for compiling it with ffmpeg:

https://bugs.dolphin-emu.org/issues/7933

I also found a thread for DebugFast dolphin and how to do it on Mac, so I combined both to get 3.5 Dolphin DebugFast in attempt to get breakpoints. But, it didn't work. Can someone help me out?

Edit 2: I realized you actually can set breakpoints within the Memory and Code tabs, but now whenever I set a memory breakpoint the game freezes until I take off the breakpoint, in which it can be resumed by pressing Play. The thing is, I'm aware the game pauses (by pause i mean through emulator) when it hits a breakpoint, but the game freezes when the breakpoint hasn't even been hit. Also, gameplay in general is really slow. If someone could help me out with this new issue I would be grateful.
 
Last edited:

Punkline

Dr. Frankenstack
Joined
May 15, 2015
Messages
423
Hey, I've been getting into Gecko codewriting lately, and it's really interesting. Anyways, I'd like to get into writing more codes (other than just memory edits) by using breakpoints but it requires compiled Dolphin, which I cannot get. I'm running Mac OS X and I'd like to know how to compile Dolphin so I can create breakpoints. If someone could help me out I'd be grateful.

Edit: I found this bugfix instructions for compiling it with ffmpeg:

https://bugs.dolphin-emu.org/issues/7933

I also found a thread for DebugFast dolphin and how to do it on Mac, so I combined both to get 3.5 Dolphin DebugFast in attempt to get breakpoints. But, it didn't work. Can someone help me out?

Edit 2: I realized you actually can set breakpoints within the Memory and Code tabs, but now whenever I set a memory breakpoint the game freezes until I take off the breakpoint, in which it can be resumed by pressing Play. The thing is, I'm aware the game pauses (by pause i mean through emulator) when it hits a breakpoint, but the game freezes when the breakpoint hasn't even been hit. Also, gameplay in general is really slow. If someone could help me out with this new issue I would be grateful.
Hey! Awesome to see you picking this up!

It sounds like you got debugFast working; which despite its name is actually very slow. You'll usually see a huge FPS drop while using debugFast, and it's normal.

The freezing that you're describing sounds like you might be confusing Memory Checks with Breakpoints? They're blue and red, respectively; and are assigned by either going to the memory or code tabs like you mentioned. You can actually use regular old breakpoints in the normal version of Dolphin; it's memory checks that are unique to the compiled version iirc.

If you set a (blue) memory check in the memory tab, it will pause the code at a place that reads/writes to/from that memory address. If you're seeing something constantly freeze after setting a memory check, remember that it's the code that is pausing; so look where the code has stopped in the code tab to see if it's simply a popular memory address that keeps getting read/written to by something(s)

Also, sometimes after setting a (red) breakpoint you'll have to step over it with the "step" button in order to get past it. I'm not quite sure why this happens; but the step button has been my workaround for ages.

Hope that helps~
 

omegagmaster

Smash Cadet
Joined
Dec 20, 2015
Messages
44
Hi,

It seems that the reason why it is freezing is because of the fact that the address is being read. Is there any way to configure the breakpoint so that it doesn't pause when it is read? Because under the "Breakpoints" tab, there are no configure options for some reason. Also, the memory address I'm interested in at the moment is 80C6DBA4, and the instruction that the game freezes at is shown as the following:

lwz r0, 0x0024 (sp)

which I know is "load word" in ASM, which means that it's probably reading address 80C6DBA4.
 

Punkline

Dr. Frankenstack
Joined
May 15, 2015
Messages
423
Hi,

It seems that the reason why it is freezing is because of the fact that the address is being read. Is there any way to configure the breakpoint so that it doesn't pause when it is read? Because under the "Breakpoints" tab, there are no configure options for some reason. Also, the memory address I'm interested in at the moment is 80C6DBA4, and the instruction that the game freezes at is shown as the following:

lwz r0, 0x0024 (sp)

which I know is "load word" in ASM, which means that it's probably reading address 80C6DBA4.
From what I can tell, that memory address appears to be something dynamically allocated. I’m not going to be able to get a clear picture of exactly what you’re looking at without a bit more info about where it came from. Are you looking at player entity data or something like that? Did it come from a function, or did you look it up through pointers?

That load it’s stopping at appears to be from a stack operation, so it’s likely a part of a function epilogue that collapses a stack frame. What’s the address of the instruction?

It clobbers r0, so you might want to check the contents of r0 before that instruction gets read. If it’s related to what you’re looking for, then you might want to look into whatever loaded that value.

There’s a way to specify a few options for memory checks in the breakpoints tab by clicking the +MC button and adjusting settings from the GUI that appears. It looks like this on my setup:

memCheckGUI.png
 
Last edited:
Top Bottom