Setting up Game Specific N64 Controls in RetroArch 1.3.0 x86 in Windows

Hey everyone. So I am having several in-game control issues. I have my controller mapped but when it comes to changing my in-core or in-game controls, it doesn’t seem to work.

[ul] [li]For starters, the N64 B and C Down button appear to be the same thing in the config? Screen shot supplied. B button and C Down are two different key presses on the N64 controller. EDIT: A button and C Right are also mapped together for no reason. These, too, are two different buttons on the N64 controller.)[/li] [li]Second, for some reason it wont let me assign my c buttons to specific right analog presses. For instance, in some games I may want c left assigned to the right analog stick, left press, while c right I may want assigned to my X button. However it doesn’t give me this choice as far as I can see.[/li] [li]Thirdly, even when I change the c buttons (again, B and c down are linked for some odd reason) the game doesn’t acknowledge that I’m no longer using the right pad. [/li] [li]Fourth, I have my “change buttons” key set to the select button but pressing it in game does nothing.[/li][/ul] I must be doing something terribly wrong here. Can anyone help me? This is ridiculously counter intuitive compared to any other emulator I’ve ever used in which it simply lets you map system controller keys via simple key presses.

Yeah, N64 input is weird.

The ‘change buttons’ button (R2 by default, I think) moves some of the buttons (mostly C-buttons) around on the pad. It’s a weird hack that we had to do to make the gamepad overlay system (i.e., touchscreen controls) work with the default retropad mappings. When it says “B-button (C Down),” it’s B most of the time and then changes to C-Down when you hold R2.

With all that in mind: don’t worry about the ‘change buttons’ thing unless you feel like holding R2 all the time.

If you’re using a dual-analog controller, you’re probably best off just sticking with the default mapping (i.e., C-stick on the right-analog; it’s based on the Wii VC mapping, IIRC), as pretty much anything else gets real messy real fast.

So the answer to “It’s broken” is “yeah, but that’s fine”?

I want to remap my buttons as I see fit, a feature available in literally every emulator ever.

2 Likes

/shrug, I never said it was great, but it’s what we’ve got. If it doesn’t meet your needs, you may have to use a separate, standalone emu that does what you want.

You can use per game overrides to change how the retropad maps to your controller. I do this for Mischief Makers so I can dash left and right with the shoulders, dash up and down with Y and B and talk with left trigger on my Xbox One controller. My overide config looks like this:

input_player1_analog_dpad_mode = "1"
input_player1_y_axis = "nul"
input_player1_y_btn = "nul"
input_player1_y = "nul"
input_player1_x_axis = "nul"
input_player1_x_btn = "nul"
input_player1_x = "nul"
input_player1_l2_axis = "nul"
input_player1_l2_btn = "nul"
input_player1_l2 = "nul"
input_player1_r2_axis = "nul"
input_player1_r2_btn = "nul"
input_player1_r2 = "nul"
input_player1_r_x_plus = "s"
input_player1_r_x_plus_btn = "5"
input_player1_r_x_plus_axis = "nul"
input_player1_r_x_minus = "a"
input_player1_r_x_minus_btn = "4"
input_player1_r_x_minus_axis = "nul"
input_player1_r_y_plus = "c"
input_player1_r_y_plus_btn = "1"
input_player1_r_y_plus_axis = "nul"
input_player1_r_y_minus = "d"
input_player1_r_y_minus_btn = "3"
input_player1_r_y_minus_axis = "nul"
input_player1_l_axis = "+4"
input_player1_l_btn = "nul"
input_player1_l = "v"
input_player1_r_axis = "nul"
input_player1_r_btn = "nul"
input_player1_r = "nul"

I’ve mapped the right stick axis’ to buttons and shoulders and nulled out or moved the inputs that would be mapped to those by default so there aren’t conflicts. You can move around anything you want as long as you know what your controller’s axis and button numbers are and how the core you’re using maps to retropad. The wiki has an article showing the retropad mappings for Mupen here. Z is L2 since the image isn’t showing up on that page for some reason.

1 Like

[QUOTE=Awakened;34707]You can use per game overrides to change how the retropad maps to your controller. I do this for Mischief Makers so I can dash left and right with the shoulders, dash up and down with Y and B and talk with left trigger on my Xbox One controller. My overide config looks like this:

input_player1_analog_dpad_mode = "1"
input_player1_y_axis = "nul"
input_player1_y_btn = "nul"
input_player1_y = "nul"
input_player1_x_axis = "nul"
input_player1_x_btn = "nul"
input_player1_x = "nul"
input_player1_l2_axis = "nul"
input_player1_l2_btn = "nul"
input_player1_l2 = "nul"
input_player1_r2_axis = "nul"
input_player1_r2_btn = "nul"
input_player1_r2 = "nul"
input_player1_r_x_plus = "s"
input_player1_r_x_plus_btn = "5"
input_player1_r_x_plus_axis = "nul"
input_player1_r_x_minus = "a"
input_player1_r_x_minus_btn = "4"
input_player1_r_x_minus_axis = "nul"
input_player1_r_y_plus = "c"
input_player1_r_y_plus_btn = "1"
input_player1_r_y_plus_axis = "nul"
input_player1_r_y_minus = "d"
input_player1_r_y_minus_btn = "3"
input_player1_r_y_minus_axis = "nul"
input_player1_l_axis = "+4"
input_player1_l_btn = "nul"
input_player1_l = "v"
input_player1_r_axis = "nul"
input_player1_r_btn = "nul"
input_player1_r = "nul"

