Freeplay CM3 GBA clone Kit.
-
@ian57
@Substring
Concerning the Freeplay GPIO layout, there are 2 common pins with MAP 1. It is Up,4, and Down,17. So with this both existing pins for old and new mk_arcade_joystick_rpi.ok ( old -> length = 11864, new compiled ->length = 14972 MAP 1 is functioning and driver loaded.
Could it be that the blocking of other maps is in the script recalbox-config.sh ?
I mean second part with rmmod.if [ "$command" == "gpiocontrollers" ];then command="module" mode="load" extra1="mk_arcade_joystick_rpi" extra2="map=1,2" fi if [ "$command" == "module" ];then modulename="$extra1" map="$extra2" # remove in all cases rmmod /lib/modules/`uname -r`/extra/${modulename}.ko 2>&1 | recallog if [ "$mode" == "load" ];then echo "`logtime` : loading module $modulename args = $map" 2>&1 | recallog insmod /lib/modules/`uname -r`/extra/${modulename}.ko $map 2>&1 | recallog [ "$?" ] || exit 1 fi exit 0 fi
-
@dragu as i said : the script diesn't handle enough parameters yet. Check ~/logs/recalbox.log you'll get some details
-
[ 14.39] enabling mk_arcade_joystick_rpi [ 14.36] updated wifi settings : ssid= [ 14.42] ---- recalbox-config.sh ---- [ 14.46] rmmod: can't unload module 'mk_arcade_joystick_rpi': No such file or directory [ 14.51] [ 14.48] : loading module mk_arcade_joystick_rpi args = map=4
As you see, I tried with 4, he loaded the driver, but other chaotic mapping. Minimum some advance.
-
@dragu it's not taking further parameters, we had that problem with ian already. But still, manually loading it should work
-
@Substring
I think I will take a big hammer, or stay with retropie. The whole story is crazy.
Just to repeat :- Calling mk_arcade_joystick_rpi map=1 (1,2) from recalbox.conf loads the driver (with in this case wrong gpio's)
- Not calling mk_arcade_joystick_rpi in recalbox.conf but trying to load it under modprobe mk_arcade_joystick_rpi (all map=x) load the driver under NO condition, always argument error, also with map=1 or map=1,2.
- This driver dont load under modprobe in Recalbox. Point.
- Modifying recalbox-config.sh brings nothing, so somewhere in this piece of software is mess.
-
@Substring
@ian57
YEAH ! I have it.
I was just modifying S26recalboxsystem and recalboxsystem.sh to make the animal accept map=5. But first with no result.
So, I started modprobe with option -D and that was the beginning of the solution# modprobe -D mk_arcade_joystick_rpi insmod /lib/modules/4.4.13-v7/extra/mk_arcade_joystick_rpi.ko map=5 gpio=4,17,6,5,19,26,16,24,23,18,15,14,23,-1
Because this showed that he correctly found the definitions in modprobe.d.
After I remember the argument story. Perhaps something wrong here, and that was really the problem, it was necessary to crop last parameter fromoptions mk_arcade_joystick_rpi map=5 gpio=4,17,6,5,19,26,16,24,23,18,15,14,23,-1
to
options mk_arcade_joystick_rpi map=5 gpio=4,17,6,5,19,26,16,24,23,18,15,14,23
he just accept 13 gpio definitions, not 14
and now, problem resolved, all keys working on Freeplay GBA
As you see with 23, I put Hotkey on R1, right shoulder button. Because he is otherway unused in Recalbox. And it works also.
Time to move to next storyI also arrived to load the driver in recalbox.conf.
But first I modified back, recalbox-config.sh and S26recalboxsystem, not necessary anymore. I am sure other people will need at a certain moment this :# ------------ 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=5 gpio=4,17,6,5,19,26,16,24,23,18,15,14,23"
-
This post is deleted! -
@Dragu sorry my bad... I did not count the parameters;.. thought you were using the old master config style (only 12 parameters), the 13st one was -1 for not configuring the HK.
are you sure that
controllers.gpio.args="map=5 gpio=4,17,6,5,19,26,16,24,23,18,15,14,23"
is working, because I made these tests without success, I had to add variable in S26recalboxsystem to deal with map parameters. -
@ian57
Not your bad, but some pieces of software too much simple in error handling. So it should work with parameters as it is feeded up, or giving a clear error feedback.
Now, I think that I also modified everything backward, but I have no ideas about cache's in the package. I will make in the afternoon a fresh install and tell back -
@Substring
@ian57
I am back and tested with a fresh install on release 180330 that I use everywhere, not to introduce other error.And I can confirm you, all engines running. The custom parameter in recalbox.conf is accepted and processed, as you see also in recalbox.log, without any modification on the kernel part and also without file mk_arcade_joystick.conf in /etc/modprobe.d ! The winner take's it all.
15.50] updated wifi settings : ssid= [ 15.54] setting keyboard layout to de [ 15.57] [ 15.53] : loading module mk_arcade_joystick_rpi args = map=5 gpio=4,17,6,5,19,26,16,24,23,18,15,14,23 [ 15.57] updated wifi settings : ssid=Lounge 2,4G AM
So you can put this ko in the next release.
Next digging from my part will be on ili934x driver, I think that Subs also was meaning this one for 60fps. -
@Dragu tha'ts a good news.
-
@Substring
@ian57
As you can see, the AlekFULL theme comes pretty well under this small screen. I will at a certain moment make some improvement on the fonts (text that is hidden for the moment.)Why you dont see it? Because the GBA has a cutout frame off 3" and display has 3.2". Original GBA display had 2.8".
Main problem from waveshare32b.dtbo driver is low speed but also no possibility to shift the viewing area or compress.
Therefore, next step is ili9341 that has all this features and is also already in the Recalbox package. -
-
@Substring
But Kodi I am able to load. Now in general I dont use it, so maybe something.
But I have another question for you. The line in config.txtdtparam=spi=on
does this line load's spi-bcm2835.ko ? Or something else, its in relation with the fb-ili9341 driver.
-
@dragu no the libe triggers some hardware functionnality, which can in turn make the kernel load the required ko in a.plug-n-play style
-
@Substring
With the ili9341 driver I may have reached my limits, but I also cannot find the executable con2fbmap in the recalbox bin. -
@dragu prolly it doesn't exist
-
-
@dragu what's the point of it ?
-
@Substring
I found a copy now. It's an utility that should write a framebuffer to the device by a certain driver. So more for testing. ili9341 is writing only newly changed parts of the framebuffer to the display, as waveshare driver is doing the whole. This should be about real 60fps instead of 30fps. As I am not able to compile and have no Linux system for this, I will just use what exists without special branches for my toy.