N64 mayflash adapter + OEM controller

  • Staff
    Global moderator

    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 😄 (I plan to write a proper wiki entry about configuring n64 like pads about this!)

    My config:
    Rpi3, recalbox 18.02.09, n64 mayflash controller adapter, original n64 controller connected on port 1

    My problem:
    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:

    1. Only n64 mayflash adapter plugged in
    2. Adapter + 1 controller on port 1
    3. Adapter + controller + configured the controller in ES
    4. After launching some games on different systems

    Download support files here

    Thanks in advance!

  • Your es_input.cfg seems giving problems ... Your gamepad name may need to escape some caracters

  • Staff
    Global moderator

    @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.

  • Staff
    Global moderator

    @substring ok, learning about html entities now 😄
    indeed &#24, has already been escaped from ES and that is an unknown character!

    Erasing &#24, 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:

  • Translator
    Translation Master

    @paradadf @Substring
    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:

    0_1519330495341_N64 Controller Mapping 2.PNG

    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 😮

  • Translator
    Translation Master

    @Substring np, I will just try & error 😄
    the hotkeys are currently not working at all, thats why I would like to map them like this and disable it.

  • Staff
    Global moderator

    @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=dummy to 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!

  • Staff
    Global moderator

    Not quite finished but this config might be of help for anyone stumbling upon this topic:

    After adding n64.configfile=dummy to recalbox.conf to avoid configgen to generate the button mapping, you can copy this configuration into /recalbox/share/system/configs/mupen64/InputAutoCfg.ini:

    [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 /recalbox/share/system/.emulationstation/es_input.cfg

    (.emulationstation is a hidden directory!)

    I‘ll share a proper mapping for it as soon as I can.

Want to support us ?