Gamoover

Vous êtes nostalgiques des jeux vidéos de votre enfance ? Vous désirez acquérir, ou construire une borne d'arcade ? Vous trouverez ici les réponses a vos questions et une communauté de joueurs passionnés.

MiSTer Fpga - Arcade Releases

Démarré par funkycochise, Lundi 03 Septembre 2018, 08:44:36 AM

funkycochise

#64
pas tellement.

chez mouser :

https://www.mouser.fr/ProductDetail/Terasic-Technologies/P0496?qs=sGAEpiMZZMu3sxpa5v1qrv9Zt3qOn1wylZ1mz6Hfo58%3D

120€ HT. J'avais payé 115€ en 2018

Sinon je suis pas un expert de gyruss mais je sais que l'auteur a mis les 5 AY 3 89 pour l'audio.
pAY8910 p0(RESET,CPUCL,bdir0,bc0,CPUOD,p0dt,p0A,p0B,p0C,dum0,dum1,FC0);
pAY8910 p1(RESET,CPUCL,bdir1,bc1,CPUOD,p1dt,p1A,p1B,p1C,dum2,dum3,FC1);
pAY8910 p2(RESET,CPUCL,bdir2,bc2,CPUOD,p2dt,p2A,p2B,p2C,TIMER);
pAY8910 p3(RESET,CPUCL,bdir3,bc3,CPUOD,p3dt,p3A,p3B,p3C);
pAY8910 p4(RESET,CPUCL,bdir4,bc4,CPUOD,p4dt,p4A,p4B,p4C);


peut-être que tu te feras une meilleure idée en voyant le core grandeur nature :



en revanche, je doute que ça soit utile pour réparer un pcb.
d'ailleurs ton pcb devient inutile  :ang:

AsPiC

L'émulation semble très bonne ! Impressionnant car c'est un jeux qui est en générale très mal émulé...

Little_Rabbit

Ah mais AsPiC, c'est peut être justement parce qu'il ne s'agit pas d'émulation !  ;)

L'essence même d'un FPGA, c'est de reproduire PHYSIQUEMENT l'électronique d'un PCB : c'est un énorme assemblage de portes logiques interconnectées pour reproduire tel micro-processeur, tel périphérique, telles autres portes logiques, et on interconnecte à nouveau tous ces reproductions de composants pour reproduire un circuit donné !

Ce que tu downloades dans un FPGA, ce n'est pas un programme mais la matrice d'interconnexion de toutes ces portes logiques.

Après, j'imagine qu'il peut y avoir des micro différences (et je n'y connais rien ou presque) mais parce qu'il ne s'agit pas d'émulation logicielle, on est au plus près du hardware d'origine  ^-^.

Pour être complet, j'imagine qu'il y a quand même un tout petit peu de programme là dedans car il y a la couche gérant les interfaces (valeurs des DIP switch, simulation de scanlines ou pas, centrage signal vidéo,  etc.).

A+
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room

funkycochise

#67
après tu peux regarder à quoi resemble le projet et même installer quartus pour le compiler/simuler.

https://github.com/MrX-8B/MiSTer-Arcade-Gyruss

Gyruss est cool mais l'écran vertical analagique s'affiche à l'envers. Je pense que c'est conçu de la sorte et pas vraiment simple à inverser.
J'ai un circus charlie d'une époque voisine qui a le même symptôme.
L'auteur m'a dit qu'il avait bien essayé d'ajouter une option mais que ça entrainait des effets de bord.
En hdmi, on a pas le problème parce que le scaler a été conçu pour le faire d'origine.



faut que je regarde à inverser sur la platine de l'écran pour l'analogique.  :-[



Le projet Mister est ni plus ni moins que le framework proposant les routines basiques nécessaires (i/o, scaler, gui)

funkycochise

Coeur Jaguar en WIP :


sushy18

Citation de: funkycochise le Samedi 29 Février 2020, 10:17:16 AM
]
en revanche, je doute que ça soit utile pour réparer un pcb.
d'ailleurs ton pcb devient inutile  :ang:

Dans mon esprit c'est pour comparer la réaction d'un pcb malade et celui ci qui " apparemment" est fidèle.
Si tu ne sais pas demande, si tu sais partage !!
Faudrait pas perdre de vue qu'une borne d'arcade c'est pas une console, c'est rarement plug n play, plus souvent plug n pschitt... (Funkycochise 2008)
"Gratuit ? C'est déjà trop cher !!" ( Crying Freeman 2016)

AsPiC

Citation de: Little_Rabbit le Lundi 02 Mars 2020, 08:02:08 AM
Ah mais AsPiC, c'est peut être justement parce qu'il ne s'agit pas d'émulation !  ;)

