• 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

Obskore

Smash Ace
Joined
Jan 17, 2013
Messages
675
Location
Sonora / México
Disable Rumble When Controller is Unplugged
Code:
C2376BB0 00000008
3CC08045 60C6C380
38800000 38A0000A
39000000 7CE518AE
2C0700FF 40820008
7D0431AE 38840001
38A5000C 2C040004
4180FFE4 8081002C
60000000 00000000
In today's edition of "codes you didn't you know you wanted"... :)
what exactly does this code do?
does it mean it's actually enabled when the controller is unplugged? but it doesn't rumble when it's unplugged, what am i missing?
 

Myougi

My posts are gluten free.
Joined
Mar 14, 2014
Messages
484
Location
WEST COAST BEST COAST
what exactly does this code do?
does it mean it's actually enabled when the controller is unplugged? but it doesn't rumble when it's unplugged, what am i missing?
If rumble is turned on while a controller is plugged in, once said controller is unplugged rumble is turned off so that the next player won't have to turn it off themselves.
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,179
Location
Sacramento, CA
Ok, I've been searching, but have had no luck.... I'm looking for an ASM to move the contents of a FPR to a GPR (or vice versa). I assume I need to convert it from double-precision to single first, but then what? (I'm wondering if the would just be built-in to another command to also do the move.) Right now I have the workaround of loading it from the FPR to memory, and then from there to a GPR. I just wanted to know if there was a more efficient way.

A 'floating-point-add-immediate' would also work if one exists, but I'm not finding one.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Ok, I've been searching, but have had no luck.... I'm looking for an ASM to move the contents of a FPR to a GPR (or vice versa). I assume I need to convert it from double-precision to single first, but then what? (I'm wondering if the would just be built-in to another command to also do the move.) Right now I have the workaround of loading it from the FPR to memory, and then from there to a GPR. I just wanted to know if there was a more efficient way.

A 'floating-point-add-immediate' would also work if one exists, but I'm not finding one.
I had the same question awhile back, but the answer is no. You have to load a value into an fpr from a memory address. If you wanted to "addi", you would probably do something like this:

(Say I wanted to add a value of 2 = 0x40000000)

lis r15,0x4000
stw r15,-0x8(sp)
lfs f15,-0x8(sp)
fadd...

The stack pointer is r1. I'm pretty sure the space behind it is free to use.
 

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055

Magus420

Smash Master
Joined
Dec 13, 2003
Messages
4,541
Location
Close to Trenton, NJ Posts: 4,071
Yeah, that's it and is the same code for all game versions, though pretty sure "Hitbox Displays Do Not Interpolate in Develop Mode" would be a more accurate description since it's just the visual iirc.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Yeah, that's it and is the same code for all game versions, though pretty sure "Hitbox Displays Do Not Interpolate in Develop Mode" would be a more accurate description since it's just the visual iirc.
Awesome. I edited the name, but it works for all game levels, not just Develop Mode. (assuming the use of a code to turn collision bubbles on in Master).
 

Magus420

Smash Master
Joined
Dec 13, 2003
Messages
4,541
Location
Close to Trenton, NJ Posts: 4,071
Stale Moves in Develop Mode (v1.00) [Magus]
04088FAC 41820030

-DOL-
1.00 0x85B8C
1.01 0x85C74
1.02 0x85E34
PAL 0x864EC


This leaves the DEBUG-ROM setting (3) to still not use stale moves. Do we know the differences between that and Develop btw?
 
Last edited:

zankyou

Smash Lord
Joined
Sep 12, 2014
Messages
1,055
See attached, from Sham Rock.

But I've been working on a more efficient method with better memory addresses recently, which I'll hopefully post about sometime soon.
Wait are you saying you know of somewhere else where inputs are written
 

Magus420

Smash Master
Joined
Dec 13, 2003
Messages
4,541
Location
Close to Trenton, NJ Posts: 4,071
I've been using (1.00) the inputs at 804BFE2C which has press inputs in addition to held ones, and the analog inputs are converted into float form like how the game uses them. Also used debug mode inputs at 8049D8C8 which has presses and cancels out d-pad inputs if pressing multiple directions at once to account for the GCC d-pad being crappy and not activate multiple things at once trying to press a single direction.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Stale Moves in Develop Mode (v1.00) [Magus]
04088FAC 41820030

-DOL-
1.00 0x85B8C
1.01 0x85C74
1.02 0x85E34
PAL 0x864EC


This leaves the DEBUG-ROM setting (3) to still not use stale moves. Do we know the differences between that and Develop btw?
Nice. I tapped into the same function with this code to enable staling in all modes. I just changed the mode comparison to 5 instead of 3.

And I'm not sure what the difference is. Maybe DEBUG-ROM could give the developers more info in some way.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
X/Y Axis Pause Camera Translation w/ C-Stick
Code:
C202CD9C 00000008
C0028434 89FD0001
3E00804C 62101FD4
1DEF0044 7E107A14
C1F00000 C21D0050
FE0F802A D21D0050
C1F00004 C21D0054
FE0F802A D21D0054
60000000 00000000
---> gif <---
(20XX hide H.U.D. toggle used as well)

