N64 mayflash adapter + OEM controller
Hi! I finally got to test my n64 adapter with my original n64 controllers and couldn´t find what´s wrong, so I need your help :D (I plan to write a proper wiki entry about configuring n64 like pads about this!)
Rpi3, recalbox 18.02.09, n64 mayflash controller adapter, original n64 controller connected on port 1
After plugging the adapter, the controller and configuring it on ES (all buttons but right analog and L3+R3 mapped on ES), no game at all from any system will launch. Unplugging everything doen not revert this behaviour, no game will start.
What I have for anyone willing to debbug my problem:
I made support files after every step, meaning:
- Only n64 mayflash adapter plugged in
- Adapter + 1 controller on port 1
- Adapter + controller + configured the controller in ES
- After launching some games on different systems
Thanks in advance!
Your es_input.cfg seems giving problems ... Your gamepad name may need to escape some caracters
@substring deleting my controllers entry on es_input.cfg does indeed allow me to start games again. Any suggestion about what I can try to make the controller usable? I tried escaping
in many different combinations, but nothing.
deviceName="USB GamePad USB GamePad"
evtest shows me this rectangle :S
Input device name: "USB GamePad USB GamePad"
trying it with that symbol, alone or escaped
\does not work either.
@paradadf ES should correctly escame them ... I'm rather thinking about html entities, and convert it to
&rather. Anyway, if the name doesn't match, it will look for the GUID, so you can just remove the annoying chars and see if it gets mapped.
@substring ok, learning about html entities now :D
,has already been escaped from ES and that is an unknown character!
,from the name in es_input.txt allowed me to use the controller. I need to find out about the custom mapping now by reading the wiki carefully.
Nb. there is related topic here:
I am using the "raphnet N64 to USB" adapter and it works out of the box with the original controller. For the config I tried today a little bit and came up with this solution for mupen64plus. Its pretty close to the original:
Actually I think the SELECT is not needed.
I tried to edit the mupen64plus.cfg and add a button combo (START + Z Trigger (L2)) to exit the emulator:
# SDL keysym for stopping the emulator Kbd Mapping Stop = "J0B3/B2"
Button 2 and 3 are Z Trigger and Start. But it does not work. I read something about to disable the Hotkey commands for mupen64plus. Is this possible and could be a solution?
@lackyluuk I don't remember the combo syntax for mupen, it's somewhere in configgen :o
@Substring np, I will just try & error :D
the hotkeys are currently not working at all, thats why I would like to map them like this and disable it.
@lackyluuk I‘ll try to comment again about this this weekend. But I have a slightly different mapping in mind (made on ES). D-pad and (left) joystick is obvious. I would then map
C-down : A
A : B
C-left : X
B : Y
L : L1
Z : L2
R : R1
Start : Start
C-up : Select
C-right : R2
C-up -> Hotkey (on top of Select)
After that, I would launch a n64 game.
Later, I‘d add
n64.configfile=dummyto recalbox.conf and would remap the inputautoconfig (or similar) to match my controller exactly. Finally, adjusting the deadzone my be needed... I must find out how to get the exact values for my joystick yet!
I was able to exit games by doing HK+Start without modifying anything on the mupen64plus.cfg.
With this mapping, even if you don‘t do the specific remap for mupen, I believe the controller is still very much usable for n64 as, for instance, n64‘s A becomes ES‘s B wich was mapped to A, and n64‘s B becomes ES‘s Y wich was mapped to B!
Not quite finished but this config might be of help for anyone stumbling upon this topic:
n64.config=dummyto recalbox.conf to avoid configgen to generate the button mapping, you can copy this configuration into
[USB GamePad USB GamePad] plugged = True plugin = 2 AnalogDeadzone = 2096,2096 AnalogPeak = 21912,21912 Mempak switch = Rumblepak switch = mouse = False A Button = button(1) B Button = button(2) C Button D = axis(2+) C Button L = axis(3+) C Button R = axis(3-) C Button U = axis(2-) DPad D = hat(0 Down) DPad L = hat(0 Left) DPad R = hat(0 Right) DPad U = hat(0 Up) L Trig = button(6) R Trig = button(7) Start = button(8) Z Trig = button(9) X Axis = axis(0-,0+) Y Axis = axis(1-,1+)
I need to dig deeper into the AnalogDeadZone and AnalogPeak to find the best way to get the proper values.
Do not forget to delete the garbage characters on
(.emulationstation is a hidden directory!)
I‘ll share a proper mapping for it as soon as I can.