Annonce

Réduire
Aucune annonce.

Mister FPGA et autres sytemes FPGA

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

    Bonjour,

    Je vais vous présenter aujourd'hui ce qui est désormais reconnus comme la solution ultime du rétro gaming, à savoir le mister FPGA
    Avant de vous parler du Mister FPGA, il faut déjà définir ce qu'est le FPGA.
    Le FPGA (Field-Programmable Gate Array ou Circuit logique programmable) est une puce dont le fonctionnement peux etre programmé autant de fois qu'on le souhaite.
    En effet, la logique du circuit voulus est programmé dans le langage VHDL (VHSIC Hardware Description Language) qui décrit tout les portes logiques du circuit.
    Ces puces FPGA servent à l'origine aux ingénieurs qui conçoivent de nouvelle puces : on décrit la logique de la puce à concevoir en VHDL qui est chargé dans une puce FPGA pour tester que ça fonctionne comme attendu.
    Les puces FPGA existe dans une gamme de prix extrêmement varié (ça peux atteindre les dizaines de millier de dollars).
    Heureusement pour nous il existe des puces FPGA peu coûteuse notamment pour les étudiants.
    Parmi ceux ci la gamme Cyclone d'Intel
    On trouve par exemple un Cyclone IV sur les cartouches SD2SNES pro ou un Cyclone V dans le Super NT
    C'est ce Cyclone V qu'on trouve sur la carte DE10-nano qui nous intéresse dans le présent article.

    Venons en au projet Mister FPGA. Il s'agit d'un projet logiciel utilisant notamment les carte DE10-nano qui utilisent donc une puce FPGA cyclone V d'Intel (la carte elle même est conçu par Terasic, société basé à Taiwan) et ayant pour but de simuler un maximum de machine rétro (qu'il s'agisse d'ordinateurs, de console ou de machines d'arcades) à l'aide de la puce FPGA.
    Actuellement, sont présent : 71 cores d'ordinateur (dont les Amstrad CPC, Atari ST, Amiga500/1200, Macintosh, Apple 2, MO5, MSX, PC 486DX, ...), 28 cores de consoles ( des vieilles consoles Magnavox, et autres Atari 2600 jusqu'à la GBA en passant par les indispensables Snes/Megadrives/PC engine/Neo-Geo. Les Neo-Geo pocket color, PS1 et Saturn sont en cours de conception) et un grand nombre de jeux arcade (dont le CPS1, CPS2 et Sega system 16 mais bien moins que ce qu'il existe sur Mame, mais il y a de nouveau cores arcade chaque semaine ou presque)
    Bon maintenant pourquoi le Mister FPGA c'est ce qui se fait de mieux en rétro gaming ? Et bien pour plusieurs raisons :
    - ça tourne nativement contrairement aux émulateurs qui tournent sur du Windows ou du Linux
    - C'est ultra fidèle vue que ça simule le comportement au niveau porte logique de l'électronique. On retrouve pas exemple le même bug graphique au début des niveaux de Pulstar Neo-Geo contrairement à l'émulation.
    - L'image et le son peuvent aussi bien sortir sur HDMI que sur VGA (et donc péritel via un adaptateur), le son peux sortir également via mini jack ou SPDIF. et le mieux c'est qu'on peux faire tout ça à la fois, c'est à dire jouer sur sa TV cathodique et sortir via HDMI pour streaming par exemple. L'affichage sur CTR via le VGA est natif et donc pixel/fréquence perfect avec 0 lag coté output
    - On peux brancher la plupart des manettes stick arcade en USB (j'ai testé mon stick arcade PS4 reconnus sans aucunes manipulation) et si on active le polling, on sera proche du zéro lag coté input
    - On peux brancher via des adaptateur SNAC (Serial Native Accessory Converter) les manettes d'origine qui dialogue alors directement avec le core pour une expérience 100% original (y compris en terme de lag qui est alors inexistant)
    - Le tout prend très peu de place (à peine plus gros qu'un Rapsberry PI)
    - Ca démare instantanément et le chargement des jeux ne prend qu'une poignée de seconde pour les plus gros (Garou mark of the wolf sur Neo-Geo par exemple)
    - Le rendu sur TV HD est fidèle car les pixel sont affiché via un multiplicateur entier (x4 ou x5)
    - On peux choisir ou non de mettre des scanlines, de supprimer la limite de sprite par ligne, de supprimer ou non les ralentissements, de changer ou non le rendu du son ou de l'image (shadow mask pour simuler un CRT), utiliser des savestate sur certains cores, mettre les cores en pause, faire des avances rapides.
    - Scummvm est utilisable (jeux d'aventure Lucas art)
    - les MAJ via un script à lancer sont ultra simple
    - il existe des cartes d'extension pour les brancher en JAMMA dans une borne

    Bref, on a une solution compacte, fidèle à 100%, avec zéro lag, polyvalente, qui peux utiliser aussi bien la plupart des manettes USB que les manettes d'origine et qui simule un maximum de machine.
    Les défaut sont :
    - le prix assez élevé (200€ la carte DE10-nano + 50€ pour les 128 Mo de SD ram + 50€ pour la carte d'extension USB, + 50€ l'IO board, sans oublier la carte SD)
    - Coté console on ira pas au dessus les PS1/Saturn (peux être la N64 et encore pas sur) sans passer à une autre carte ayant une puce FPGA avec un plus grand nombre de portes logiques disponibles.
    - il reste quelques truc pas encore simulé (32X, 3DO, Playdia, Nec FX, CDI, la pseudo puce MSU1 pour la SNES)
    - Coté arcade, ça avance mais on est encore loin du nombre de jeux sous Mame
    - L'interface est ultra spartiate, pas de belle interface avec vidéo/capture d'écran. jaquette comme il en existe en émulation.

    Perso, j'en ais monté un pour ma sœur comme cadeau de Noël pour qu'elle puissent jouer aux vielle consoles sur sa TV.
    J'en ais un autre qui doit arriver d'ici fin janvier qui ira dans ma borne une fois le Mister2Jamma reçu.
    Et peut être une 3eme pour la borne de ma sœur plus tard.
    Dernière modification par Kobras, 03 janvier 2022, 00h10.
    http://forums.planetemu.net/picture.php?albumid=17&pictureid=206
    http://zapier.planetemu.net/planetars/2013/bannieres-2013/kobras-planetars2013-bannieres.gif

    J'avais vu une série de vidéos assez bien faites (mais pas toutes) décrivant cet appareil sur cette petite chaîne: https://www.youtube.com/watch?v=0m89...E4y-S58gKURg7-
    http://mypsn.eu.playstation.com/psn/profile/FirebrandCrest.png

    Commentaire


      ça à l'air très intéressant. Y-a-t-il un système de serveur pour faire du multi ? Ptêt' encore cher actuellement... en gros si j'en veux un là c'est 350 balles c ça?
      http://zapier.planetemu.net/planetars/2012/bannieres2012-felicitations/06-10.gif

      Fan de Ryu ? Ce lien est pour toi

      *les laves-linge durent plus longtemps avec Ganon*

      - Oké alors maintenant tu me fais le bruit du scorpion qui meurt ok ?
      - *ROUUUUUUUUUUUUUU*

      "c'est censé être gentil une fée !! Ca vole ça a des ailes ça a des seins, c'est gentil !!"

      https://www.facebook.com/CrystallisChronicles/

      Commentaire


        C'est ça, 350€ environ
        Pour le jeux en réseau, il n'y a rien actuellement.
        Techniquement ça dois être possible mais rien n'as été fait sur ce sujet.
        Pour l'instant la priorité des développeurs c'est plutôt l'ajout de cores (PS1, Saturn, NGPC, arcades)
        http://forums.planetemu.net/picture.php?albumid=17&pictureid=206
        http://zapier.planetemu.net/planetars/2013/bannieres-2013/kobras-planetars2013-bannieres.gif

        Commentaire


          Envoyé par Kobras Voir le message
          C'est ça, 350€ environ
          Pour le jeux en réseau, il n'y a rien actuellement.
          Techniquement ça dois être possible mais rien n'as été fait sur ce sujet.
          Pour l'instant la priorité des développeurs c'est plutôt l'ajout de cores (PS1, Saturn, NGPC, arcades)
          du coup tu as acheter toi-même les cartes séparément et tu les as soudées? Ca marche si bien que ça?
          http://zapier.planetemu.net/planetars/2012/bannieres2012-felicitations/06-10.gif

          Fan de Ryu ? Ce lien est pour toi

          *les laves-linge durent plus longtemps avec Ganon*

          - Oké alors maintenant tu me fais le bruit du scorpion qui meurt ok ?
          - *ROUUUUUUUUUUUUUU*

          "c'est censé être gentil une fée !! Ca vole ça a des ailes ça a des seins, c'est gentil !!"

          https://www.facebook.com/CrystallisChronicles/

          Commentaire


            Aucunes soudures. C'est juste de l'emboitage et quelques vis. En 5-10 min c'est monté
            Et oui, pour avoir monté, installé et testé celui pour ma soeur, c'est fabuleux de rapidité, de fidélité, de simplicité et de possibilité
            On peux tout acheter séparément pour le monter soit même, ou en acheter des déjà monté.
            Le pb actuellement, c'est la disponibilité de la carte principale (De10 nano) et son prix qui fait que monter à cause des pénuries et de la forte demande pour une carte fabriqué en relative petite série
            Dernière modification par Kobras, 05 janvier 2022, 15h12.
            http://forums.planetemu.net/picture.php?albumid=17&pictureid=206
            http://zapier.planetemu.net/planetars/2013/bannieres-2013/kobras-planetars2013-bannieres.gif

            Commentaire


              Ca fait un moment que je lorgne dessus même si j'ai déjà toutes les consoles originales, juste pour la beauté de la chose et peut être pour l'utiliser sur la TV du salon plutôt que le CRT branché sur mes consoles. Par contre je vais attendre qu'un nouveau FPGA sorte, même si ça prend du temps, juste parce qu'avoir un ventilateur dedans ça me gêne un peu. Je suis certain que ce projet va encore beaucoup évoluer il y aura des cartes tout intégrées et j'espère un modèle sans ventilo.

              Par contre je chipote mais niveau fidélité même si on a bien l'avantage de ne pas avoir d'OS et que le FPGA peut gérer des timings parfaits, la fidélité à l'original ne se situe généralement pas au niveau des portes logiques. A moins que les chips originaux n'aient été décapés et analysés transistor par transistor pour être reproduits sur le FPGA, ce qu'offre le MiSTer reste de l'émulation même si elle est codée en Verilog plutôt qu'en C, C++ ou autre.
              http://dinofly.planetemu.net/images/president_planet_2012.png
              http://forums.planetemu.net/picture.php?albumid=17&pictureid=198

              Commentaire


                Je suis pas certain qu'un nouveau FPGA abordable pour la communauté sorte un jour, ou alors dans vraiment très longtemps (10, 15 ans ?)
                Faut se rappeler qu'à la base un FPGA de ce petit calibre, c'est pour les étudiant qui n'ont pas besoin de plus.
                Concernant le ventilateur, visiblement c'est pas obligatoire (Squallrs n'en met pas)
                Néanmoins l'IO board de ma sœur en a un de base et il est quasi inaudible. Au pire, on peut le remplacer par un Noctua (la référence des ventilateurs silencieux)

                Sinon, il existe des personnes (notamment Furtekk) qui décapent, analyse au microscope et cartographie les puces des vielles machines. Bon, OK, il reste encore sûrement du boulot et il arrive effectivement que des fois ces travaux sont complétés par les sources des émulateurs pour le reproduire en VHDL
                Quand tu vois que certain acharné ayant "poncé" les PCB d'origine sur le borne sont gêné par l'émulation dans leur borne et ne vois plus la différence quand c'est un Mister FPGA, c'est qu'on a franchi un palier.

                Enfin, de par son origine, il n'y aura jamais de carte tout intégré. Le DE10 nano sera toujours "en l'état". Les carte d'extension (USB, IO board ne sont pas obligatoire, ça apporte juste du confort. D'ailleurs, il existe des carte d’extension qui les remplace au format PC ITX ou console :

                Hello Cave Dwellers this is the official shop for The Cave

                Hello Cave Dwellers this is the official shop for The Cave
                http://forums.planetemu.net/picture.php?albumid=17&pictureid=206
                http://zapier.planetemu.net/planetars/2013/bannieres-2013/kobras-planetars2013-bannieres.gif

                Commentaire


                  Les consoles Analogue sont déjà basées sur des FPGA et ce n'est qu'une question de temps avant que d'autres entreprises se lancent là dedans, surtout avec l'écosystème MiSTer qui est déjà disponible. Donc je m'attends à un développement important de ce côté là dans les années à venir.

                  Le boulot de Furtekk est effectivement excellent pour la préservation du patrimoine et pour comprendre le fonctionnement des chips qui cachent toujours des secrets mais ça ne signifie pas que l'implémentation dans le FPGA reprenne le schéma logique des transistors à l'identique. Ca reste une réimplémentation en Verilog (il suffit d'aller voir le code source sur Github). Je ne sais pas s'il existe d'ailleurs une méthode pour faire du reverse engineering permettant de passer d'un schéma de transistors à un source en Verilog, à la manière d'une décompilation d'un binaire en code source mais ça m'étonnerait beaucoup.

                  Les cores sont développés en se basant sur les mêmes documentations utilisées par les développeurs d'émulateurs software, c'est d'ailleurs très significatif de voir que les premières versions avaient les mêmes bugs sur les mêmes jeux en FPGA et sous bsnes.

                  Donc oui les FPGA ça permet de garantir des timings parfaits et de ne pas dépendre d'un OS, mais ça ne reproduit pas (en tout cas pour l'instant) le schéma original des circuits intégrés de la console émulée. Et ce n'est pas vraiment nécessaire d'ailleurs, car ça fonctionne très bien comme ça. J'attends de voir qui pourra faire la différence entre un FPGA et un bon émulateur software branché sur un CRT d'ailleurs. On a vu que Retroarch avec runahead activé pouvait avoir un input lag meilleur que certaines consoles originales donc ce sujet est déjà traité.
                  http://dinofly.planetemu.net/images/president_planet_2012.png
                  http://forums.planetemu.net/picture.php?albumid=17&pictureid=198

                  Commentaire


                    Depuis janvier, on a eu :
                    - le core Playstation qui est passé public et qui marche remarquablement bien (après avoir testé environ 15 jeux, j'ai juste eu un bug de sauvegarde sur Loaded)
                    - le core 32X
                    - le core snes avec MSU1
                    Sans oublié les nombreux jeux arcade (la totalité du system16, des jeux cave : Dangun feveron, ESP rade, Guwange, ..)

                    Et les core suivant devrait arriver d'ici quelques mois :
                    - Neo-geo pocket
                    - Saturn
                    - System 18 (Shadow dancer, Alien storm, Moonwalker)
                    - TMNT 1 arcade
                    - Les game and watch
                    http://forums.planetemu.net/picture.php?albumid=17&pictureid=206
                    http://zapier.planetemu.net/planetars/2013/bannieres-2013/kobras-planetars2013-bannieres.gif

                    Commentaire


                      rolala ça donne envie... comment tu fais pour intégrer les nouveaux cores? tu les assembles comme les autres individuellement?
                      http://zapier.planetemu.net/planetars/2012/bannieres2012-felicitations/06-10.gif

                      Fan de Ryu ? Ce lien est pour toi

                      *les laves-linge durent plus longtemps avec Ganon*

                      - Oké alors maintenant tu me fais le bruit du scorpion qui meurt ok ?
                      - *ROUUUUUUUUUUUUUU*

                      "c'est censé être gentil une fée !! Ca vole ça a des ailes ça a des seins, c'est gentil !!"

                      https://www.facebook.com/CrystallisChronicles/

                      Commentaire


                        En allant dans script et en lançant celui qui s'appelle update_all en ayant au préalable relié l'appareil en réseau (le plus simple étant par un câble RJ45)
                        Le première fois ça met environ 1h30 (car il télécharge toutes les roms des cores arcades supporté), mais ensuite c'est plutôt entre 1min (si rien de nouveau) à 5 min

                        Certain cores sont dispo en beta et selon les cas il faut :
                        - activer une option dans le update_all
                        - copier à la main un autre script sur la carte micro sd qu'on lance de la meme manière que le update_all
                        - copier à la main les cores sur la carte sd

                        Mais perso, je préfère attendre que les cores passe en public et soit accessible dans le update_all
                        http://forums.planetemu.net/picture.php?albumid=17&pictureid=206
                        http://zapier.planetemu.net/planetars/2013/bannieres-2013/kobras-planetars2013-bannieres.gif

                        Commentaire


                          Un core N64 en développement sur un FPGA plus costaud que celui utilisé par le MiSTer: http://www.ultrafp64.com/
                          Hate de voir ce que la démocratisation de FPGA plus puissants va donner ! A priori beaucoup plus de jeux d’arcade pourront être supportés sur ce type de hardware.

                          J’attends aussi de pied ferme un core Macintosh pour reproduire mon vieux Mac IIci, la je crois que je me prendrai un MiSTer sans hésiter. Dommage que je me sois débarrassé de mon écran CRT 19 pouces que j’avais pour mon vieux PC [emoji853]


                          Envoyé de mon iPhone en utilisant Tapatalk
                          http://dinofly.planetemu.net/images/president_planet_2012.png
                          http://forums.planetemu.net/picture.php?albumid=17&pictureid=198

                          Commentaire


                            Le Mister FPGA dispose d'un core Macintosh
                            http://forums.planetemu.net/picture.php?albumid=17&pictureid=206
                            http://zapier.planetemu.net/planetars/2013/bannieres-2013/kobras-planetars2013-bannieres.gif

                            Commentaire


                              Oui mais c'est un vieux Macintosh classic, il me faut la génération suivante !
                              http://dinofly.planetemu.net/images/president_planet_2012.png
                              http://forums.planetemu.net/picture.php?albumid=17&pictureid=198

                              Commentaire

                              Chargement...
                              X