Freeplay CM3 GBA clone Kit.



  • @Substring
    Yes, and after control I can confirm that the actual version in Recalbox is 4.9.4 A and seems to work with PIx GPIO connections to controller. So there should be a solution. Its basically a C Program loaded as object in run-time by the kernel.



  • @Substring
    I think that the actual installed mk_arcade_joystick_rpi.ko that works on PI3 should also work on CM3. Problem, the GPIO is different, so I ask myself where to configurate this. I have in etc/modprobe.de a file mk_arcade_joystick.conf, described also with the kernel object. And inside

    options mk_arcade_joystick_rpi map=4 gpio=4,17,6,5,19,26,16,24,23,18,15,14,-20,-1,-1,-1,-1 hkmode=2
    options mk_arcade_joystick_rpi map=4 gpio=4,17,6,5,19,26,16,24,23,18,15,14,-20,-1,-1,-1,-1 hkmode=2
    

    Problem also, map=4 seams strange to me. I think @LumberJack could help here, because he is the keeper of mk_arcade_joystick_rpi.ko.



  • @dragu the most probable reason is that the ko included in freeplaytch/retropie is not the hotkey branch that we are using, but the master branch, which has different options. I should sooner upgrade the hotkey branch that will have the same features as the master branch (tested by @ian57 and myself). I may compile one for you if you wish



  • @Substring
    I compared an older Freeplaytech image from 21.03.18 and the .ko is exactly the same as we use in Recalbox, I made Hex compare and length also 11864, so it should work with basic gpio buttons. In this case, in /etc/modprobe.d/mk_arcade_joystick.conf you have this

     options mk_arcade_joystick_rpi map=4 gpio=4,17,6,5,19,26,16,24,23,18,15,14,-20
    

    Later on he recompiled mk_arcade_joystick_rpi.c with own modifications. But this could just be a second step. Normal buttons should work as they work for PI3 also. now GPIO is different, where he knows this and than you have in the description from mk_arcade_joystick_rpi :

    Then create the file /etc/modprobe.d/mk_arcade_joystick.conf :

    sudo nano /etc/modprobe.d/mk_arcade_joystick.conf
    

    and add the module configuration :

    options mk_arcade_joystick_rpi map=1,2
    

    With my basic knowledge of Linux, I am hanging, but I believe that it is before all a configuration problem.



  • @Substring
    And exactly when I was writing, I have some reactions on the GBA buttons ! Some wrong but it begins to work, yeah ! The apple is near.



  • @Substring
    @LumberJack
    So, for the daily report. I have always the problem that I dont arrive to register my own gpio schematics in Recalbox. By chance vertical axe from standard Recalbox is the same in Freeplay, so this works. And with sdl2-jstest he show me :

    Joystick Name:     'GPIO Controller 1'
    Joystick Path:     '/dev/input/event2'
    Joystick GUID:     15000000010000000100000000010000
    Joystick Number:    0
    Number of Axes:     2
    Number of Buttons:  9
    Number of Hats:     0
    Number of Balls:    0
    GameController:
      not a gamepad
    Axis code  0:    0
    Axis code  1:    1
    Button code  0:   304
    Button code  1:   305
    Button code  2:   307
    Button code  3:   308
    Button code  4:   310
    Button code  5:   311
    Button code  6:   314
    Button code  7:   315
    Button code  8:   316
    

    In /etc/modprobe.d I have mk_arcade_joystick,conf (and also under name mk_arcade_joystick_rpi.conf this line

    options mk_arcade_joystick_rpi map=4 gpio=4,17,6,5,19,26,16,24,23,18,15,14,-20
    

    But I dont arrive to register in /dev/input/js0.
    Also if I indicate in recalbox.conf map=4, what should be legal after the github description

    # ------------ D2 - GPIO Controllers ------------ #
    ## GPIO Controllers
    ## enable controllers on GPIO with mk_arcarde_joystick_rpi (0,1)
    controllers.gpio.enabled=1
    ## mk_gpio arguments, map=1 for one controller, map=1,2 for 2 (map=1,map=1,2)
    controllers.gpio.args=map=4
    

    Recalbox dies with kernel panic, this should be an issue in Recalbox.
    So, my only chance, I think, to redefine it under map=1. That's it for the moment.



  • @dragu said in Freeplay CM3 GBA clone Kit.:

    map=4 gpio=4,17,6,5,19,26,16,24,23,18,15,14,-20

    this is what you'd add in te line. But:

    1. not yet handled
    2. our KO doesn't handle custom mappings. this is why told you i'd compile one for you


  • @Substring
    Thanks, that is an answer. The problem, github is a horror of software version management, you dont find no old sources. In the Freeplay support files that are inside the .IMG release, I have the latest source versions from him also with hotkey modifications. If it could help you :
    http://zclub.eu/Freeplayhome.7z



  • @dragu said in Freeplay CM3 GBA clone Kit.:

    The problem, github is a horror of software version management

    it's the best one ever, trust me. You just need ot learn how to use it.

    Here is an upgraded hk version of the driver. Use map=5 gpio=4,17,6,5,19,26,16,24,23,18,15,14,20,-1

    https://we.tl/hLeKAomdIy



  • @Substring
    So quick ? Thanks alot for your work, I will give feedback in short.
    In between one picture from my testing place, Hub with keyboard and Wifi stick, HDMI mini to HDMI-HDMI to VGA adapter and power supply ;)
    alt text



  • @dragu sexy !



  • @Substring
    I am on the way to reload the system after the crash. Also concerning mk_arcade_joystick_rpi, there is some confusion about the file in /etc/modprobe.d
    Described in github is mk_arcade_joystick.conf, but it seems that mk_arcade_joystick_rpi.conf is the good one, as what you read in the web. Logical, no ?



  • @Substring
    There is no crash anymore with map=5 in recalbox.conf. Concerning mk_arcade_joystick_rpi.ko, I tried out with both versions of the .conf file in /etc/modprobe.d, but evtest fails to find a controller. :)



  • @dragu check with lsmod if it's loaded + don't load it through recalbox.conf, it doesn't take all parameters. rmmod the ko, then manually modprobe it with your parameters



  • @Substring
    Hi friend, in lsmod the driver is not existing (was there before) and with modprobe I have following feedback

    # # modprobe mk_arcade_joystick_rpi map=5
    # modprobe: can't load module mk_arcade_joystick_rpi (extra/mk_arcade_joystick_rpi.ko): Invalid argument
    


  • @Substring
    Some more small info. If I put him map=1 (I suppose same with 1,2) in recalbox.conf, the driver is loaded correctly as with the version before and also same behavior.



  • @dragu have a look at /recalbox/scripts/recalbox-config.sh line 448 for loading the module and add your parameters



  • @Substring
    Hi, I just made some tests. So if I define in recalbox.conf map=5, he just dont load mk_arcade_joystick_rpi.ok and if I put there map=1, he load object but also with the standard gpio definition.
    As you told I changed in recalbox-config.sh the following

    if [ "$command" == "gpiocontrollers" ];then
        command="module"
        mode="load"
        extra1="mk_arcade_joystick_rpi"
        extra2="map=1,2"
    
    to
    
    if [ "$command" == "gpiocontrollers" ];then
        command="module"
        mode="load"
        extra1="mk_arcade_joystick_rpi map=5 gpio=4,17,6,5,19,26,16,24,23,18,15,14,20,-1"
        extra2="map=1,2"
    

    I tried with and without map=5, but perhaps I made a mistake here ?
    Anyway recalbox.conf seems to have bigger influence, as with map=5 there, he even dont load the object.



  • @dragu better summon @ian57 here, he made the tests with gpio remapping



  • @Substring
    @ian57 was last here 12 days ago, so I return to my cave ;)
    With PiGRRL the problem of the custom GPIO may also exist.


Log in to reply
 

Want to support us ?

Join us on :

173
Online

29718
Users

14870
Topics

112042
Posts

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