Handheld Recalbox
-
Salut tout le monde! Je vous présente mon projet de console portable que j'aimerais finaliser sous Recalbox!!
Je me suis basé sur un Raspberry Pi 2B et pour la partie "autres composants" j'ai utilisé:- Pour l'alimentation: 4 X Batteries 800mAh 3.7V https://www.amazon.fr/gp/product/B015FCPIBI/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1
1 X Carte PowerBoost 1000 Charger - Rechargeable 5V Lipo USB Boost @ 1A de Adafruit http://www.adafruit.com/products/2465#tutorials - Pour le son: 1 X Carte Stereo 2.8W Class D Audio Amplifier - I2C Control AGC - TPA2016 de Adafruit http://www.adafruit.com/products/1712#tutorials 2 X Mini Metal Speaker w/ Wires
- 8 ohm 0.5W de Adafruit http://www.adafruit.com/products/1890#tutorials
- Pour la vidéo: 1 X Ecran PiTFT Plus 480x320 3.5" TFT+Touchscreen for Raspberry Pi de Adafruit http://www.adafruit.com/products/2441#tutorials
- Pour la partie "manette": 1 X Carte Teensy 3.2 de Adafruit http://www.adafruit.com/products/2756#tutorials 2 X Joysticks PSP 2-Axis Analog Thumb Joystick http://www.adafruit.com/products/444#tutorials 12 X Tactile Button switch (6mm) x 20 pack http://www.adafruit.com/products/367#tutorials
Pour l'architecture, la carte d'alimentation alimente directement le raspberry pi 2B et la carte son. Elle est assez puissante pour alimenter la console et en même temps recharger les batteries (pour ça il faut néanmoins un chargeur 2A). L'écran est connecté aux ports GPIO du Raspberry, je n'utilise pas la partie tactile de l'écran. La carte son est connectée à deux hauts-parleurs et est reliée au Raspberry par la prise jack. Pour la partie "manette", la carte teensy me permet d'interface usb et est reconnue par le Raspberry comme une manette classique usb du marché. J'ai écrit un programme qui prend en compte 12 boutons plus deux joysticks de PSP. (voir photos) Pour la partie "coque" je suis parti de 0 et j'ai conçu la console sur mesure sur FreeCAD pour ceux qui connaissent. Je compte imprimer la coque sur une imprimante 3D (que je souhaiterais acquérir pour d'autres projets que j'ai déjà). Ci-joint un petit aperçu de la coque. Le tout fonctionne déjà très bien j'ai un seul problème mais pas le moindre.... je n'arrive pas à faire fonctionner l'écran avec Recalbox... Les images montrent pour l'instant le projet qui fonctionne avec Retropie mais franchement ça me fait c.... car Recalbox c'est vraiment plus classe et ça fonctionne vraiment mieux.
- Pour l'alimentation: 4 X Batteries 800mAh 3.7V https://www.amazon.fr/gp/product/B015FCPIBI/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1
-
Bon le fichier .stl ne passe pas. Je mets la coque en PDF
-
Bonjour @Cluf20 si ton écran a besoin de pilote pour fonctionner , il n'est pas compatible avec recalbox car ils doivent être intégré à celui ci. Idem pour le reste de ton matériel y a t il besoin de pilote ? si oui lesquels ? Voir avec un dev à ce sujet sur le canal irc peut être. Bon courage pour ton projet
-
Salut Acris Oui il en a besoin !! Mais bon l'espoir fait vivre lol j'ai déjà mis une issue sur le github. Prochainement je vais passer à l'impression. Je posterai des photos!!
-
Bonjour! Je crains que je ne sais pas beaucoup de francais, mais je comprends comme ci comme ça. J'aime votre project. My french is limited, so i hope you can understant my english. I'm doing a similar project and i'm very interested in your project and how to add Adafruit TFT compatibility to Recalbox. So i hope you could tech us how did you achive it. Thanks.
-
Salut jj je posterai l'avancement de mon projet et si j'arrive à faire fonctionner l'écran je mettrai le tuto. Hi jj I'll post the progress of my project and if I can operate the screen I'll put the tutorial .
-
oh, I thought you already have a way to work with recalbox and the Adafruit TFT. I can try to help you, or we can work together to achieve it if you want. I'm really interested because i'm doing a similar project and i would love to have a portable recalbox console. Google Traslate: oh, je pensais que vous avez déjà un moyen de travailler avec recalbox et Adafruit TFT. Je peux essayer de vous aider, ou nous pouvons travailler ensemble pour y parvenir si vous voulez. Je suis vraiment intéressé parce que je fais un projet similaire et je serais ravi d'avoir une console de recalbox portable.
-
Ok for me we can work together
-
Hello, i made it! I can get the video signal output in the TFT display. Is far from ready to use but at least it "partially" works. Using fbtft (is already in 4.0.0 beta version of recalbox) and fbcp i can get the signal from the HDMI port and use it on the TFT screen. It works in the menu, but when i try to play i game, it goes to the recalbox black screen like the game isn't using HDMI or something. I need to test much more and fix those things and i will post a tutorial.
-
Hello @pinuct @jj thanks for your help. are you look resolution configuration in recalbox.conf
# ------------ H - HERE IT IS - GLOBAL EMULATOR CONFIGURATION ------------ # ## The global value will be used for all emulators, exept if the value ## is redifined in the emulator ## Set game resolution for emulators ## select your mode from the command : tvservice -m [MODE] ## CEA 5 HDMI : 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced ## CEA 4 HDMI : 1280x720 @ 60Hz 16:9, clock:74MHz progressive ## use 'default' for using the default resolution ## (string) global.videomode=CEA 4 HDMI
may be this link you help you. https://github.com/recalbox/recalbox-os/wiki/Video-configuration-detailled-(EN)
-
Hello Acris, Thanks to your help i solve it. The resolution was changing when the emulator was launched, that cuased strange behavoir. As you said, i change
global.videomode=default
for keeping the resolution the same everywhere. And now the menu and the games are in the TFT!! And now how i configure the TFT: Before doing anything o have to say that i'm using Raspberry Pi 3 model B and the lastes version of Realbox 4.0.0 beta3. Also note, that i'm learing at the same time i'm doing this, so maybe i'm using wrong terminology, or saying/doing something wrong. First you have to configure the system to use the TFT screen with fbtft, in my case i'm using the Adafruit 3.5 inches TFT screen, but i think you can use a diferent screen changing a little bit the configuration (if it's supported by fbtft). I have another tft laying around, i'll try it next week. For configure the TFT first we need to enable the SPI bus of the raspberry pi, to do that, write at the end of /boot/config.txt:
dtparam=spi=on
Also you need to add to the file /etc/modules.conf :
spi-bcm2835
Note: i don't know if anyone have this problem, but i read on the forums, and it seem that other people have the same problem. The problem is that when you try to write, you can't because the file systems is only read. To solve it use:
mount -o remount,rw / mount -o remount,rw /boot
After enabling the SPI you can reboot. After reboot you can enable the TFT by using the comand:
modprobe fbtft_device name=pitft
if the TFT screen changes from white to black (maybe with some random color pixels) means that it's working. To make it lanuch at boot you have to add to the file /etc/modules.conf :
fbtft_device
and create a file under /etc/modprobe.d/fbtft.conf with the next line of code:
options fbtft_device custom name=pitft width=320 height=480 rotate=90 speed=62000000 fps=60
And then, if you reboot and wait after the emulatorstation starts you can watch a flash in the screen. And under /dev , if you run the command ls, you must see now two fbx devices: fb0 is the framebuffer from the HDMI and fb1 the framebuffer from the TFT screen. To reproduce the HDMI output in the TFT you have to copy the fb0 to fb1, for that fbcp is used. You can't compile in recalbox, so to test it i made a dirty workaroung, i used Raspbian to compile it (it's a very small program) and then i copied the compiled file to the Recalbox image. For doing it right the fbcp program must be compiled with buildroot, but i don't know how to do it (in the future i'd like to integrate it). Then you can test if it works, executing thos file in Recalbox, it automatically copies the fb0 to fb1 and you must see the same output in the HDMI monitor, and in the TFT. To automatically launch fbcp modify the starting scripts under /etc/init.d/ . I write added it to S99Custom so fbcp is launched at the end of the init scripts. I think i'm forgeting something and there is a little bit of extra configuration to do, but i'm writing it from memory and i'm out of time. Sorry for that, next week i'll complete it. But for now i think you can reproduce it with this indications. Thanks and keep working hard!
-
Hello jj, good job you are my god! But can you explain more about the end of your tutorial from the moment you compile and what emplecement you put the compiled file and how you modify file so that it starts right away? I'm not too good is that you can send me the file as compiled ? Thank you very much for your work!!
-
Hi Cluf20, thanks. Because in recalbox there isn't compilator you can't compile the fbcp directly. It has to be compiled with/in buildroot, don't know how to yet, but there is some totorials on recalbox wiki. A dirty work around you could do is compile it in the SAME raspberry pi, but with other SO that alows you to compile it. In my case i writed an image of raspbian in my SD card and i compiled the fbcp:
sudo apt-get install cmake git clone https://github.com/tasanakorn/rpi-fbcp cd rpi-fbcp/ mkdir build cd build/ cmake .. make
This generates a fbcp file. You can copy this file to your computer, rewrite an image of recalbox in you sd, copy again the file to recalbox, and then you can use it. The compiled file probably won't work in other models of raspberry pi diferent than where it is compiled. Put the fbcp compiled file where you want but remember to use:
chmod +x fbcp
to alow the execution of the file Then for autostart the executable i followed this tutorial in the wiki. In the file S99Custom under /etc/init.d/, you must put the folowing line:
./path_to_the_fbcp_file/fbcp &
replacing path_to_the_fbcp_file with the actual path of the fbcp file. I included my compiled file in the post but you have to be sure to use the same model of raspberry pi (Raspberry Pi 3 Model B) or it won't work. I hope this helps you. In the meantime i'm working in the optimization of the process and in a tutorial for doing it.
-
OK jj what's the extension of your file? I don't see it in your post?
-
JJ, I asked the team if he could compile recalbox basic FBTFT to recalbox for projects of portable consoles . It will be integrated in a future release .
-
Hi, I can't upload the file, i don't know why. About FBTFT, it is already integrated with recalbox in the beta of the new release. The part that it's missing is the FBCP. So if the team include the FBCP compiled file in the next release it will be awesome, because then we will have al the elements necesary for a TFT screen to work with the GPIOs of the raspberry. The fbcp program is very very lightweight so i don't see any problem to include in recalbox if we ask them politely. And a lot of people will be happy (me included) to use recalbox in a portable console. Thanks.
-
Ok so we only need to add this binary to recalbox ? https://github.com/tasanakorn/rpi-fbcp
-
Hi rockaddicted, Yes, with the fbtft already in the beta, the only need is the compiled version fo fbcp, ready for being executed. It will need a litlle bit of extra configuration, but with a good tutorial everyone will be capable of doing it. Thanks!
-
Ok so I'll looking to add it to recalbox, and I'll let you make a full wiki
-
Hello hello! I followed your procedure jj and it works but after restart impossible to run again on the screen. So I hacked ... and it's work for the moment... I detected some errors in your tutorial if you write the wiki I can also watch for mistakes.