[Arcade] Sprites manquants

Si vous n'avez pas trouvé de catégorie correspondante ci-dessus, regroupe les discussions plus générales et à l'occasion peut aussi abriter un fil sur les vieilles consoles de jeux.

Modérateurs : Carl, Papy.G, fneck

Avatar de l’utilisateur
Falkor
Messages : 1644
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [Arcade] Sprites manquants

Message par Falkor »

J'ai mis quelques coups de sonde sur la vidéo hier... J'ai pu constater que comme sur certains autres jeux que j'ai pu tester, le fait de brancher la péritel fait bien effondrer le niveau de sortie des couleurs. Il faudra que j'ajoute de quoi booster le niveau.

Par contre (donc encore une fois je ne suis pas sûr de quelle couleur va où) à aucun moment je n'ai observé de signal qui resterait à l'état haut pendant un long moment (grosses zones de bleu). J'ai observé uniquement des pics très ponctuels (pixels individuels) ?
Avatar de l’utilisateur
Falkor
Messages : 1644
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [Arcade] Sprites manquants

Message par Falkor »

Alors permuté rouge et vert, voici ce que ça donne, sur un autre écran que mon habiutel. Celui-ci est un LCD, habituellement plutôt "difficile" en ce qui concerne les tolérances de timing :
DSC_1982.jpg
DSC_1982.jpg (211.83 Kio) Consulté 1820 fois
Bref, ça s'affiche, mais pas en entier. Mais, les items du labyrinthe sont désormais de la bonne couleur, les ennemis aussi (en rouge).
Falkor a écrit : 05 avr. 2022 08:25 à aucun moment je n'ai observé de signal qui resterait à l'état haut pendant un long moment (grosses zones de bleu). J'ai observé uniquement des pics très ponctuels (pixels individuels) ?
Donc après analyse ceci s'est avéré faux ! Le canal de bleu à bien sa valeur moyenne globalement à l'état haut. Alors en testant sur cette nouvelle TV (alors la photo est vraiment pas top) mais on DEVINE du bleu en arrière plan, il est juste très foncé.

Encore une fois l'amplitude des signaux de couleur est extrêmement diminuée quand je connecte ma péritel (problème d'impédance ???) mais les niveaux ont l'air à peu près identiques entre les 3 couleurs, donc je ne vois pas trop pourquoi le bleu est moins visible.

Bref, tout ça pour dire qu'intercaler un driver type 74LS241 (je sais plus s'il inverse ou pas) devrait pouvoir régler le problème... :?:
Avatar de l’utilisateur
Falkor
Messages : 1644
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [Arcade] Sprites manquants

Message par Falkor »

Bon je vais devenir dingue avec ce bleu, même si je commence à comprendre ce qu'il se passe :)

Donc pour rappel, il me manque l'arrière plan bleu sur la phase de jeu et de l'écran titre. Selon les réglages de la TV (LCD ou CRT) on arrive à le distinguer légèrement :
DSC_1989.JPG
DSC_1989.JPG (247.91 Kio) Consulté 1750 fois
Mais il est très loin d'être visible comme il faut en terme de niveau.

Je me suis tout d'abord intéressé au fait que péritel branchée, j'ai une bonne atténuation des niveaux de tension en sortie de carte. (atténuation identique sur les 3 couleurs). Testé pas mal de montages, et j'ai fini par utiliser un LS02 pour faire cette mise à niveau. J'ai des signaux TTL à priori parfaits :
scope.jpg
scope.jpg (314.29 Kio) Consulté 1750 fois
Avec le canal rouge à gauche, le bleu à droite. Aucune différence, si ce n'est que le bleu à une valeur moyenne plus élevée (beaucoup plus de bleu que de rouge dans les images). En comparant des photos de avant et après modifications, j'ai bien des couleurs désormais plus vives, mais un bleu toujours aussi fade.

