Forum Replies Created
-
AuthorPosts
-
flauschParticipant
I will check image size, compression and transfer possibilities when I am home. Let’s do the rest as private message.
flauschParticipantThis should be possible somehow. But keep in mind, that my version is outdated, since I did not use it for some months and did not update since 3.0
flauschParticipantI think it is this line (but my linux knowledge is quite thin):
gamecon-gpio-rpi-dkms depends on dkms (>= 1.95); however: Package dkms is not installed.
I don’t know why, but dkms should be there by default. But maybe there was a mistake earlier already?
Maybe you installed the wrong header files?My suggestion is to ask for help from the developer of the db9 driver himself here:
https://www.raspberrypi.org/forums/viewtopic.php?t=15787Post your log there and you should get help by someone who does more than guessing… ;)
flauschParticipantThe common problem is a mismatch of the installed debian version and the header files of the driver.
First you have to check your installed raspbian version with
uname -r
Then you need to download the right headers.
You can use your browser to check which versions are available here:
http://www.niksula.hut.fi/~mhiienka/Rpi/linux-headers-rpi/Use putty to connect to your pi.
Copy/Paste the link with your version from the browser to Puttywget [pasted link]
Example:
wget http://www.niksula.hut.fi/~mhiienka/Rpi/linux-headers-rpi/linux-headers-3.18.10-v7%2b_3.18.10-v7%2b-2_armhf.deb
Now download the drivers:
wget http://www.niksula.hut.fi/~mhiienka/Rpi/gamecon-gpio-rpi-dkms_1.0_all.deb wget http://www.niksula.hut.fi/~mhiienka/Rpi/db9-gpio-rpi-dkms_1.0_all.deb
Then we have to install everything:
First the headers withsudo dpkg -i [your downloaded header file]
Example:sudo dpkg -i linux-headers-3.18.10-v7+_3.18.10-v7+-2_armhf.deb
And then the drivers:
sudo dpkg -i gamecon-gpio-rpi-dkms_1.0_all.deb sudo dpkg -i db9-gpio-rpi-dkms_1.0_all.deb
If you want to test it:
sudo modprobe db9-gpio-rpi map=1,1
“1,1” loads two joysticks with one button. “1,0” loads one joystick. Check documentation if you have different joysticks.
You can check if everything is ok with
jstest
.
To check the first joystickjstest /dev/input/js0
. If you have already other controllers hooked up, the new joysticks can be js1, js2, js3…If this works, you can load the driver automatically every bootup:
sudo nano /etc/modules
and put the linedb9-gpio-rpi map=1,1
there.
Put it on first place, if you want to load it before other game controllers like an xbox pad. This is important in emulators like UAE4ALL2, that choose the first available joysticks as default. This not necessary with other emulators.flauschParticipantSorry, I only checked if 2600 worked for me, but did no further configuration yet, because my priority was C64 and Amiga.
Did you check the wiki? https://github.com/RetroPie/RetroPie-Setup/wiki/Atari-2600
“Press Tab to access configuration menu- choose input settings and under the tab Emul. Events you can create custom controller mappings to work for your individual controllers”
flauschParticipantThe pinout is correct!
flauschParticipantYes, it is inside Retropie and can be installed from the retropie setup.
Sometimes it does not work and must be installed manually.
This is what I did, but you have to adapt it to your kernel version!
wget http://www.niksula.hut.fi/~mhiienka/Rpi/linux-headers-rpi/linux-headers-3.18.10-v7%2b_3.18.10-v7%2b-2_armhf.deb wget http://www.niksula.hut.fi/~mhiienka/Rpi/gamecon-gpio-rpi-dkms_1.0_all.deb wget http://www.niksula.hut.fi/~mhiienka/Rpi/db9-gpio-rpi-dkms_1.0_all.deb sudo dpkg -i linux-headers-3.18.10-v7+_3.18.10-v7+-2_armhf.deb sudo dpkg -i gamecon-gpio-rpi-dkms_0.9_all.deb sudo dpkg -i db9-gpio-rpi-dkms_1.0_all.deb
To load it:
sudo modprobe db9-gpio-rpi map=1,1
To load it every boot put
db9-gpio-rpi map=1,1
in /etc/modulesflauschParticipantIf it is possible, you should find it here:
https://www.raspberrypi.org/forums/viewforum.php?f=78Or at least you should find someone who could tell you if it is possible or not.
flauschParticipantSorry no. I like the way emulationstation has everything under one gui.
flauschParticipantRetropie 3 with Emulationstation.
flauschParticipantI had some breakthrough yesterday:
I managed to get both GPIO joysticks to be js0 and js1, while my xbox controller became js2! This was the requirement to use these joysticks with the hardcoded input mapping of UAE4ALL2.
What I did:
1. I installed the xbox-driver as daemon, using step 3 of >this tutorial<2. Then I blacklisted the xpad driver (the default Linux USB driver for X-Box gamepads). Something I read in the manpage of xboxdrv:
Add the line “blacklist xpad” into file /etc/modprobe.d/raspi-blacklist.conf3. After that I only had put the gpio driver on first place in /etc/modules
xboxdrv works much better than the kernel xpad driver, because it has much more options. It has the possibilty to define a deadzone, which made some problems with xpad inside UAE4ALL2, because js0 and mouse are used both simultanously on the first amiga port. Now I can click the right mouse button for some trainer options at gamestart, while I can use the first GPIO joystick inside of the game itself.
I had problems with UAE4ARM, but there was no time to dig deeper into that. There seems to be some additional bugs in the joystick code.
But in UAE4ALL2 (chips version 5) everything worked perfectly. The same in Vice.
There is still one expected sideffect: All retroarch emulators and controls need to be reconfigured. So there is still some work to do.Nevertheless I hope chips will come up with a proper joystick gui and mapping someday. That would make things much easier and beginner friendly.
flauschParticipantThe db9 gpio driver supports up to three buttons, if you look at the pinout in the wiki. You just have to solder them the right way to the db9 connector. I don’t know if there is a standard for db9 with more than one button, since classic computers like C64 and Amiga had only one.
Maybe you have to modify your joystick then and can not use it at real classic computers anymore, because they might cause damages there.I think I read somewhere about other GPIO drivers, which support GPIO with many buttons for mame machines.
flauschParticipantI wondered myself when I looked at the wiki. I think the numbers there are not the physical pins but maybe some virtual ones inside raspbian? If you look at the picture vs. the chart you will see that these don’t match. For example player1 up: chart says pin 4, picture shows pin 7. The picture is correct in terms of how to solder.
My documentation shows the real physical pinout. I soldered two of these and they work perfect.
flauschParticipantManual installation of db9-gpio-rpi (using current kernel version):
Login in as user pi.
wget http://www.niksula.hut.fi/~mhiienka/Rpi/linux-headers-rpi/linux-headers-3.18.10-v7%2b_3.18.10-v7%2b-2_armhf.deb wget http://www.niksula.hut.fi/~mhiienka/Rpi/gamecon-gpio-rpi-dkms_1.0_all.deb wget http://www.niksula.hut.fi/~mhiienka/Rpi/db9-gpio-rpi-dkms_1.0_all.deb sudo dpkg -i linux-headers-3.18.10-v7+_3.18.10-v7+-2_armhf.deb sudo dpkg -i gamecon-gpio-rpi-dkms_0.9_all.deb sudo dpkg -i db9-gpio-rpi-dkms_1.0_all.deb
Depending on the kernel you are using, you might have to look for the matching header files on this website: http://www.niksula.hut.fi/~mhiienka/Rpi/linux-headers-rpi/
You can load the driver then with:
sudo modprobe db9-gpio-rpi map=1,1
on console.If you want to load it every time retropie starts, you must add “db9-gpio-rpi map=1,1” in file /etc/modules
Yes, I have seen this one and already tested UAE4ARM. If you look at its thread in raspberry forums, you will see that I am already active there. Chips responded to my post. So we might get a proper solution someday!
I don’t have any knowledge concerning hdmi audio, because I never came to the point of real playing, because of the joystick issue. I hope someday I can take my pi2 out of my lab and put it in the living room…
flauschParticipantI did some further testing yesterday:
I unplugged my wireless keyboard-mouse combination and used s single wired keyboard. I also unplugged my xbox-gamepad and left only two GPIO-Joysticks.
Because it is not possible to use these joysticks inside Retropie (not enough buttons), I quit to shell and started UAE4ALL2 manually.
And guess what? I could start Great Courts II and play a two player game with both joysticks.
This was my expected behaviour after looking at the source code.
No matter what, port 0 is mapped hard to /dev/input/js0 and port 1 is mapped to /dev/input/js1. Before, js0 was my xbox pad and there was some strange behaviour when a mouse was connteced, which got mapped to port 0 too.In this test, GPIO-Joystick1 was js0, GPIO-Joystick2 was js1 and everything worked fine.
My test was done with chips UAE4ALL2 version 5. I had some problems with UAE4ARM (no button click), which needs some further testing.
flauschParticipantHi Rinusch,
It is possible to exchange emulators inside retropie manually. I did this and it works, following this post (and the next one).
But I think you mean to get it offically into retropie? As far as I followed some threads, chips version might become the amiga emulator of choice, when it starts to get major advantages over the currently used version.
Back to joysticks: I hope Chips will fulfill my request someday. But if there is no improvement during the next weeks, I might look at the problem myself, since I am software developer for 20 years. This is not exactly my playground, but I looked at the source code and already located the places that need to be changed: The init_joystick function and some gui code.
This should not be to hard. But for me it takes some more effort and time to setup up a working development environment. I’d prefer if someone does it, who has already experience with raspberry developement.I never looked at joy2key. This might be another workaround with its limitations.
flauschParticipantHello Rinusch!
I have made this solution:
The GPIO driver für DB9 had to be installed manually, because the one included in retropie did not work (maybe because of a newer kernel after some updates)
I also made an external usb to two DB9 adapter, bought here (you have to solder it yourself)
http://www.sinchai.de/index.php?main_page=product_info&cPath=1&products_id=137Both solutions work flawless inside Retropie (testet with C64, Atari 2600, Atari ST)… except in UAE4ALL2.
Concerning UAE4ALL2 I made some research, but with no pleasing result:
I installed different forks of UAE4ALL2 but all of them have the same problem… hardcoded inputs.I did a request at one of the most promising forks called UAE4ARM:
https://www.raspberrypi.org/forums/viewtopic.php?f=78&t=110488So it looks like we have to hope and wait.
-
AuthorPosts