n64 Controller connected GPIOS 4.0.0-beta5 Gamecon Driver



  • Hello Volks,

    as noticed above i try to connect a n64 controller with GPIO on a Raspberry. Schamefull nothing happens.
    My build in short words:
    Raspberry pi 3 with original power (2,5A)
    N64 controller (original not with USB)
    recalbox 4.0.0-beta5

    the edited recalbox.conf (edited with n++ )

    Gamecon controllers

    Enable gamecon controllers, for nes, snes psx (0,1)

    controllers.gamecon.enabled=1

    gamecon_args

    controllers.gamecon.args=map=0,6,0,0

    Data pin is Pin #2
    Pinconection: 0_1474307748322_IMG_20160918_150121.jpg

    now when i try to move the joystick or push the buttons nothing happens, also tested with jstest.

    i tried sevrel pin connections, all from the manual.
    i hope some of you have a idee what i am doing wrong

    P.S. The Controller is tested with the console from a friend of mine.

    Sry for the bad english


  • Moderator
    Team

    So, this is how i get things, please confirm you wired it this way. I'm using pin number (from 1 to 40), not the weird pin naming using some GPIO numbes that have no link with the pin number itself.

    1st reminder : this is ho the doc translated pin names <-> pin numbers :

    Pins P1-03,05,07,26 (GPIO0, GPIO1, GPIO4 and GPIO7)

    2nd reminder : the recalbox.conf parameter line :

    controllers.gamecon.args :
    map=<pad1/GPIO0>,<pad2/GPIO1>,<pad3/GPIO4>,<pad4/GPIO7>,<pad5/GPIO2>,<pad6/GPIO3>

    Now reading http://elinux.org/RPi_Low-level_peripherals#Model_A.2B.2C_B.2B_and_B2 i understand that the pin numbering changed since the Pi B version, so the 1st reminder is only true for the models below Pi2, and seems the pi2 only has pads 3 4 5 6. Let's take a shortcut and give the real pin numbering
    In other words :

    map=0,0,<pad3/PIN 7>,<pad4/PIN 26>,<pad5/PIN 3>,<pad6/PIN 5>

    See now what's wrong with your wiring and parameter ? :) You configured the 2nd pad which is not available for pi2/3. Here is a suggested wiring :

    N64 GND <-> pin 6
    N64 DATA <-> pin 7
    N64 POWER <-> pin 1

    And your recalbox.conf line :

    controllers.gamecon.args=map=0,0,6,0,0,0

    Well, you're unlucky, the wiki isn't up to date ... Can you give some feedback about my suggestions ?

    Edit : might be controllers.gamecon.args=map=0,0,6,0 rather



  • Thanx Subs for your help.

    I have tried it as you said but still no connection.

    with both lines (0,0,6,0,0 and 0,0,6,0) but nothing workd so far.

    also with 0,6,0,0 and the data pin on pin 5.

    maybe the gamecon driver dosent work but i have no idea how to test it



  • now i have tested the connection (maybe i dit somthing wrong with wireing)
    but no all lines are working.
    also i have installed version recalbox 4.0.0-beta4 and edited the config file as u sugested subs but that also didnt helpd.
    is there somone that got it to work? so i can test the image on my system?

    with hope BA


  • Moderator
    Team

    I don't have any N64 controller, can't test by myself



  • I did it.

    It was just a stupid failur the ground and power pin was switched.

    stupid me :-P

    but there is one final question:

    Where do i have to input the folloing?:
    jscal -s 4,1,0,0,0,6972137,6972137,1,0,0,0,6547006,6468127,1,0,0,0,536854528,536854528,1,0,0,0,536854528,536854528 /dev/input/jsX

    jsX is the numer of controller, or is it? but where to add these lines


  • Moderator
    Team

    you need to run them at everyboot ? you sure we have jscal on recalbox ?



  • as shown in the manual:

    3.2 Testing the pads

    See Test your joystick with jstest mini how-to
    3.3 Calibrating the axis of N64 analog pad

    jscal -s 4,1,0,0,0,6972137,6972137,1,0,0,0,6547006,6468127,1,0,0,0,536854528,536854528,1,0,0,0,536854528,536854528 /dev/input/jsX

    for each N64 controller

    so i Think i have to put it in the config file or somwhrer but i dont know exactly

    Link to the manual


  • Moderator
    Team

    that's IF it's necessary to calibrate them. Do you have only those gamepads conencted or some others ? Because it has an impact on the jsX number
    The best to do on SSH :

    echo "jscal -s 4,1,0,0,0,6972137,6972137,1,0,0,0,6547006,6468127,1,0,0,0,536854528,536854528,1,0,0,0,536854528,536854528 /dev/input/jsX" >> /recalbox/share/system/custom.sh
    chmod u+x /recalbox/share/system/custom.sh
    

    Take care of replacing jsX with the right number
    Once you've done that, you can edit the custom.sh through network with a unix format editor and add a new line if you plug a second gpio ontroller



  • The Controller now Works

    also i have connected the second one´.

    And Yes i only use N64 Controller, as that is the main thing i want to use.

    But the buttons dosent work as the buttons thei should. i found out which button is whitch one with jstest but where can i give them in at muppen64 plus.


  • Moderator
    Team

    If you want the exact mapping of the N64, you need to edit yourself the buttons and switch to a custom config. What you need is :

    • edit the files in /recalbox/share/configs/mupen (or mupen64 or mupen64plus, i never remember)
    • add in the recalbox.conf and add at the bottom (or wheverever else) n64.configfile=dummy so that the files you edited won't be overwritten

    This will be slightly easier in Recalbox 4.1



Want to support us ?

324
Online

24296
Users

12910
Topics

97787
Posts

Looks like your connection to Recalbox Forum was lost, please wait while we try to reconnect.