Bref, je n'arrivais pas à comprendre pourquoi le bleu n'était pas aussi visible que le reste, malgré des niveaux TTL très propres. J'ai tenté des affichages sur d'autres canaux, rien à faire.

Voici le canal bleu uniquement :
bleu only.jpg
bleu only.jpg (85.46 Kio) Consulté 1750 fois
Et le même mais passé dans un inverseur :
bleu inverse.jpg
bleu inverse.jpg (156.47 Kio) Consulté 1750 fois
Alors je vous passe les (longues) heures à faire des essais.... Mais j'ai observé que brancher et débrancher le fil du bleu à la main rapidement (jeu actif) provoquait l'affichage ponctuel de la couleur.... :?

Et donc je pense avoir compris ce qu'il se passe : il semble que la TV n'apprécie pas d'avoir un niveau HAUT sur un canal de couleur immédiatement au tout début de la ligne. Mon vert et rouge RAS, les pixels commencent bien après le début de la ligne. Le bleu est à l'état haut dès le début (vérifié à l'oscillo).

En jouant avec mes portes logiques intercalées sur mes couleurs, j'ai fini par obtenir ceci :
DSC_1997.JPG
DSC_1997.JPG (226.93 Kio) Consulté 1750 fois
En faisant un ET logique entre mon signal de synchro (ou son inverse, je ne sais plus ce que j'ai câblé). L'idée c'est que la pulse horizontale de la synchro ligne vienne mettre à l'état bas mon signal de bleu avant de l'envoyer à la TV. En jouant (un peu au hasard...) avec les signaux j'ai pu obtenir l'écran ci dessus.

Bref il semble que coté timing il y ait des contraintes sur le niveau des couleurs juste après les synchros (ligne ?). Il n'y aurait pas une histoire de back porch ou similaire ? Encore une fois le bleu s'affiche, mais très atténué....
Both front porch and back porch as well as horizontal pulse and color burst are sync information in the horizontal blanking period, in the analog video.

The front porch it is an interval period between the end of picture information and start of horizontal pulse. The level of front porch is at pedestal (black reference) and the purpose is to set blanking level ("clear" of any signal level remains) before the horizontal pulse occurs. Duration it is very short, 1.5μs.

Back porch is the duration between end of horizontal pulse and start of the next line with video information. Lasts more than front porch around 4.7μs and the main purpose is to give the time to beam scanning for reverse direction (right to left) to start new line. In addition it sets the reference black level as well as sets the timing of color burst pulse.
Le niveau de "noir" de mon bleu doit être dans les choux !!
Avatar de l’utilisateur
Falkor
Messages : 1644
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [Arcade] Sprites manquants

Message par Falkor »

Suite des expérimentations...

Donc en gros si je comprends bien la norme, le "back porch" correspond au moment juste après la pulse de synchro ligne qui permet (entre autres ?) de déterminer le niveau de tension qui correspond au "noir" des canaux de couleur. Et vu que mon niveau de bleu était à l'état haut dès le début de la ligne, c'est ce qui pouvait potentiellement poser problème, le système prenant mon niveau haut comme référence de noir.

Comment corriger ? J'ai eu l'idée de compliquer un peu le circuit et d'intercaler un correctif. Concrètement, l'idée était de créer un nouveau signal qui passerai à "1" après le back porch, et de faire ensuite un ET logique avec mon signal de bleu. Ainsi, j'aurais en théorie un niveau haut sur mon bleu uniquement après le back porch... :roll:. Mais attention, il serait aussi risqué d'avoir un bleu à l'état haut pendant le "front porch", c'est à dire à la toute fin de la ligne, donc prendre aussi cette contrainte en considération.

Pour générer ce signal sans trop me prendre la tête (et sans cablages compliqués), j'ai utilisé une arduino. J'ai envoyé la synchro dans une entrée d'interruption, cette dernière générant un créneau de sortie avec les délais que je voulais. (attente, mise à 1 d'une sortie, attente, mise à zéro)

Voici ce que donne ce nouveau signal :
DSC_2006.jpg
DSC_2006.jpg (182.09 Kio) Consulté 1707 fois
En bleu ma synchro (ligne) et en jaune mon nouveau signal provenant de la arduino. En rouge la tempo pouvant correspondre au "back porch", avec donc mon nouveau signal à l'état bas au début de la ligne. Pour résumer, ce nouveau signal jaune correspond au moment de ma ligne où j'autorise le signal bleu à être à "1". :)

Je peux donc faire un "ET" logique de ce nouveau signal avec mon signal de bleu :
DSC_2007corr.jpg
DSC_2007corr.jpg (210 Kio) Consulté 1707 fois
(Toujours la synchro en bas). On observe maintenant que le signal bleu n'est plus à l'état haut pendant le "back porch".

Et donc il est temps d'envoyer tout ça à mes TVs :
DSC_2004corr.jpg
DSC_2004corr.jpg (221.53 Kio) Consulté 1707 fois
Victoire !!! :D Le canal bleu fonctionne !

Alors ça n'a pas fonctionné du premier coup, j'ai tâtonné un peu à trouver les temporisations qui allaient bien sur la arduino pour régler back et front porch. Et même là tout n'est pas parfait, il y a quelques artéfacts sur certaines lignes. Ça se voit mieux sur la LCD :
DSC_2000corr.jpg
DSC_2000corr.jpg (212.93 Kio) Consulté 1707 fois
DSC_1999corr.jpg
DSC_1999corr.jpg (125.04 Kio) Consulté 1707 fois
Aussi bien au début qu'à la fin de la ligne. Remplacer la arduino par un montage analogique permettrait un réglage certainement plus fin. Mais en tout cas ça a résolu le problème, j'ai désormais tout mes canaux d'affichés !
Dernière modification par Falkor le 11 avr. 2022 10:21, modifié 1 fois.
Avatar de l’utilisateur
Falkor
Messages : 1644
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [Arcade] Sprites manquants

Message par Falkor »

Alors dernier souci : sur aucune de mes TVs je n'arrive à avoir une image complète. Soit il me manque le bas (TV CRT) ou un coté (TV LCD). Je ne sais pas trop à quel niveau il est possible de corriger ça coté carte... Un "vrai" moniteur d'arcade pouvant m'offrir ce genre de réglages, je ne sais pas si chercher à corriger ça à la mano serait très efficace. Surtout que l'électronique de "compensation" commence à grossir dans des proportions inquiétantes : :?
DSC_2005corr.jpg
DSC_2005corr.jpg (305.54 Kio) Consulté 1707 fois
Il y a là dessus pèle-mêle le montage permettant de corriger les largeurs de pulse, des portes logiques permettant de "booster" les niveaux de couleur, la arduino génératrice de signal correcteur, et quelques portes logiques en plus pour faire un joli canal bleu.. :mrgreen:
Avatar de l’utilisateur
fneck
Site Admin
Messages : 15657
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: [Arcade] Sprites manquants

Message par fneck »

Je vais probablement dire une bêtise mais ça ne serait pas dû au fait que les moniteurs d'arcades sont verticaux?
Et par conséquent le signal vidéo adapté (plus haut & moins large).
Zebulon
Messages : 1617
Inscription : 02 nov. 2020 14:03

Re: [Arcade] Sprites manquants

Message par Zebulon »

Wow wow wow et re-wow ! :D

Là tu apprends un maximum sur tous ces signaux et je suis épaté que tu dégaines un Arduino comme on prendrait un tournevis. :P
Avatar de l’utilisateur
Falkor
Messages : 1644
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [Arcade] Sprites manquants

Message par Falkor »