I’ve mapped the right stick axis’ to buttons and shoulders and nulled out or moved the inputs that would be mapped to those by default so there aren’t conflicts. You can move around anything you want as long as you know what your controller’s axis and button numbers are and how the core you’re using maps to retropad. The wiki has an article showing the retropad mappings for Mupen here. Z is L2 since the image isn’t showing up on that page for some reason.[/QUOTE]

An exhaustive, USEFUL answer. I owe you.

Did this ever work for you? It seems to me, that no matter what you change the buttons to, the core itself has some RetroArch buttons mapped to more than one N64 button (as are those C buttons, that makes absolutely no sense to me)? The first thing i had to do to even get it playable was put the “analog to digital type” setting, on the right stick and then i still can’t even use the right stick because it has multiple button presses with one axis press. i can use the left analog stick and the d-pad. If i was to take the controller apart and switch the analog sticks, it would be perfect, like a modern FPS motions … Maybe get an xbox controller and mod it like that just for the N64 :slight_smile: Although, i would rather it work right without any modding :frowning:

I do this for Sin and Punishment with a game override to have the dpad or left stick for movement, right stick for aiming, left trigger or bumper for jump and right trigger or bumper for shoot:

input_player1_l2_axis = "+5"
input_player1_l2_btn = "5"
input_player1_l_axis = "+4"
input_player1_r_btn = "nul"
input_player1_r2_axis = "nul"
input_player1_l_x_plus_axis = "+2"
input_player1_l_y_plus_axis = "-3"
input_player1_l_x_minus_axis = "-2"
input_player1_l_y_minus_axis = "+3"
input_player1_r_x_plus_axis = "+0"
input_player1_r_x_minus_axis = "-0"
input_player1_r_y_plus_axis = "-1"
input_player1_r_y_minus_axis = "+1"

This is set up for an Xbox One pad.

ok thanks, i have an xbox 360 controller, but i’ll give that a try when i get a chance.

Edit: now that i think about it, remapping the buttons doesn’t work because the right stick activates another button when i press a direction. I checked the button mapping and there are no duplicates there that causes multiple actions for one button press. i don’t know if it’s the core or just the controller driver. Maybe i should try my Playstation controller?

Oh … also, this is on my PC running RetroArch & EmulationStation.

ok, i just tried it on my Raspberry Pi and it does NOT have the same problem. It doesn’t have multiple buttons mapped to the same press. So it seems that something is screwed up with the PC version. Even though i didn’t need to, i couldn’t get into the RetroArch settings from within the N64 to check if the mapping was set up the same as the PC (like the B button & C down) being mapped to the same press on the PC … http://imgur.com/TJD5oMb … So i’m not sure if it’s a problem with RetroArch, the Core, or the controller driver for the N64 on the PC version?

I don’t have RetroPad X or Y assigned to anything on my Xbox one pad for Glupen64, since the N64 only has A and B buttons. Maybe that’s why I’ve never come across your issue. I don’t really understand your problem though. Why is it a problem that two of the C buttons are on X and Y and also analog stick directions? You can still swap them around with an override config, even though it’s not as easy as using the GUI to do a remap. Remaps don’t work with stuff mapped to analogs, unfortunately. But since those two buttons are also on X and Y, you should be able to remap those two from the GUI. Then the two that are only on right stick directions you’d have to change using an override.

MK Trilogy

Hight Punch (X on X360 Controller) = Ok Low Punch (A on X360 Controller) = Ok Hight Kick (Y on X360 Controller) = Ok Low Kick (B on X360 Controller) = No Effect

Do you know how to solve this problem?

Honestly I can’t figure out how to post a thread (I’ve never seen such a badly designed forum in my life) so I’m just going to bump this. Sorry.

Literally nothing posted in response this issue has worked for me. I even burned all of my configs and started from scratch, but no matter what I have my settings set to, no matter which files I’m editing or which menu I’ve disabled the analog-to-digital setting, it still treats my analog stick as both the analog stick and the dpad, and ignores dpad presses entirely. I have re-entered all of my controls but the issue still persists.

I’m running the linux version.

This is just the latest in an endless number of frustrations I’ve had with retroarch. Since I’m using emulationstation, I’m ready to dump it and use individual emulators instead. It drains massive amounts of time just to accomplish anything simple.

Best of luck to you.

Thanks, although I’m still not getting any.

Dumping retroarch for mupen64plus as I’m posting this. I’m hoping I can actually map controls in it.

Edit: a correction, it’s actually the c-buttons, not the dpad, that shares the left analog stick on the 360 controller. No matter how I remap it, pressing right on the analog stick will press c-right, and so on.

I never got used to the n64’s actual designed-for-an-octopus controller and was confused after hours of fighting with this bloody software.

Happy to report that the actual mupen emulator worked perfectly fine with very little configuration. I can actually remap the c-buttons in it.

And I’m now convinced that standalone emulators are the way to go, especially now when running an atari game is an insurmountable task (there is zero documentation on how to get the 800 core to just simply find the BIOS that isn’t retropie-specific). I can now only imagine how many hours I would have saved if I didn’t have to fight with retroarch at every step…which is a damning strike against its purpose of centralizing everything.

Later, folks

Address all complaints to our Customer Satisfaction department for a full refund.