ASM Notes:
Code:
************************************************
* X/Y Axis Pause Screen Translation w/ C-Stick *
************************************************

PAUSE Camera Offsets:
80452f2c - [8bit] player the pause camera is focused on
80452f2d - [8bit] player who paused the game.

80452f7c = x axis pause camera translation
80452f80 = y axis pause camera translation
80452f84 = z axis pause camera translation

(p1)
4c1fd4 = x c-stick axis
4c1fd8 = y c-stick axis
Axis values go from -1 to 1 [32-bit floats]

(p3)
4c2060 = y axis

...so each player's c-stick axis is 0x44 away from one another!

inject @ 8002cd9c
- function for storing pause camera offsets
-r29 = 80452f2c at this time

#default code line
lfs f0,-0x7BCC(rtoc)

#load player who paused game
lbz r15,1(r29)
lis r16,0x804c
ori r16,r16,0x1fd4
mulli r15,r15,0x44
add r16,r16,r15

#load c-stick x axis for this player
lfs f15,0(r16)
#load current x translation
lfs f16,0x50(r29)
#add c-stick value to x translation
fadd f16,f15,f16
stfs f16,0x50(r29)

#load c-stick y axis
lfs f15,0x4(r16)
#load current y translation
lfs f16,0x54(r29)
#add c-stick y value to y translation
fadd f16,f15,f16
stfs f16,0x54(r29)
Anyone try this on console? It works, but when I hit L or R while paused it immediately freezes. Didn't notice this happening on Dolphin.

sigh...
 
Last edited:

Wooggle

Smash Apprentice
Joined
Jul 7, 2014
Messages
83
Location
NJ, USA
Anyone try this on console? It works, but when I hit L or R while paused it immediately freezes. Didn't notice this happening on Dolphin.

sigh...
The same thing happens to me too.

I only use DOL mods because I haven't been able to get codes working on my console, so I was afraid that I just messed up the DOL mod somewhere, which is why I didn't say anything.

Also, when it is paused and I am not touching the C-Stick, the camera keeps moving very slightly. I tried unplugging the controller which stopped the problem, but when I put it back in,the problem persists. It also happens even when I restart my console. I'm not sure if this is a problem with the code or if my controller is just messed up.
 
Last edited:

Myougi

My posts are gluten free.
Joined
Mar 14, 2014
Messages
484
Location
WEST COAST BEST COAST
The same thing happens to me too.

I only use DOL mods because I haven't been able to get codes working on my console, so I was afraid that I just messed up the DOL mod somewhere, which is why I didn't say anything.

Also, when it is paused and I am not touching the C-Stick, the camera keeps moving very slightly. I tried unplugging the controller which stopped the problem, but when I put it back in,the problem persists. It also happens even when I restart my console. I'm not sure if this is a problem with the code or if my controller is just messed up.
I haven't tried this on console, but I can later if I have time.

I can go ahead and clear up the second part, it's your controller (or adapter). I've been using the code and playing with Dolphin. When using my keyboard the camera doesn't move at all but when using my controller on my PC it does slightly.
 

Wooggle

Smash Apprentice
Joined
Jul 7, 2014
Messages
83
Location
NJ, USA
I haven't tried this on console, but I can later if I have time.

I can go ahead and clear up the second part, it's your controller (or adapter). I've been using the code and playing with Dolphin. When using my keyboard the camera doesn't move at all but when using my controller on my PC it does slightly.
So are you saying that it is a problem with everyone's controllers and not just mine? In that case then the code may be a little bit too sensitive to the c-stick movement.
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,179
Location
Sacramento, CA
So the code needs to have a "deadzone" to filter inputs, just like the game does it. @ Kadano Kadano measured the exact input ranges, but I can't find the posts/images.
 

Kadano

Magical Express
Joined
Feb 26, 2009
Messages
2,160
Location
Vienna, Austria
So the code needs to have a "deadzone" to filter inputs, just like the game does it. @ Kadano Kadano measured the exact input ranges, but I can't find the posts/images.
Dead zone is [106,150] for both x and y, measured in Dolphin input display analog units. Not sure how this translates to in-game values, but it should be easy enough to convert them using Magus’ directional input display within Dolphin with input display on as well.
 
Last edited:

CaptainJazz

Smash Cadet
Joined
Oct 1, 2014
Messages
42
Location
Mute City
Disable Rumble When Controller is Unplugged
Code:
C2376BB0 00000008
3CC08045 60C6C380
38800000 38A0000A
39000000 7CE518AE
2C0700FF 40820008
7D0431AE 38840001
38A5000C 2C040004
4180FFE4 8081002C
60000000 00000000
In today's edition of "codes you didn't you know you wanted"... :)
Code:
Lagless FoD [Dan Salvato]
041cbbd4 60000000
041cbefc 48000028
041cbf54 60000000
041cbf84 60000000
Can anyone point me to/make these gecko codes into injections to the DOL mod? I am making the PERFECT tournament ready DOL, combining all things that make competitive play faster and more efficiently.
 

Cyjorg

