Controller mappings for Mario Kart 64 ...with Saturn controllers?

After a ‘not insubstantial’ amount of forum research, I still find controller mappings a challenge, to say the least.

That said, I think I’ve managed to get my 2 x Sony DualShock 2 controllers with USB adapters and 2 x official Sega Saturn Model 2 Controllers with Mayflash adapter up and running happily with my other cores & games.

…so I thought I’d throw a core I’ve never used, for a console I never played into the mix for good measure…

I’ve got Mario Kart 64 up and running on Mupen64Plus-Next core, with the recent ParaLLEl-RDP/RSP improvement goodness, so it looks good on my setup.

Default mappings for my DS2 controllers work really well.

Default mappings for my Saturn pads are an utter, absolute pain in the a$$.

I’ve just about managed to get the directional pad to steer the kart, plus accelerate & brake control working but I cannot for the life of me figure out how to fix the remaining controls in the in-game quick menu.

Stupid N64 pad, with it’s stupid Z trigger and C button madness… grumble, grumble…

I love the 6 button Saturn pads for fighting games but am on the verge of buying another 2 x DS2 pads because my other 2 just work with this game and it seems like my only current option to get some 4-player kart shenanigans into my life.

Is there anyone else using these controllers to play this game, willing to share their mappings, please?

In retroarch you do not assign buttons to a control directly, assign the functions to a pre-mapping virtual control, which makes all controls work on all cores. For a normal operation of N64 you can not use a standar Saturn control. You can assign the crosshead and the 7 buttons, but the joystick is missing. If you insist on enjoying the pleasures of a Saturn control, I recommend the 3D-pad and it is probably correctly mapped in Retroarch.

Yeah, the Retropad abstraction ‘pre-mapping virtual control’; I sort of get it, that’s the bit I’d been struggling with.

Thanks but assigning the buttons is exactly what I’m trying to do for this game and feel as if I’m half way there so far: I’ve already managed to map the joystick -which I think controls the kart movement on a real N64 pad?- to the saturn pad crosskey as you say, so I can get the kart to move. I can also accelerate, brake and hop with 3 of the remaining buttons; It’s the Z trigger and C toggle I think I’m having trouble with annoyingly, and I think they should be the simpler part! :confused:

Tl;dr: The last part of the controls I’m trying to figure out is to be able to hold the R trigger on the saturn controller down and use the remaining free buttons to control the camera and toggle the racecourse map in the middle of the 4player screen, and also to hold the saturn pad L trigger to select an acquired weapon powerup (or deploy weapon, when L trigger is used in conjunction with a second button). This is how the shoulder buttons on my DualShocks work ‘out of the box’, without further remapping required.

Thanks for the 3D pad suggestion also, I did consider it but if I’m gonna have to buy new pads, I’d probably go for more DualShocks.

1 Like

No, the mayflash adapter is the one being recognized and mapped, RA doesn’t know about the actual controller plugged in the adapter.

@3miliooo i have those mayflash SS adapters, they are awesome for fighting games (over time, i replaced them by some Hori FC though) and totally ok for many other genres, but forget about them for mario kart or anything else with unusual controls or analog controls (even the 3D pad’s analog stick won’t be recognized as such)

I understand.

Do you know Bliss-Box? It is an exceptional multi adapter.

Yeah, I only currently use the Saturn pads for 4 player arcade games (Simpsons, Sunset Riders, Undercover Cops) and fighting games, the DS2s take preference on just about everything else; and I’m only really messing about with Mario Kart 64 because the SNES version is 2 player only: hilariously, I was surprised to rediscover this, could’ve sworn it was 4 too, but alas, not so!

I did wonder if that was the case as the first time I plugged it in, it was reported as a 'Mayflash N64 ver.2 adapter (yes, N64, not Saturn!), or some such, funnily enough.

Incidentally, RA seems to be defaulting to generic dinput ‘USB Gamepad.cfg’ files from the autoconfig folder for ALL my pads, presumably because of the hardware IDs of my various USB adapters; after advice found on another forum, I managed to get them to show up properly by appending the following lines to the .cfgs in question:

  • input_device_display_name = “Sega Saturn v2 pad”

  • input_device_display_name = “Sony DualShock 2 pad”

It seems dinput might be missing an autoconfig file for device 3727:12304 and might be using the one for 3727:12307 (Mayflash USB Adapter N64 (rev1)) for some reason instead.

Luckily i’m a linux user and udev has an autoconfig file for this adapter.

Also, my bad, i was under the impression the 3D-pad’s analog controls weren’t recognized as analog by the adapter, but actually the analog stick is properly converted by the adapter (the udev autoconfig file is missing that part though, i guess i’ll send a PR later today)

Figured it out, this is what I was after and am happy with for the Saturn v2 pad (note the remaining controls offscreen further down should be zeroed out):

I also tweaked my DualShock 2 settings in the end:

Hope this might help somebody else.

1 Like