Enabling Rumble Cheats w/ SNES9x

I’m on the latest version of RetroArch on Windows 10 and, for the life of me, I can’t figure out why the rumble .cht files are just not working in SNES9x (or any other SNES emulator I’ve tried). I know the feature does indeed work as intended, as I successfully applied one to A Link To The Past. However, to make things more confusing, it’s a rom hack with multiple patches applied (MSU-1 and Redux patches). So, that works, but clean & untouched ROMs don’t?

For instance, I loaded the Super Street Fighter II codes and tested the file on all three regions with no luck. Chrono Trigger, Mario World, Yoshi’s Island, Killer Instinct, and Donkey Kong Country share the same results. Just to make sure I wasn’t nuts, I loaded up The Legend Of Zelda again and that still works beautifully. I’m using an Xbox One Elite controller.

So, really, what’s the problem here? I’m changing zero settings and one thing works while the other doesn’t. I’ve tried multiple ROM versions and regions and I’m at the end of my rope. Are the codes just broken? How were they actually tested? If they only work with a specific ROM version, why in the world isn’t that documented anywhere?

If they are messed up, how do I go about fixing this myself? I tried reading the documentation on code searching and it wasn’t very helpful. Rumble in these retro games is AMAZING and I’d like it to be a bigger feature in my builds.

Any and all help would be appreciated!

It appears after I posted this I seem to have solved this issue myself.

For anyone having rumble issues like I was, open up the .cht file (I used Wordpad) and edit the rumble port value to “0” if it’s on “1” and not working. You might need to change the rumble type value to “1” or “3” as well, but try toying around with that – not every game I’ve tested is the same.

This method has been working for me for several games now – Super Mario World, Mega Man X, Killer Instinct, Street Fighter II, and Chrono Trigger are flawless with force feedback with these cheats. I’m incredibly impressed with Mega Man 7’s rumble programming since it syncs up with the intro! This feature surely needs to be touted about more in Retroarch, as it’s the most fun I’ve had with emulation in decades. It’s such a great, modern perk to throw on top of these retro titles.

Now, can somebody tell me why this has been an issue? Do Xbox One controllers need this type of configuration or what? I feel like this needs to be explained further or properly documented somewhere. I literally have had this issue for well over a year and all I had to do to fix it was change some values? LOL.

1 Like

There are a lot of features that get implemented by someone who’s not a main contributor (like the rumble cheats) and if none of us go and learn it inside and out, there can be little issues like that are either obvious.intended by the implementer or just got overlooked.

so, it’s great that you found that and mentioned it. Do you have any other pads that you can test with to see if it’s a consistent behavior?

bah, there is no rumble port 0 (1-16) and ive played around with this before and took a long time to understand(i expected the pre-configured .cht rumble files where already configure) but yet almost all cheats has the "rumble when memory " is disabled by default.

I will test this with my 360 pad later. I tested it about 5 months ago and it didn’t work then however lol. Optimistic this fixes it wholesale!

Some rumble settings are too strong but I’ve been editing those as well. It would be great to know more about what these rumble values mean and do. I’m just guessing correctly on a lot of it haha.

I might have to paste my settings for somebody else to test on another set up because I only have 1 PC with Retroarch installed. I would love for this to work for somebody else.

you can just use the ingame UI to modify the cheats, although changing from 1 to 65536 will be a pain if you just want values in between

rumble strength is based on 1-65536 value where 1 is the weak rumble.

when loading the rumble cheat file, you need to set:

"rumble when memory " - set to the condition rumble is suppose to activate. e.g. set to “Increases” when its suppose to rumble when collecting hearts in Castlevania but not rumble when it decreases when using item.

“rumble value” (1-255) to anywhere but the default 0 (dunno whats this suppose to do)

“rumble port” (1-16)set to the player port. so a 1 player game should have this on 1

turn ON, apply and go back to game…

Wertz –

Putting the rumble port on anything BUT 0 for player one gives me zilch feedback, so reading that there are only 1-16 is interesting to say the least. I’d have to see if port 1 enables rumble for player 2 later as well.

Any reason why my Xbox controller needs to be on port 0? Is this something I can change within Windows? I looked at the settings for the Xbox One PC Adapter about a million times and couldn’t see anything that looked out of the ordinary.

In my tests, getting coins to rumble in Mario World only worked when the rumble value was set to 1. I got no vibration at all on anything else. On the flipside, getting Rambi attacks to rumble in Donkey Kong Country wouldn’t work unless I had it set to 3. Then I look in the cht file for Zelda and some settings are on 4, when I haven’t been able to get that value to work anywhere else yet. Setting to 1 definitely has helped in the majority of cases.

Thanks for the info on rumble! I’ll be sure to add it to my notes.

Putting the rumble port on anything BUT 0 for player one gives me zilch feedback,

its possible that the UI is counting 1-16 but the config file saves in 0-15 for the rumble port(this relates to the port number of the current controller used so a rumble on player 2 it should be set to 2-or 1 if directly editing the .cht file) . anyways never really tried going deep into this as i am expecting new users should have the rumble working when loading and enabling related cheat file and not be bother will all these settings that is set to somewhat “disabled” by default.

I sent some of my edited codes to a friend for testing. He was also using the latest version RetroArch on Windows 10, but with a Xbox 360 controller. He didn’t run into any snags and said the rumble worked perfectly.

Changing the port to 0 should have hit me earlier, because when I turn the stupid thing on RetroArch freakin’ tells me with a notification it’s plugged into that number haha. Oh well.

I’m going to continue editing the .cht files and doing further testing on the feature for my own educational purposes lol. I eventually would love to learn how to implement new rumble codes to improve some things (Star Fox is kind of lacking on the rumble), but hopefully some folks more talented than myself continue working on codes haha.

May I ask if it’s possible to share here some links to these rumble cheats and/or patches? I absolutely did not know that such a thing even existed and now I’m particularly curious to try each and every one of them. :smile: