Gamoover

[move]Vous aimez le couscous-boulettes, le chorizo, la Force 4, et la mimolette ? Alors soyez les bienvenus sur Gamoover ! [/move]

Adaptation platine chinoise pour Asteroids, Star Wars et autres jeux vectoriels

Démarré par english2, Lundi 10 Mai 2021, 19:11:41 PM

gc339

Bonsoir Robin, bonsoir à tous.

Citation de: english2 le Lundi 23 Mai 2022, 18:59:40 PM
J'étais curieux de voir ce que ça donne sans le translateur TXS0108E. Du coup, en le bridgant tout fonctionne normalement sans changement des résistances en aval ! Une très bonne nouvelle. L'emplacement pourra disparaître sur la prochaine version de la PCB.

Selon le datasheet du MCP4922, ses entrées digitales requièrent un niveau logique haut (VIH) supérieur ou égal à 0,7 × VDD soit ≥ 3,5 volts pour une alimentation en 5 volts. Ce qui est légèrement supérieur au niveau logique haut que peut délivrer les ports d'un Teensy alimenté lui en 3,3 volts!

Le bon fonctionnement constaté en oblitérant le translateur TXS0108E tient donc presque du miracle et rien ne garantit qu'il sera reproductible quelque soient les exemplaires de Tennsy ou de DAC utilisés. Il vaut donc mieux conserver le translateur de niveau ou bien alimenter les DAC's en 3,3 volts comme je l'avais déjà suggéré, cette dernière possibilité nécessitant de retoucher la valeur de certaines résistances pour augmenter le gain des amplificateurs de sortie.



Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard





english2

Bonjour gc339, bonjour à tous,

N'ayant pas beaucoup de temps en ce moment, j'ai relevé rapidement des tensions avec un multimètre (sans doute pas idéal, j'essayerai de le faire avec l'oscilloscope) :

Côté Teensy :
- pins VIN et GND : 4,93V (avec un 7805 à la place du LM2940)

Du côté des DAC j'ai utilisé le pin 12 AGND comme référence :
- pins 1, 11, 13 : 5,0V (tension en entrée)
- pins 3, 4, 5 : 2,9V à 3,2V (signaux en entrée) -> donc en dessous des 3,5V théoriquement nécessaires avec 5V en entrée pour gérer les niveaux logiques haut
- pins 10, 14 : 1,5V à 2,6V (signaux en sortie)

En regardant le schéma de nouveau, je pensais substituer simplement le LP2950-5 par un LP2950-3.3 pour produire les 3,3V, mais du coup cela implique une tension trop basse pour alimenter le TLE2425 qui a besoin de 4V minimum pour produire la tension de référence de 2,5V côté op amp. De plus, avec des DAC qui sortent jusqu'à 3,3V au lieu de 5V, la tension de référence à 2,5V doit être également abaissée il me semble (à 1,8V, par exemple)?

Une fois cette étape passée, ensuite viendra la question de la valeur des résistances autour des op amp XYRVB ...

Idéalement, j'aimerais trouver une solution qui évite à ce stade de refabriquer une PCB, afin de collecter progressivement les besoins pour concevoir une v3 plus aboutie dans quelques temps.
If at first you don't succeed...

gc339

Bonsoir Robin, bonsoir à tous,

Citation de: english2 le Vendredi 03 Juin 2022, 11:53:41 AM
En regardant le schéma de nouveau, je pensais substituer simplement le LP2950-5 par un LP2950-3.3 pour produire les 3,3V, mais du coup cela implique une tension trop basse pour alimenter le TLE2425 qui a besoin de 4V minimum pour produire la tension de référence de 2,5V côté op amp. De plus, avec des DAC qui sortent jusqu'à 3,3V au lieu de 5V, la tension de référence à 2,5V doit être également abaissée il me semble (à 1,8V, par exemple)?
Exact pour le TLE2425, c'est aussi vrai pour le TLE2426 qui lui délivre non pas une tension fixe mais une tension valant très exactement la moitié de celle d'entrée.
Il reste donc deux solutions pour obtenir cette référence de 1,65 volt (3,3 ÷ 2) quand les DAC's sont alimentés en 3,3 volts (U3 = LP2950-3.3):
• Utiliser le dernier DAC disponible comme je l'avais déjà suggéré pour délivrer la référence. Ce dernier doit donc être initialisé avec la valeur 0800H dés la mise sous tension de la carte v.st.
• Diviser la tension de 3,3 volts par 2 à l'aide d'un pont de résistances de précision à 1‰ (0,1%) pour obtenir le 1,65 volt requis. La référence ainsi obtenue est ensuite bufferisée par le dernier ampli OP inutilisé (IC1D) avant d'être appliquée aux amplificateurs X et Y.
C'est cette solution qui figure dans le schéma ci-dessous.

Citation de: english2 le Vendredi 03 Juin 2022, 11:53:41 AM
Une fois cette étape passée, ensuite viendra la question de la valeur des résistances autour des op amp XYRVB ...
D'ailleurs je me demande bien à quoi servent les résistances en // avec la sortie des DAC's (R9, R10, R14) ainsi que les couples R1/R3 et R2/R5. je vais essayer de retrouver l'article décrivant la carte v.st originale pour savoir si elles ont une justification quelconque.



Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard





english2

Bonjour gc339, bonjour à tous

CitationIl reste donc deux solutions pour obtenir cette référence de 1,65 volt (3,3 ÷ 2) quand les DAC's sont alimentés en 3,3 volts (U3 = LP2950-3.3):
• Utiliser le dernier DAC disponible comme je l'avais déjà suggéré pour délivrer la référence. Ce dernier doit donc être initialisé avec la valeur 0800H dés la mise sous tension de la carte v.st.
• Diviser la tension de 3,3 volts par 2 à l'aide d'un pont de résistances de précision à 1‰ (0,1%) pour obtenir le 1,65 volt requis. La référence ainsi obtenue est ensuite bufferisée par le dernier ampli OP inutilisé (IC1D) avant d'être appliquée aux amplificateurs X et Y.

Merci pour ces suggestions. Je ne suis pas fan de la première solution, car l'existence de la référence dépend du bon fonctionnement du programme, du coup il y a un risque pour la PCB de déflection en cas de problème (c'est du vécu !).
J'ai une préférence également pour le pont de résistances. Jason Kopp m'a fait la même remarque donc on est tous en phase (sans mauvais jeu de mot).

Par ailleurs, j'ai une autre utilisation en tête pour la dernière sortie de DAC inutilisée : tester une sortie audio rudimentaire, car aujourd'hui la carte ne peut produire aucun son. Aucune idée si ça va marcher, et avec quel niveau de qualité, et quel impact sur la vitesse d'exécution du code (il y aura tout de même un IRQ pour le déclencher). Je trouverai bien une utilité à cette fonctionnalité ...

CitationD'ailleurs je me demande bien à quoi servent les résistances en // avec la sortie des DAC's (R9, R10, R14) ainsi que les couples R1/R3 et R2/R5. je vais essayer de retrouver l'article décrivant la carte v.st originale pour savoir si elles ont une justification quelconque.

J'ai remarqué dans la fiche descriptive des DAC que les circuits donnés en exemples comportent bien ces résistances. Ce serait peut-être l'explication ?



J'ai intégré les changements au niveau du schéma, en rajoutant également la prise pour la télécommande (qui s'avère très précieuse), ainsi qu'une broche GND proche de la sortie de DAC inutilisée au cas où je décide de brancher un cable audio 3,5mm.



Enfin, je voulais juste attirer l'attention sur un échange concernant le vstcm sur KLOV à propos des DAC et comment faire pour aller plus vite. Peut-être qu'il faudrait évoluer vers des DAC parallèle sur la prochaine version (en imaginant que j'arrive à suivre d'un point de vue coding) ?
https://forums.arcade-museum.com/threads/announcing-the-vstcm-colour-vector-generator.505940/page-3
If at first you don't succeed...

english2

Bonsoir à tous

En attendant d'avancer sur des améliorations du schéma, j'ai voulu tester les capacités du Teensy. Je suis tombé par hasard sur un émulateur ancien écrit en langage C (datant de 1991) du processeur 6502 et de certains jeux vectoriels Atari qui s'appelle Vecsim. Comme il existe une version pour STM32, je me suis dit qu'il pourrait peut-être fonctionner. J'ai contacté Hedley Rainnie, (l'auteur avec Eric Smith et Doug Neubauer), qui était ravi de découvrir le projet vstcm et mon idée de tenter d'intégrer son émulateur. Par coincidence, il travaille désormais chez NXP, le fabricant du processeur du Teensy ...

Donc au bout de 2h de bidouillages, je suis arrivé à ça ...



Cela veut dire que la carte peut faire tourner certains jeux vectoriels de manière autonome, sans être branchée sur un Raspberry Pi, et sans MAME et prendre ainsi la place d'une PCB de jeu d'arcade. Une sorte de "19 in 1" pour les jeux vectoriels. J'ai intégré une modification au code qui permet de déposer les fichiers ROM d'origine sur la carte SD du Teensy, et ceux-ci sont simplement chargés en mémoire au début de l'exécution. La seule modification à l'exécution du jeu que je me suis permis est de dessiner les vecteurs en rouge en haut, et en vert en bas car on est sur un écran couleur et cela permet de reproduire les couleurs d'origine.

Je précise que le son et les contrôles ne fonctionnent pas encore, donc il s'agit plutôt d'une démonstration qu'autre chose à ce stade. Les temps de réponse sont tout à fait corrects pour l'instant. Asteroids fonctionne également. Je vais publier le code sur Github au cas où d'autres souhaitent essayer. La sortie inutilisé d'un des DAC pourrait donc s'avérer fortement utile pour essayer de reproduire le son du jeu.

