Questions sur le hardware micro et l'emulation pour jouer avec pads passifs et sur CRT

Quel émulateur pour quel jeu, astuces de config...
Nouvelles releases, updates d'émulateurs. Le forum général sur l'émulation.
Répondre
Avatar de l’utilisateur
Bob
Insert Coin
Messages : 4
Inscription : 25 sept. 2020, 22:03

Salut,

Je vais me faire une machine spécialement pour jouer aux émulateurs avec le moins de lags possible

Pour les manettes/sticks:
Le mieux pour les manettes/sticks, sont qu'ils sont "passifs" branchés sur des pins GPI et pas en USB, l’émulateur est reprogrammé pour lire les etats des pins et pas recevoir les résultats du driver usb

Pour ca il faut 12 pins GPI par manette/stick

2mannettes/sticks suffisent en gpi , car c'est surtout pour le vs fight qu'il me faut des contrôleurs passifs , pour les beatemall etc... en 4 joueurs c'est pas grave pour les player 3 et 4 qu'ils sont en usb , mais le mieux seraient en GPI si possible...

Pour la Sortie video :
VGA et/ou S-Video , le mieux est si possible sans convertisseur/adaptateur intermediaire



Prenons par exemple le Raspberry4 (avec cette puissance je pense m’arrêter aux cps2, neogeo et équivalents)
plusieurs choix possibles d'utilisation des GPIO :
1-Mannettes en USB , VGA ou s-video/tv sur GP0
2-Manettes sur GPI , sortie hdmi
3-Manettes sur GPI , sortie hdmi + convertisseur vers vga ou s-video/tv

Vous pensez que c'est quoi le mieux entre ces 3 choix avec un Raspberry? j'arriverai à combien de frame max de lag écran ou manette?
Le cps2 et la neogeo ont-ils aucun ralentissement due à une limitation par la puissance du CPU du Raspberry?
Dernière modification par Bob le 11 oct. 2020, 19:32, modifié 1 fois.
Avatar de l’utilisateur
sisi
1 crédit c'est déjà trop
Messages : 2417
Inscription : 26 juin 2003, 18:10
Localisation : Villepreux (78)

Sujet intéressant, mais pour lequel je ne saurais t'apporter mes lumières, car en ce domaine, je n'en ai pas.
La seule réponse que je peux te donner est pour cette question:
Le cps2 et la neogeo ont-ils aucun ralentissement due à une limitation par la puissance du CPU du Raspberry?
Non, il n'y aura aucun ralentissement, à partir du Raspberry 3, ces systèmes tournent parfaitement.
J'ai eu de l'hésitation récemment pour le Raspberry 4, ou d'autres mini PC plus onéreux qui m'ont l'air très puissants (notamment le ODROID-XU4) et finalement, j'ai opté pour un bon vieux PC sur leboncoin avec un processeur I5.
Pourquoi ce choix? Essentiellement pour la sortie vidéo (je voulais du VGA pour y mettre un CRT 31 khz) et aussi parce que j'aime bien voir ce que je fais, et avec Linux, je n'y connais rien et tout ce que j'ai pu faire, je le faisais à l'aveugle :with_stupid: J'ai essayé vite fait aujourd'hui: les derniers shmups de Cave marchent au poil, c'est cool, et je ne suis pas sûr que ça aurait été le cas avec un Raspberry.

Ceci dit, tu nous diras ce que tu as fait pour ta machine de jeux, ça m' intéresse malgré tout, et d'autres sur le forum aussi.
Shmupland, shmupland über alles!
Avatar de l’utilisateur
Bob
Insert Coin
Messages : 4
Inscription : 25 sept. 2020, 22:03

Merci ,(reste à voir si le polling usb est à 1000hz ??)

j'ai trouvé un bon lien qui récapitule les input lag des pads et adaptateurs : (c'est sur mister fpga les tests)

https://docs.google.com/spreadsheets/d/ ... edit#gid=0