fneck a écrit : 11 avr. 2022 10:33 Je vais probablement dire une bêtise mais ça ne serait pas dû au fait que les moniteurs d'arcades sont verticaux?
Et par conséquent le signal vidéo adapté (plus haut & moins large).
Alors il me semble que même moniteur monté vertical, le balayage est toujours fait sur le plus grand coté...Donc écran vertical : balayage aussi vertical (de haut en bas). (Je sais que c'est le cas sur certains jeux, après je ne sais pas si c'est une généralité...)

Phantomas est à priori (cf émulation) donné pour fonctionner sur moniteur horizontal (tout comme Spectar, le jeu "mère").

Après vu tout ce que j'ai modifié sur les signaux, je ne suis pas spécialement étonné que ça ne s'affiche pas correctement.
Zebulon a écrit : 11 avr. 2022 10:38 Là tu apprends un maximum sur tous ces signaux et je suis épaté que tu dégaines un Arduino comme on prendrait un tournevis. :P
Oui c'est clair que c'est extrêmement formateur ! Après utiliser une arduino m'a permis de gagner du temps et me simplifier le cablage, le montage étant déjà assez lourd. Il aurait été possible de remplacer le tout par un LS221 je pense, mais j'ai fait au plus rapide :P
Avatar de l’utilisateur
fneck
Site Admin
Messages : 15657
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: [Arcade] Sprites manquants

Message par fneck »

Ok mais sur le moniteur il faut aussi intervertir les bobines de déviation. Enfin ce n'est qu'une hypothèse mais qui me parait possible.
Avatar de l’utilisateur
Falkor
Messages : 1644
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [Arcade] Sprites manquants

Message par Falkor »

Aucune idée... Je sais juste que les jeux que j'ai en écran vertical (une majorité) s'affichent correctement sur ma TV à balayage horizontal, représentée ici tournée d'1/4 de tour :

Image

Les screenshots de Spectar montrent que l'image (donnée pour être affichée sur un moniteur horizontal) est plus haute que large :

Image

Donc peut-être des modifs matérielles effectivement à faire sur les moniteurs...

EDIT : les screenshots de Phantomas que j'ai fait sur Mame disent l'inverse : :roll:
sc2.png
sc2.png (169.03 Kio) Consulté 1670 fois
Allez comprendre...!
Avatar de l’utilisateur
Falkor
Messages : 1644
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [Arcade] Sprites manquants

Message par Falkor »

Pour penser un peu plus loin que tout ces problèmes analogiques, j'avais plus ou moins envisagé de m'équiper d'une carte de conversion analogique -> VGA pour me permettre d'espérer m'affranchir de ce genre de problèmes et fiabiliser mes affichages sur d'autre types de moniteurs que mes TVs, CRT ou LCD.

On trouve beaucoup de choses en ligne (Aliexpress et autres), notamment des GBS 8200 ou autres clones.

J'ai bien relu les fils consacrés au sujet, ici ou , mais vos tests semblent montrer que tout n'est pas aussi simple que les docs semblent le montrer.

Les docs précisent que "tout les jeux jamma sont compatibles" grâce aux entrées RGBS, ou RGBHV, à des fréquences de 15KHz, 24KHz et 31KHz (± combien ???). Sur un jeu d'arcade, ces signaux sont au format TTL. Alors selon les jeux, le TTL est soit purement binaire (8 couleurs), soit analogique (présence de variations de niveau de tension.)

Mais les observations de Fabien semblent ne pas aller dans la même sens :
Ensuite cette carte n'accepte que les signaux analogiques (en gros sur 1V eff) et non pas les TTL (0 ou 5V)... encore une fois adieu le CGA et l'EGA. Pour le RGB c'est pareil, en TTL ça ne passera pas, alors qu'en analogique ça devrait être bon. Avec ça on a déjà à peu près fait le tour de tous les avis divergents, entre ceux chez qui ça marche et ceux chez qui ça ne fonctionne pas.
Donc du coup TTL ou pas ?? J'ai bien vu qu'il y a des potentiomètres mais ça reste pas clair... :?:
Avatar de l’utilisateur
Falkor
Messages : 1644
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [Arcade] Sprites manquants