Petite vidéo du jeu https://youtu.be/sv5gHOiRTA0

If at first you don't succeed...

Fred G5

Je reste admiratif devant la qualité et la quantité de travail abattue  ^-
Flipper: DE "Laser War"- WMS "F14-Tomcat"- GTB " Hollywood Heat" - Bally "Black Pyramid"
Borne: Konami "Lethal Enforcers" - New Game "N'Styl"- René Pierre 1982 - Jeutel Neo Geo 16/9 - Simulateur Twin Konami "Midnight Run Road Fighter 2"
Jeu/Système de jeu: 53 PCB Jamma, 7 cartouches MVS, slot Neo-Geo MV-1T, MV-2F, MV-4F, MV-6F
Console: Nintendo SNES 2CHIP, SNES 1CHIP-02 + 43 jeux

english2

Quelqu'un sur KLOV a réalisé une carte, et vient de la tester avec succès dans sa borne Tempest cabaret (WG6100) !
Apparemment, il va procéder à un test sur G05. J'attends les photos avec impatience ...

https://forums.arcade-museum.com/threads/announcing-the-vstcm-colour-vector-generator.505940/page-3#post-4512289
If at first you don't succeed...

english2

Bonjour à tous
Pas de temps à consacrer au projet pour le moment, ce qui est frustrant car j'ai plein d'idées. J'ai réussi à faire tourner un émulateur Vectrex dessus, mais je dois le terminer avant de publier sur Github. J'arrive à produire des sons WAV très basiques aussi avec la carte, mais il faut que j'arrive à l'incorporer à un jeu.

Par ailleurs, voici une video sur Youtube de quelqu'un qui a branché sa vstcm sur une borne Omega Race cocktail pour jouer à Aztarac !
http://youtu.be/jpxfpJRRm98


If at first you don't succeed...

english2

Bonsoir à tous !

J'aurai des choses à annoncer bientôt, j'espère. Le temps me manque pour avancer sur le projet, mais ça avance quand même.

En attendant, voici une petite video de quelque chose que personne n'a encore vue, y compris son auteur, et que je publie ici en premier : Battlezone 2 en couleur sur un écran vectoriel !

https://youtu.be/XNZfYX2l9WQ

Bonne soirée

If at first you don't succeed...

AsPiC

Bravo english2 pour ces exploits d'intégration d'émulation dans cette carte, ça ouvre un champ de perspective démentiel :-)=

PS : Tu peux intégrer directement tes vidéos dans tes posts en ne mettant que l'adresse de la vidéo sur youtube, l'intégration est automatique, je l'ai fait pour te montrer sur ton dernier post ;)

english2

Bonsoir à tous
Voici le résultat de mes dernières bidouilles sur le VSTCM : Vector Kong ...
If at first you don't succeed...

Little_Rabbit

Salut,

Génial !  ^-^

Et j'ai dû passer à côté de ton post précédent sur Battle Zone II ! (vue la date, je devais être en vacance ;))

Et là je me suis dit "Mais je n'ai pas le souvenir de ce Battle Zone 2 en arcade ?...".

Et pour cause, puisque c'est un homebrew que je ne découvre que maintenant ! :)

Je vous partage cette vidéo de Jason Kopp qui montre son gameplay, sur une version prototype non finalisée :



C'est absolument génial non !? :)  :-)=

Le fait d'ajouter le bouclier, et les armes supplémentaires, plus le warp, ça renouvelle complètement le gameplay et en fait un jeu beaucoup plus dynamique, palpitant et plein d'action ! (car le Battle Zone original, c'est vrai que c'est un peu plan-plan et que ça manque de peps ;))

Enfin bref, cela ne me donne que d'avantage envie de trouver un de ces jours une borne Battle Zone ! :)

Et un énorme bravo à toi English2 pour tout le boulot accompli sur cette techno vectorielle !  ^-^ 8)

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

english2

Bonsoir
Juste pour le fun et pour tester les capacités du VSTCM, j'ai adapté Williams Defender en faisant une conversion raster->vecteur en temps réel. Le résultat est presque parfait (mais exécrable avec ma pauvre caméra). Ca ne sert pas à grand chose si ce n'est faciliter la conversion de jeux qui tournent sous MAME afin qu'ils fonctionnent sur un écran vectoriel ...

If at first you don't succeed...

english2

Je viens de rajouter une option pour mieux gérer les écrans monochrome au code sur Github (https://github.com/english1234/vstcm). Voici un test de Tempest sur un G05 provenant d'une Asteroids Deluxe. J'ai pris la valeur max de RVB comme valeur pour le Z comme point de départ (la moyenne des valeurs ne marchait pas très bien).



If at first you don't succeed...