Sisi c'est bien de l'émulation, certes pas software mais hardware, c'est pourquoi il est important d'avoir une bonne connaissance du hardware d'origine pour arriver à bien retranscrire celui-ci dans le FPGA.

Braintrash

Citation de: AsPiC le Lundi 02 Mars 2020, 10:33:30 AM
Sisi c'est bien de l'émulation, certes pas software mais hardware

Tu peux même dire de l'émulation tout court, car tout le matériel émulé est écrit dans un langage de programmation, comme on le fait avec un émulateur "logiciel".

En fait, la distinction n'a pas lieu d'être : dans les deux cas, tu as un ordinateur hôte, c'est-à-dire un processeur ou un FPGA, tous deux intégrés à une carte-mère, le processeur accueillant et exécutant une série d'instructions qui ont été écrites par un humain en utilisant un langage de programmation (C++ pour les processeurs le plus souvent, Verilog le plus souvent pour le FPGA).

Et, dans les deux cas, il faut connaître parfaitement les composants d'origine pour écrire la partie logicielle, c'est-à-dire rédiger dans le langage de programmation que la machine (PC ou FPGA) comprendra un texte qui permettra à la machine de savoir comment sont conçus et comment doivent fonctionner les composants émulés.

Le principe est donc exactement le même, seul le matériel accueillant la partie logicielle change.

Concrètement, et pour montrer comment les deux manières de travailler sont identiques, Near (ex-byuu, auteur de Higan), l'auteur de Byuu, et Kevtris, qui réalise la Super Nt (après avoir été le tout premier à publier sur Internet un exemple d'émulation FPGA de la NES, bien avant que la société Analogue ne soit fondée), ont collaboré pour échanger leurs connaissances et découvertes, chacun permattent à l'un de corriger des bugs présents chez l'autre.

Nous voyons donc bien que cela fonctionne de concert : cela reste de l'émulation. Le support change, mais pas la pratique fondamentale : que l'on programme un PC ou un FPGA, le travail de création d'un émulateur se divise donc entre rétro-ingénierie matérielle et programmation logicielle.