Message par Falkor »

Acheté un clone de GBS 8200 sur aliexpress...

DSC_2070.JPG
DSC_2070.JPG (338.28 Kio) Consulté 891 fois
Coté branchements c'est assez simple : branchement des 3 canaux couleurs sur un connecteur et la synchro combinée sur une autre broche. La doc mentionne une voie pour synchro H et une autre pour V, sans parler d'une synchro combinée (comme j'avais sur le jeu considéré). J'ai fini par la brancher sur l'entrée synchro H. La carte en elle même est alimentée en 5-12 V DC. J'avais une alim "arduino" de 9v DC sous la main, je l'ai utilisée.

Testé avec un clone de Mr Do ! (qui au passage s'appelle "Mr Du !", je me demande vraiment comment coté légal ça pouvait passer :roll: ), image impeccable du premier coup. Un peu de parasites sur le bas de l'écran (au delà de l'image) qui ont été retirés en ajustant la position / dimension de l'image à l'aide des boutons de réglage situés sur la carte :
DSC_2063.JPG
DSC_2063.JPG (602.43 Kio) Consulté 891 fois
Les bandes de pixels horizontales étranges sont un défaut du jeu (problème sur les "moving objets", sûrement une porte HS quelque part). L'image est très nette et les pixels pas baveux du tout.

Testé Phantomas (le jeu sur lequel j'ai eu beaucoup de soucis) :
DSC_2069.JPG
DSC_2069.JPG (780.3 Kio) Consulté 891 fois
Affichage de l'image complète (ça ne m'était encore jamais arrivé sur les signaux couleurs :P ) mais le bleu ne s'affiche pas correctement. Toujours le problème de back porch, que j'avais en partie résolu avec une arduino. Testé différents quartz, le système semble assez tolérant. Je prendrai quelques notes lors de mes prochains essais.

Bref, je suis plutôt content du rendu sur ces premiers résultats. Je vais je pense équiper les gros circuits de la carte de radiateur (de série sur d'autres cartes) car ils semblent chauffer pas mal. Je ne sais pas à quel niveau non plus les réglages demandés sont conservés (j'en doute).

Je vais tester sur d'autres cartes...
Avatar de l’utilisateur
fneck
Site Admin
Messages : 15657
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: [Arcade] Sprites manquants

Message par fneck »

C'est intéressant cette carte clone qui à l'air de bien fonctionner. Tu veux dire que tu a branché la synchro composite sur la borne Hsync seule et ça fonctionne ainsi. Ça serait aussi à tester avec une vrai GBS 8200.
Avatar de l’utilisateur
Falkor
Messages : 1644
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [Arcade] Sprites manquants

Message par Falkor »

fneck a écrit : 17 mai 2022 09:35Tu veux dire que tu as branché la synchro composite sur la borne Hsync seule et ça fonctionne ainsi.
C'est ça !

La carte c'est celle-ci pour info.
Avatar de l’utilisateur
Falkor
Messages : 1644
Inscription : 28 juin 2010 12:09
Localisation : Cluny, Saône et Loire

Re: [Arcade] Sprites manquants

Message par Falkor »

Modifié mon montage à base d'arduino présenté plus haut par un montage à base d'un multivibrateur 74LS221 afin de corriger le canal bleu d'arrière plan de ma sortie vidéo. Affichage absolument impeccable :
DSC_2076.jpg
DSC_2076.jpg (461.67 Kio) Consulté 618 fois
DSC_2075.jpg
DSC_2075.jpg (639.26 Kio) Consulté 618 fois

Je n'avais pour l'instant encore jamais réussi à avoir une image avec l'arrière plan parfait et en pleine échelle sur un écran. :)

Les couleurs sont pâlichonnes mais mon bureau n'était pas suffisamment éclairé.

Je vais mettre le schéma au propre pour pouvoir le poster.
Répondre