Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    RPI2JAMMA ou comment brancher un RPI sur une borne d'arcade

    Your recalbox
    recalbox jamma
    7
    23
    13074
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ajefr
      ajefr last edited by

      Salut à tous' Voilà, je viens présenter une carte dont je viens de terminer le premier proto, il y aura sûrement une production en fonction du nombre d'intéressé. C'est donc une carte permettant de brancher un raspberry pi sur une borne d'arcade équipée d'un port jamma. Donc voilà la bête montée avec un RPI3 : Et  en utilisation (bon, ma borne n'est pas super bien réglée  :oops: )   La majorité des gpio sont utilisés pour la gestion de l'écran et les contrôles sont lus par l'I2C. J'ai pour le moment testé avec succès deux distribs retro : recalbox et retropie. Le soucis avec la recalbox c'est que le driver mk_arcade_joystick_rpi présent dans la version 4 ne supporte plus l'I2C, heureusement un membre de gamoover m'a compilé une version compatible. Serait il possible de réintégrer cette fonctionnalité ?   Pour ce qui est de l'écran, une borne fonctionne en 15khz et 60Hz de rafraichissement, par contre à différentes résolutions en fonction du jeu. Les jeux d'arcade n'utilisent donc pas tous la même résolution. Le pi est capable de fournir ces résolutions (à part certaines aux timing trop serrés) mais par contre le gros inconvénient maintenant, c'est que je n'ai pas trouvé d'autre moyen que de configurer la résolution dans le config.txt. L'idéal serait de pouvoir changer la résolution "on the fly", sans redémarrer le système. Le jeu serait donc "pixel perfect" sur un écran d'arcade Pour ceci il faudrait avoir accès aux hdmi timing depuis la console avant le lancement d'une rom et/ou émulateur. Quelqu'un d'assez calé ici pour m'expliquer comment faire ?   Je ne suis pas un expert en linux, juste un "amateur éclairé", mais j'aimerai idéalement pouvoir faire une distrib spécifique à base de recalbox.   Voilà, voilà A bientôt

      jay D 1 Reply Last reply Reply Quote 0
      • vika
        vika last edited by

        Pouet Joli projet ! Tu peux nous détailler d'avantage le fonctionnement ? (tu as quoi entre les GPIO et la sortie RGB, tu fais quoi comme modifs dans ton config.txt, etc) Et sinon pour tes demandes: avec le binaire tvservice et fbset tu peux faire normalement ce que tu veux. quelques liens: https://pylci.readthedocs.io/en/latest/apps/tvservice.html https://github.com/adammw/rpi-output-swapper Merci 🙂

        1 Reply Last reply Reply Quote 0
        • acris
          acris last edited by

          Bonjour Faudrait te rendre sur irc pr discuter av les dev aux sujets de i2c. Pour la resolution video as tu regardé si recalbox.conf ne ferait pas laffaire. Voir le wiki.

          1 Reply Last reply Reply Quote 0
          • Substring
            Substring last edited by

            @ajefr magnifique projet mec ! Et je pense que ca va en intéresser plus d'un ... Par contre, je vais te poser une question très bête : j'ai vu récemment sur youtube un mec brancher un pi sur une blast city je crois avec un shcéma bcp plus simple : PI -> HDMI2VGA -> carte VGA-> JAMMA. Quelle différence avec ton projet ? Autre question con : tu n'as jamais testé la sortie composite du pi ? La sortie jack envoie de l'audio ET du composite ... Pour les résolutions, vik t'a bien répondu. Par contre je ne suis pas sur que tvservice marche sur gpio, mais autant essayer

            Former dev - Please reply with @substring so that i am notified when you answer me
            Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

            1 Reply Last reply Reply Quote 0
            • vika
              vika last edited by

              alors @ajefr ca marche ?

              1 Reply Last reply Reply Quote 0
              • ajefr
                ajefr last edited by

                Salut, Désolé de la réponse tardive. En fait TVservice et outputswapper ne font pas "suffisament" l'affaire. Ils permettent juste de zapper entre des modes connus, là je veux redéfinir un mode custom. On peut définir dans le "config.txt" un mode custom, et là, je veux le redéfinir une nouvelle fois sans avoir à redémarrer le système. @subs Le projet évite de multiplier les câbles, et surtout, les bornes ne fonctionnent pas toutes en VGA mais plutôt en CGA, le but ici étant de sortir un signal vidéo identique à une carte de jeu originale.   A+

                1 Reply Last reply Reply Quote 0
                • vika
                  vika last edited by

                  ben avec xrandr ou fbset tu peux definir tout comme tu veux normalement (et sinon tu peux meme ecrire directement dans /sys/class/graphics/fb0/mode mais c'est ce que fait fbset ...) c'est quel param de la conf que tu veux changer sans reboot ? hdmi_cvt ?

                  1 Reply Last reply Reply Quote 0
                  • ajefr
                    ajefr last edited by

                    C'est surtout le paramètre hdmi_timing que je veux mettre à jour. Xrandr met à jour le serveur X, mais est ce celui ci utilisé pour emulationstation et/ou les émulateurs ? Je vais jeter un oeil, mais j'ai un doute

                    1 Reply Last reply Reply Quote 0
                    • vika
                      vika last edited by

                      effectivement c'est pas X du coup les pistes que j'ai trouvé: il existe des interfaces "mailboxes" sur rpi qui permettent de faire interaction ARM <=> GPU (doc: https://github.com/raspberrypi/firmware/wiki/Mailboxes) qui permet de faire certaines actions sur le videocore (https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface#set-physical-display-widthheight) un mec s'en sert pour tester l'overscan sans reboot: https://github.com/ukscone/set_overscan/blob/master/overscan.c mais je crois qu'il y a rien d'utile pour les timings la dedans

                      1 Reply Last reply Reply Quote 0
                      • vika
                        vika last edited by

                        Ya une commande "vcgencmd" pour obtenir les timings définis, entre autre pour hdmi, dpi, pixel etc et je soupçonne que ca doit etre défini au boot (avant le cpu ARM, c'est d'abord le GPU qui lit le config.txt, donc ca m'étonnerait pas que ca soit fixé au boot ...) http://elinux.org/RPI_vcgencmd_usage

                        1 Reply Last reply Reply Quote 0
                        • vika
                          vika last edited by

                          J'ai trouvé la liste des commandes qu'on peut send au videocore. Dedans ya un "vc_tv_hdmi_set_property" (L489) qui prend un "HDMI_PROPERTY_PARAM_T" (defini la dedans) mais osef aussi je crois... Faudrait faire une issue sur https://github.com/raspberrypi/firmware/issues pour avoir les meilleures infos possibles je pense

                          1 Reply Last reply Reply Quote 0
                          • ajefr
                            ajefr last edited by

                            Salut, Merci de tes infos, je vais regarder ça de plus près, avec les mailbox, on doit pas être très loin, je suis tombé sur toutes les différentes property : https://github.com/raspberrypi/firmware/wiki/Mailbox-property-interface Mais il n'y a toujours pas celles qui m'intéressent. Je vais tenter l'issue sur le site raspberry, j'ai déjà contacté dom du forum, mais aucune  nouvelles. A bientôt

                            Substring 1 Reply Last reply Reply Quote 0
                            • Substring
                              Substring @ajefr last edited by Substring

                              @ajefr je sais que le sujet est ancien, mais les choses ont changé chez RPI et on peut à présent regler les timings HDMI à la volée

                              Former dev - Please reply with @substring so that i am notified when you answer me
                              Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                              ajefr 1 Reply Last reply Reply Quote 0
                              • zico92
                                zico92 last edited by zico92

                                ahh Néo-arcadia arrive, hein aje_fr!! (moi c'est zico92)

                                Je me demandais pourquoi tu n'étais pas encore venu par ici!!

                                J'ai vraiment hâte de voir ce projet aboutir!!!

                                Substring 1 Reply Last reply Reply Quote 0
                                • Substring
                                  Substring @zico92 last edited by

                                  @zico92 on a un sujet sur crt qui avance à grands grands pas et qui donne des resultats très prometteurs 😉

                                  Former dev - Please reply with @substring so that i am notified when you answer me
                                  Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                  1 Reply Last reply Reply Quote 0
                                  • zico92
                                    zico92 last edited by

                                    @subs oui mais mon astro city est en jamma et ce projet peut toucher une grosse communauté

                                    Substring gkralicek2 2 Replies Last reply Reply Quote 0
                                    • Substring
                                      Substring @zico92 last edited by

                                      @zico92 je ne dis pas le contraire 🙂 je me contentais de parler du crt 😉

                                      Former dev - Please reply with @substring so that i am notified when you answer me
                                      Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                      1 Reply Last reply Reply Quote 0
                                      • gkralicek2
                                        gkralicek2 @zico92 last edited by gkralicek2

                                        @zico92 Une interface J-PAC à 40 euros connectée sur la sortie VGA d'un convertisseur HDMI-VGA branché sur le pi avec un signal envoyé à 240P comme indiqué dans le topic "Recalbox sur CRT" permet sans problème une connexion JAMMA sur une Astro City (du moins pour la partie vidéo). Pour le son (qui est en sortie ligne sur le pi mais doit être amplifié pour la connexion en entrée JAMMA sur la borne, un bête ampli surmoulé réglable (avec alimentation par deux piles boutons 3v) à 10 euros branché entre la sortie Audio Jack du converto HDMI-VGA et l'entrée audio du J-PAC et tada !! Le tour est joué :=). Au final cela ne requière que 2 câbles, une carte J-PAC et.... moins de 60 euros de budget en se débrouillant bien :=)

                                        Sinon il y a plus simple en n'utilisant qu'un seul cable VGA+Audio->SCART (environ une vingtaine d'euros port inclus chez retrocable.es) branché sur le convertisseur HDMI->VGA+Audio d'un côté et sur une carte SCART2JAMMA comme celle décrite ici : http://etim.net.au/scart2arcV20/scart2arc2.htm de l'autre
                                        Par contre cette solution semble être plus chère que la première et il faut compter sur un budget autour de 100 euros , la carte SCART2JAMMA se négociant autour de 70 -80 euros sur eBay US.

                                        Substring 1 Reply Last reply Reply Quote 0
                                        • Substring
                                          Substring @gkralicek2 last edited by

                                          @gkralicek2 pk un jpac ? tu peux faire sur gpio ...

                                          Former dev - Please reply with @substring so that i am notified when you answer me
                                          Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                          gkralicek2 1 Reply Last reply Reply Quote 0
                                          • gkralicek2
                                            gkralicek2 @Substring last edited by gkralicek2

                                            @subs Le J-PAC permet l'amplification des signaux RGB avant entrée sur le connecteur JAMMA car les moniteurs arcade (à contrario des TVs) n'amplifient pas le signal vidéo et veulent en entrée un signal à niveau TTL (5V) alors que la sortie VGA du Pi ne fournit que des signaux RGB sur 0.7-1v (comme les TVs). Je ne suis pas sûr que le GPIO en fasse autant et permette d'avoir en sortie des signaux RGB sur 5v (mais je dis peut être une connerie car je ne me suis jamais penché sur le GPIO pour la sortie des signaux RGB donc si çà se trouve, il est possible de leur faire cracher du 5v... mais j'ai un gros doute là-dessus :=) )

                                            Substring 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Want to support us ?

                                            89
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com