Freeplay CM3 GBA clone Kit.
-
@dragu kernel modules are valid for the X.Y branch, don't expect them to run on a different version
-
@Substring
I keep digging, finding the apple under the bananas. -
@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 insideoptions 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 thisoptions 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 B***s: 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:
- not yet handled
- 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
-
@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 -
@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 manuallymodprobe
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 followingif [ "$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.