Ceci étant, je suis extrêmement ravi de l'arrivée de Gyruss sur le MiSTeR. J'adore ce jeu, qui a été mon premier one credit en arcade, qui plus est avec une foule de spectateurs qui m'avaient vu le doser une partie chaque jour jusqu'à ce que je réussisse à leur montrer la fin (et découvre qu'après, il faut recommencer en plus dur ;D ), ce qui m'avait valu un tonnerre d'applaudissements. J'avais, quoi, huit ans ? C'était juste la consécration ultime qui m'a définitivement attaché à l'arcade.

spectroman

Citation de: funkycochise le Dimanche 09 Février 2020, 09:57:21 AM
Je poursuis mon monologue :

Désolé de ne pas avoir fait un petit commentaire avant sur ce sujet que je lis depuis le début. C'est super intéressant de voir l'évolution du projet.

Braintrash, sans vouloir faire de polémique, je ne suis pas du tout d'accord avec quelques points de ton dernier post.

Les VHDL et Verilog ne sont pas des languages de programmation, mais ils sont des languages de description de materiel.
Et je ne joue pas sur les mots, c'est deux notions très différentes.
Même si on retrouve certain mots clés en commun des languages de programmation, leur comportement est très différent en programmation ou en description.
Ex : for en vhdl/verilog vs for en C/C++

Citation de: Braintrash le Lundi 02 Mars 2020, 11:57:03 AM
En fait, la distinction n'a pas lieu d'être : dans les deux cas, tu as un ordinateur hôte, c'est-à-dire un processeur ou un FPGA, tous deux intégrés à une carte-mère, le processeur accueillant et exécutant une série d'instructions qui ont été écrites par un humain en utilisant un langage de programmation (C++ pour les processeurs le plus souvent, Verilog le plus souvent pour le FPGA).
Un fpga n'est pas un processeur, il n'execute pas d'instruction écrite en Verilog...
Le Verilog permet de configurer des ressources logiques dans un FPGA

Braintrash

https://byuu.org/articles/what-is-emulation

Excellent d'article dans lequel tu trouveras une instruction écrite en Verilog avec équivalent C++.

spectroman

Citation de: Braintrash le Mardi 03 Mars 2020, 00:27:11 AM
Excellent d'article dans lequel tu trouveras une instruction écrite en Verilog avec équivalent C++.

La difference est très claire avec l'exemple du compteur 8 bits.
En Verilog 8 registres et de la logique vont être utilisés dans le fpga, c'est une architecture //.
En C++, le cpu incrémente une variable, c'est une architecture série.

Après l'auteur donne son point de vue et essaye de nous convaincre à la fin de cette partie, c'est son droit (il a un site d'émulateur) :D

sushy18

Merci pour ce fleuve d'enseignement  :-*

Donc en résumé pour bien comprendre on serait sur quelle conclusion ?
1- c'est 100% émulation
2- sur un usage 100% "reproduit" sur du hardware
OU
3 sur un mix des 2 ?
Si tu ne sais pas demande, si tu sais partage !!
Faudrait pas perdre de vue qu'une borne d'arcade c'est pas une console, c'est rarement plug n play, plus souvent plug n pschitt... (Funkycochise 2008)
"Gratuit ? C'est déjà trop cher !!" ( Crying Freeman 2016)

spectroman

#76
La seule conclusion que l'on puisse faire pour l'instant c'est qu'on n'a pas le même point de vue  =:))

Mame et MiST sont 2 beaux projets pour faire tourner nos vieux jeux.

Edit: la réponse 3 me semble la plus correcte car la partie son est de l'émulation sur fpga aussi.

sushy18

C'est vrai que la finalité est la même  <:)

" Merci au auteurs, contributeurs, donateurs de ces beaux projets de nous permettre de découvrir des jeux autrement impossible a se procurer ou a retrouver..."  :-*

Mais c'est bien de savoir aussi...  :ang:
Si tu ne sais pas demande, si tu sais partage !!
Faudrait pas perdre de vue qu'une borne d'arcade c'est pas une console, c'est rarement plug n play, plus souvent plug n pschitt... (Funkycochise 2008)
"Gratuit ? C'est déjà trop cher !!" ( Crying Freeman 2016)

Maitre_Poulpi

Après ce n'est qu'un problème de langage, c'est d'ailleurs ce qui fait que les langues sont "vivantes". Il y a des termes que l'on utilise tous les jours qui proviennent parfois d'abus de langage (par exemple ampoule quand on désigne la lampe ou pile rechargeable pour batterie) ou du nom de marques commerciales (par exemple sopalain ou frigo).

De mon côté et depuis le nombre d'années d'utilisation, je parle d'émulation lorsque c'est logiciel et simulation lorsque c'est matériel.
L'émulateur reproduit de façon logiciel le comportement d'une machine donnée, le matériel se fait passer pour lui.
Enfin ça, c'est ce qu'il y a dans ma tête, je n'affirme rien n'étant pas spécialiste ni puriste au point de me prendre la tête avec les gens pour si peu  ;)

Mais l'évolution des deux sur toutes ces années fait en sorte que finalement la frontière est très proche et ce qu'il y a à retenir c'est qu'on ne manque pas de solutions pour continuer de faire vivre ce patrimoine qui semble être si chère à nos yeux  :-*
May the Gamooforce be with you !
À partir du moment où un fou sait qu'il l'est, peut-on toujours le nommer ainsi ?
Boulot, rétro, dodo... et un peu (beaucoup) de TATC© (Touche A Tout Compulsif)...
Le WIP en slip et le hack Sega en Pijama !

Little_Rabbit

#79
Salut,

Merci Spectro pour ces éclaircicements :). Je suis de ton avis !  ^-

Citation de: spectroman le Mardi 03 Mars 2020, 07:25:11 AM
Edit: la réponse 3 me semble la plus correcte car la partie son est de l'émulation sur fpga aussi.

C'est un point que j'ignorais !

Pourrais-tu détailler et nous donner des exemples ? Parles-tu d'émulation pour des cas particuliers (je pense par exemple aux vieux PCB style Space Invaders ou Gun fight où les bruitages sont issus de petits modules analogiques), ou de façon générale ?

De la même façon qu'un Z80 peut-être reproduit au cœur d'un FPGA, j'imaginais qu'on pouvait aussi reproduire un POKEY, un  AY-3-8912, ou encore comme pour Gyruss plusieurs AY8910 :).

Je suis de près un autre projet de portage en FPGA d'un classique de l'arcade : le clonage de Pole Position (ce blog n'est plus alimenté, son auteur communique plutôt via sa page Facebook à présent...). Et il n'a pas du tout détaillé comment avait été intégrée la partie son qui sur Pole Position utilise des composants discrets (portes logiques, résistances, etc.) et des customs chips Namco...

A+
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room