tiny.cc/19XXTE
Joined
Nov 18, 2013
Messages
686
Location
Purdue University
Can anyone point me to/make these gecko codes into injections to the DOL mod? I am making the PERFECT tournament ready DOL, combining all things that make competitive play faster and more efficiently.
@0x1C87B4
48000115 -> 60000000

@0x1C8ADC
41820028 -> 48000028

@0x1C8B34
48000BC5 -> 60000000

@0x1C8B64
4BFFD775 -> 60000000
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
Sorry just a random question but what is 60000000 in ASM? I see so many 04****** 60000000 codes, which I understand overwrite something in the dol at some offset to 60000000.
 

SinsOfApathy

Smash Journeyman
Joined
Feb 24, 2015
Messages
474
NNID
Psion312
Since the main post lacks it, I converted the DOL code for Debug Menu Default Language to a Gecko Code for 1.02. I've been using it with wParam's Memory Card Buffer Overflow.

Code:
Debug Menu Default Language (1.02) [SypherPhoenix, Apathy]
043FA258 000000??

Values:
00 - Japanese
01 - US English
02 - UK English (PAL Only)
03 - German (PAL Only)
04 - French (PAL Only)
05 - Italian (PAL Only)
06 - Spanish (PAL Only)
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Sorry just a random question but what is 60000000 in ASM? I see so many 04****** 60000000 codes, which I understand overwrite something in the dol at some offset to 60000000.
Yeah, it means "nop". Which is just a line that does nothing. So like instead of storing a value or branching somewhere else in memory, you stick a nop in there and those actions won't happen.
 
Last edited:

Magus420

Smash Master
Joined
Dec 13, 2003
Messages
4,541
Location
Close to Trenton, NJ Posts: 4,071
nop/60000000 in PPC is technically ori r0,r0,0 which Ors the contents of r0 with 0 into r0, which leaves r0 unchanged, doing nothing.

Speaking of nop...



Attacks that Deal Less than 1 Damage Have No Hitlag or DIability v2 (v1.02) [Magus]
040771E0 60000000
040772A4 60000000
040781D4 60000000
04076A48 60000000
04076B9C 60000000
04077A1C 60000000
04077B70 60000000
04076D3C 60000000
040776FC 60000000


Code:
-DOL-
1.02	0x73DC0, 0x73E84, 0x74DB4, 0x73628, 0x7377C, 0x745FC, 0x74750, 0x7391C, 0x742DC
PAL	0x74498, 0x7455C, 0x7548C, 0x73D00, 0x73E54, 0x74CD4, 0x74E28, 0x73FF4, 0x749B4

Makes stale 1 dmg hitboxes (only affects some things with lots of hits) work like in versions 1.00 and 1.01 where they aren't A/S/DIable. Being able to ASDI these hits a full 3 units half a dozen times or more through the move makes some of them a joke to escape and bad in 1.02 and PAL. May be missing a couple here but the attacks it affects include the rapid hits on Zelda's f/u-smash and neutral-b, Samus' u-air and up-b, Peach's up-b, YL's up-b, Mario's up/down-b, Mewtwo's u-smash and n-air (bottom hitboxes only), ICs down-b (outer range), Ness' PKT1 (tail), and CF/Sheik/Kirby/Fox/Falco/Kirby/Link/YL's rapid jabs.

Since it affects mostly characters that aren't as good it contributes to making v1.02 the most imbalanced NTSC version. Now for everyone I see running backups of v1.02 to use it so I can use Zelda on more than just my own setup =P
 
Last edited:

Magus420

Smash Master
Joined
Dec 13, 2003
Messages
4,541
Location
Close to Trenton, NJ Posts: 4,071
I guess I should be searching the thread instead of looking in the OP lol.

If it's this code though:
Code:
v1.00 Hitlag Behavior (1.02) [Dan Salvato]
040771f0 3b000000


Holy ****s, I spent hours looking for this one stupid line of code. If someone has done this already then RIP, lol.

Anyway, this code reverts hitlag behavior back to v1.00. In v1.00, any attack that dealt less than 1% damage had 0 frames of hitlag. Certain characters' attacks were balanced around this consideration, such as Samus' upB and Young Link's grounded upB. In v1.02, one frame of hitlag is applied, which makes these moves easily escapable with SDI.

Because of this, the v1.00 hitlag behavior is often preferred, especially for players who main the affected (often lower-tier) characters.
It wouldn't actually do anything besides change the attack's speed aesthetic by having the attacker not go into hitlag, while the important part with the victim still having the 3 frames of hitlag and full A/S/DIability remains :x

Edit: Nevermind, it does indeed make them harder to escape, but for a different reason. By the attacker not going into hitlag it locks them into hitlag without the ASDI or DI being able to occur in most cases. If SDI didn't go so far and it didn't look kinda odd, I'd say it would be an improvement in gameplay design to only be able to SDI the rapid hits instead of nothing, but testing it with Zelda's u-smash it's pretty easy to SDI out even when hit by the center of it since it's also no longer pulling you back in at all by being hitlag locked.
 
Last edited:
Top Bottom