Pour le PI ou equivalent :
La sortie video sera en VGA , (sur les GPO du PI c'est bien du VGA pour "CRT" ??) et les manettes sur USB , reste à trouver la solution que je vais retenir pour les manettes

edit: pour le VGA du PI j'ai lu que c’était du 240p , mais comment ca se passe si des jeux sont en plus que 240p ? il va déborder de l’écran ?? par exemple avec 19xx ??
Avatar de l’utilisateur
ganjuro
Big Boss Killer
Messages : 716
Inscription : 27 janv. 2010, 09:29
Localisation : Lausanne

D'après ce que j'ai vu un FGPA reste ce qu'il y a de mieux au niveau de la "restitution" d'un hardware défini.

Les inputs lags sont identiques (ou presque) à la machine originale et surtout, ce n'est PAS de l'émulation.
Un raspberry te fera quant à lui, toujours de l'émulation avec les soucis que l'on connait pour chaque émulateurs.

Après, celà dépend de ton niveau de tolérance quant à la perfection du rendu de ton jeu préféré (et du temps que tu veux y consacrer), soit tu mets la main au porte-monnaie, soit tu te contentes d'un Raspberry, à toi de voir ...

A savoir que le board principal du FGPA ne suffit pas dès que tu veux faire autre chose que lancer certains 'core' de base, il te faut de la Ram en plus, une carte additionelle pour les ports USB et, bien sûr, une alimentation potable pour satisfaire le bestiau. C'est un peu comme une Harley, tu achètes la base puis tu te ruine en customisations ...

Les talentueux programmeurs de FGPA ne sont pas des kilotonnes, il y a, si je ne dis pas de bêtise, deux stars dans le domaine qui se farcissent une bonne part du boulot. Un autre point est que tu ne pourras jamais simuler une machine moderne ce n'est pas le but du truc. Mais tout ce qui est simulé à l'heure actuelle (la plupart des systèmes consoles 8/16 bits + CPS1 (le 2 serait en cours) et autres boards arcade originaux + ordinateurs d'époque) l'est d'une façon soignée car les auteurs de ces "core" se donnent un peine incroyable.

Je te recommande vivement le Reddit sur le sujet, https://www.reddit.com/r/MiSTerProject/ et aussi un forum 'officiel' : https://misterfpga.org/ où tout est expliqué et bien mieux que je ne pourrais jamais le faire.

Si tu te lances, voici quelques liens qui pourrons t'aider à acquérir la bête et ses accessoires :

Le board : https://www.terasic.com.tw/cgi-bin/page ... sh&No=1046
Les accessoires : https://misterfpga.co.uk/

Il n'y a pas de miracle, c'est visiblement à ce jour la meilleure façon de restituer un hardware, pour preuve, Analogue (https://www.analogue.co/) n'utilise que cette façon de faire pour ses petits bijoux ...
Si il n'y avait que des gens honnêtes, nous n'aurions pas besoin de password...
Avatar de l’utilisateur
Bob
Insert Coin
Messages : 4
Inscription : 25 sept. 2020, 22:03

Merci,

Le jeu que je vais m'investir le plus sera SFA3 et surement SSF2T ainsi que SS3/4 , je tolère aucun ralentissement dans un vs fight , s'il descend une fois de 3 fps en plein match de SFA3 ou SSF2T alors ca ne me conviendra pas

Je suis extrêmement pointilleux pour le VS fIGHT :mrgreen:

Si c'est pas pixel perfect ca c'est pas grave, je vise plus le zero latence


Je comptait pas m'acheter de mister FPGA , du moins pas pour l'instant , il n'y a pas de CPS2

---

J'ai un autre projet de pc intel aussi (le pi est la solution "promenable" , le intel lui restera chez moi) , je cherche une carte intel (classique pas nano ordi) avec gpio , mais il ya que des 8 pins , j'ai vu qu'il y a des adaptateurs pour en mettre plus mais reste à voir le fonctionnement exact et les latences de gpio et adaptateurs gpio comparées aux latences de port USB

--

Pour le PI avec VGA en plus de 240p , faut sortir du 480p sur un ecran/TV CRT acceptant du 31khz si je dit pas de bêtise d’après ce que j'ai lu ?
Kaede
Radiant Silverpost
Messages : 1192
Inscription : 29 avr. 2005, 18:03
Localisation : Lyon

ganjuro a écrit :
13 oct. 2020, 08:09
ce n'est PAS de l'émulation.
Ceux qui réalisent ça étudient en détail le hardware d'origine, puis implémentent une solution ... à l'aide d'un FPGA au lieu d'un language de programmation plus généraliste comme le C++. Sur le principe, c'est la même chose, ça n'est pas une copie 1 pour 1 du hardware d'origine et la qualité du résultat dépend de la compréhension du hardware émulé et de la qualité de l'implémentation - il n'y a aucune raison à priori pour qu'elle soit meilleure que le state-of-the-art des émulateurs "classiques".

La solution ne tourne pas sur la même plateforme, mais au fond quelle importance ? Sur un PC correctement configuré et un LCD performant (ex. 120/144Hz +VRR), le display lag est tout à fait acceptable.
ganjuro a écrit :
13 oct. 2020, 08:09
Un raspberry te fera quant à lui, toujours de l'émulation avec les soucis que l'on connait pour chaque émulateurs.
Oui, et le problème avec un Raspberry Pi c'est que c'est très peu puissant. Exit donc pas mal d'émulateurs "state-of-the-art" trop lents : Higan, Mednafen (PSX et Saturn) et d'autres. Enfin, les versions de MAME vieillent de 10 ans et + (privilégiées pour leur rapidité d'exécution) sont beaucoup plus bugguées que les versions récentes.
ganjuro a écrit :
13 oct. 2020, 08:09
Il n'y a pas de miracle, c'est visiblement à ce jour la meilleure façon de restituer un hardware, pour preuve, Analogue (https://www.analogue.co/) n'utilise que cette façon de faire pour ses petits bijoux ...
En quoi c'est une "preuve" ? :D C'est un argument d'autorité ou bien ? :)
sisi a écrit :
04 oct. 2020, 21:14
J'ai essayé vite fait aujourd'hui: les derniers shmups de Cave marchent au poil, c'est cool, et je ne suis pas sûr que ça aurait été le cas avec un Raspberry.
Si tu parles des jeux Cave CV1000, non, ça n'aurait pas été le cas, un Raspberry Pi c'est trop lent. En plus, MAME ne supporte pas l'architecture ARM pour ses DRC, donc c'est la double peine (pas de DRC => utilisation de l'interpréteur => très lent).
Non vous avez pas compris c'est la société de consommation toussa, la dégénérescence toussa... dans les années 90 y avait pas de société de consommation et les gens étaient moins fénéants et jouaient pas comme des tarlouses. C'est clair ? -Radegou
Avatar de l’utilisateur
Bob
Insert Coin
Messages : 4
Inscription : 25 sept. 2020, 22:03

Je ne voulais pas rentrer dans ce debat emulateur/FPGA :mrgreen:

Sur émulateurs avec du bon matos et des latences extrêmement faibles on peut avoir le meme fonctionnement que le machine d'origine sur les delais inputs et affichage

Faut respecter cette formule :
"temp frame" > "temp latence input" + "temp cpu+gpu par frame" + "temp écran traitement+affichage par frame"
Sur des jeux à 60hz c'est encore facilement faisable avec des frames toutes les 16.6ms , en 120hz c'est plus dur déjà

Un exemple à 60hz
On a 16.6ms entre chaque frame , avec un pad à 3ms de lag et un écran CRT 1ms ca donne :
16.6 - 3 - 1 = 12.6
Dans ce cas, si le cpu+gpu mettent moins de 12.6ms par frame alors on peut avoir zero lag (chaque input est pris en compte dans les calculs pendant la prochaine frame, comme sur le vrai matos) avec un émulateur modifié (comme par exemple BSNES)
Gunny
Empereur Bydo
Messages : 3404
Inscription : 15 mai 2006, 14:26
Localisation : Rayon chaussettes du Kiabi du coin
Contact :

En USB les pads sont aussi passifs...
Ils recoivent l'alimentation depuis l'appareil ^^
La grosse différence, c'est qu'en USB comme son nom l'indique, le signal est "série" ( un seul signal carré différent pour chaque bouton ), toi ce que tu veux faire, c'est un signal ou multiplexé ( une broche plusieurs boutons ) ou parallèle ( une broche un bouton ).
La lecture des signaux va DE TOUTE FACON prendre du temps de traitement ( en général quelques micro secondes ).
Sachant que le raspberry, est pas un foudre de guerre et va prendre quelques micro secondes pour détecter la levé du signal et que les inputs fonctionnent en 3,3v.
Plus ton traitement logiciel. Si tu dépasses la milli-seconde, c'est que t'as merdé quelque part.
Et la meilleur manière de poll ces broches, c'est de déclencher une interruption au changement d'état de la broche. C'est plus complexe à gérer mais ca te permet de court-circuiter tout un tas de truc et te permet de gagner des micro-secondes précieuses.

Sinon, il y a aussi des GPIO disponibles sur les carte-mère moyen/haut de gamme des PC traditionnels ( même les vieux de la génération i7 3770 ou 4770 qui doivent plus valoir grand chose maintenant )
Et dans le pire des cas, le port parallèle est disponible en soudant un connecteur. Mais là tu fonctionne avec des tensions beaucoup plus bourrinnes :D

Si jamais j'ai dit du caca, il se fait tard corrigez-moi :)
Si t'as un truc électronique cassé, ça se passe par là https://www.atelier-electrodd.fr/

-Je comprend rien à ce que tu dis...
-Pas grave... C'est pas en vivant plus longtemps qu'on deviens moins con.
Avatar de l’utilisateur
mutmut02
Sniper Fou
Messages : 393
Inscription : 01 déc. 2016, 15:05
Localisation : Ouest France

Salut,

Au vu des jeux que tu veux faire tourner, je te conseillerai de te tourner vers un PC plutôt qu'un Pi. J'utilise un Pi avec un RGB-PI, un câble avec sortie péritel 15Khz depuis des années, et il faut bien prendre en compte que pour l'instant avec un 3B+ (le 4 n'est pas encore supporté par l'OS), tout ce qui est plus complexe que la Neo-Geo devient vite compliqué. En terme de latence c'est hyper bas et le rendu sur mes TV est magnifique.

J'adore l'OS et je l'utilise très souvent, notamment pour apprendre en save state des jeux 16bits, mais c'est pas une machine de guerre, et un PC tournera forcément mieux.
Répondre