Gamoover

[move]Le staff Gamoover vous souhaite la bienvenue ;)

[BUBBLE BOBBLE] le petit "vert" est demandé a l'accueil [résolu!] ^_^

Démarré par kaneda56, Vendredi 09 Novembre 2012, 10:04:42 AM

Noelfhim

Citation de: zebassprophet le Mercredi 14 Novembre 2012, 11:04:53 AM
chuis curieux de voir la suite de l'histoire

Idem, je lis ce post quasiment comme un tuto (et je regarde mes cartes en panne autrement).

Régis.

gc339

Bonjour.

En partant du postulat et des constatations suivants :

  • Le PC040DA semble introuvable en pièce détaché, Andy's Arcade qui en vendait n'en a plus en stock.
    Donc autant ménager les existants jusqu'à confirmation que celui du vert est HS.
  • La mémoire de palette 2018 est disponible chez Électronique Diffusion pour 5 € (MCM2018AN-35). Donc par d'hésitation pour sacrifier la première afin d'avoir accès aux fils C00 à C03 et éventuellement la deuxième pour avoir accès au fil C010.

Pour retirer (sacrifier) un circuit sans massacrer les trous métallisés du circuit-imprimé quand on n'est que modestement équipé en matériel de dessoudage :

  • Couper les pattes du circuit intégré une à une par le dessus, puis dégager son boitier.
  • Retirer les moignons de pattes un à un avec une pince brucelles (une pince à épiler fait aussi bien l'affaire ) pour éviter de se brûler les doigts.
  • Désobstruer les trous métallisés en aspirant la soudure avec une pompe ou de la tresse à dessouder.
  • Souder un support de bonne qualité comme un support à tulipes, cela facilitera la maintenance par la suite.

A partir du sacrifice de la 2018 en 83, quartier libre pour manipuler les fils C00 à C07 des PC040DA du vert et du rouge, par exemple :

  • Imposer une valeur sur les fils C00 à C03 : Insérer la nouvelle 2018 dans le support fraîchement soudé en 83 après avoir cambré ses pattes 9, 10, 11 et 12 pour qu'elles ne s'insèrent pas dans leur lyre respective et/ou qu'elles n'entrent pas en contact avec. Il suffit alors de positionner ces 4 fils indépendamment à 0 (0 volt ) ou à 1 (+5 volts ) à travers des résistances de 1 kΩ (pour ne pas court-circuiter les entrées/sorties du LS245 en 100 ) et d'observer la réaction sur l'image affichée à l'écran.
  • De permuter le vert et le rouge en croisant les fils C00 à C03 avec les fils C04 à C07. Opération plus délicate car il va falloir aussi sacrifier le LS245 en 100 pour pouvoir enficher le nouveau sur un support après avoir cambré ses pattes 2 à 9 pour qu'elles ne soient pas en contact avec les lyres correspondantes. Les pattes 9 à 11, 13 à 17 de la 2018 en 83 devront subir le sort pour être reliées par des fils volants aux pattes correspondantes du LS 245 en 100 et réaliser le croisement, toujours par des fils volants, entre les fils C00 à C03 avec les fils C04 à C07 à destination des PC040DA.
  • Tout autre manipulation non destructrice, le sacrifice de la deuxième 2018 en 84 n'est pas à exclure pour pouvoir manipuler le dernier bit C010.

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





f4brice

Citation de: gc339 le Mercredi 14 Novembre 2012, 13:11:45 PM
Bonjour.
[couic]

Effectivement, les manips décrites vont permettre de tester le PC040DA en lui injectant directement des bits de vert.
Avant d'en arriver là, j'aimerais faire quelques autres tests & mesures !  ;)
Idéalement avec un oscillo, à défaut avec un multimètre !
Le problème est que je ne sais pas trop comment va réagir un voltmètre sur un signal à ~ 5 MHz

Mon idée est de comparer deux à deux par exemple les bits C03 et CO15, puis ensuite C02 et C014, etc...
Avec la mire affichée, on devrait avoir des résultats...

  • ... équivalents si le TC040DA est en cause
  • ... différents sinon

Ensuite, la technique proposée par gc339 va permettre d'avancer considérablement (moyennant du sacrifice de composant facile à trouver).
Je pense même à une légère variante qui devrait donner les mêmes résultats tout en étant peut-être plus facile.
To be continued ce soir (je ne suis pas à la maison là), je posterai une photo qui expliquera la manip à faire !

On va y arriver !  8)

maldoror68


Little_Rabbit

#36
Salut,

Merci F4brice pour cet exposé fort intéressant !

Je comprends bien votre démarche à toi et gc339, et je vois où vous voulez aller pour déterminer quel est le composant fautif. Mais ne prenez-vous pas un chemin un peu compliqué, qui va induire un possible sacrifice de composants peut-être innocent ?

Et la question de kaneda56 :

Citation de: kaneda56 le Mercredi 14 Novembre 2012, 09:48:01 AM
3) Une question qui me turlupine: le fait de trouver une tension aberrante en sortie du PC040A ne suggère t'elle pas de façon quasi évidente la panne de ce dernier? Lui envoyer une valeur erronée peut elle se traduire par l'obtention d'une tension négative telle que je l'ai mesurée?

Je la trouve plutôt pertinente... et cela me pousse à penser que c'est bien le PC040A le fautif.

Alors j'ai bien compris que les PC040A sont des composants précieux car custom et introuvables en NOS, mais en prenant pas mal de précautions, j'aurais personnellement tenté le permutation avec l'un de ses voisins. On saurait tout de suite si c'est lui le fautif, ou non, auquel cas partir dans d'autres investigations telles que vous le décrivez prendra tout son sens.

Mais je n'ai pas votre niveau de compétence, ni votre expérience, aussi je ne voudrais pas mener kaneda sur une piste trop risquée ! :D

Sinon, en matière d'oscilloscope et d'outillage de diagnostique de PCB, au risque de passer une fois encore pour un commercial déguisé avec ses gros sabots, je vous encourage vraiment à faire l'acquisition du mini analyseur logique qu'est Scanalogic 2 d'Ikalogic :). Ça ne coûte que 60 EUR et je trouve cela personnellement un super investissement pour toute personne désireuse un peu sérieusement de faire du dépannage de PCB ;).

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

nc333

Citation de: Little_Rabbit le Mercredi 14 Novembre 2012, 14:21:34 PM
Alors j'ai bien compris que les PC040A sont des composants précieux car custom et introuvables en NOS,
stop! Fabrice a dit que ce composant est facilement remplaçable par un jeux de résistance et un CI
en fesans une petit carte qui se monterais a la vertical il est possible de remplacé ce composant sans modifier la pcb <:)
"Bon, j'ai pas mal réfléchi. Quand la vie vous fait trébucher, ça ne suffit pas de se relever. Il faut lui péter les rotules, à cette grognasse ! Œil pour œil, dent pour dent ! « Essaie un peu de te relever, maintenant, traînée ! »" Caves Johnson, 1980


La présentation c'est ICI :)

Little_Rabbit

Re-,

Citation de: nc333 le Mercredi 14 Novembre 2012, 14:43:21 PM
stop! Fabrice a dit que ce composant est facilement remplaçable par un jeux de résistance et un CI
en fesans une petit carte qui se monterais a la vertical il est possible de remplacé ce composant sans modifier la pcb <:)

Oui bien sûr, on pourrait faire comme on le voit sur la photo du boot que F4brice a publiée, c'est à dire utiliser un 74LS174 pour le latch, et ensuite des résistances. Mais on risque à mon sens de ne pas avoir le même gain que sur les autres composantes (bleu et rouge) et donc d'avoir une balance des couleurs imparfaite (parce que je soupçonne le composant de TAITO d'intégrer un ampli op, monté en sommateur, d'où les tensions positive et négative qui l'alimentent...). Il faudrait alors pour éviter cela remplacer les 3 PC040A par un ensemble latch+résistances, ce qui dénaturerait un peu tout de même ce beau PCB original ;).

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

maldoror68

 :D au pire tu as un lot de 3 x PC040A en spare pour 35 boules:

http://cgi.ebay.fr/TAITO-RASTAN-ARCADE-VIDEO-GAME-MAIN-PCB-BOARD-/230881436388?pt=LH_DefaultDomain_0&hash=item35c19b22e4

:-\

mais le must serai de décortiquer ce composant mystère pour de futures réparations sur d'autres PCB taito  ^-^



f4brice

#40
Citation de: Little_Rabbit le Mercredi 14 Novembre 2012, 14:21:34 PM
Et la question de kaneda56 :
[...]
Je la trouve plutôt pertinente... et cela me pousse à penser que c'est bien le PC040A le fautif.

Tu as totalement raison.
Cependant, avant de se lancer tête baissée dans du dessoudage de composant introuvable, il est préférable de faire quelques tests supplémentaires.

@kaneda56 :
Avec le PCB branché et affichant la mire (c'est important), en utilisant ton multimètre comme précédemment, peux-tu mesurer les tensions présentes sur :

  • CO3 : IC83, broche 13 (vert bit #3)
  • CO2 : IC83, broche 11 (vert bit #2)
  • CO1 : IC83, broche 10 (vert bit #1)
  • CO0 : IC83, broche 9 (vert bit #0)
  • CO7 : IC83, broche 17 (rouge bit #3)
  • CO6 : IC83, broche 16 (rouge bit #2)
  • CO5 : IC83, broche 15 (rouge bit #1)
  • CO4 : IC83, broche 14 (rouge bit #0)




Les indications de gc339 m'ont donné une idée de test, pas trop destructeur :

  • couper la broche n°13 de IC83 de sorte à ce qu'il reste un moignon de broche qui dépasse encore du composant
  • la broche n°13 ne doit plus etre en contact électrique avec le PCB
  • il reste un moignon de broche encore soudé sur le PCB (l'autre bout)
  • récupérer une résistance de 1 kΩ (marron-noir-rouge)
  • souder un bout de la résistance sur la broche n°24 de IC83 (VCC)
  • allumer le PCB, observer la mire
  • avec le bout en l'air de la résistance, faire contact sur le PCB là ou était la broche 13 de IC83
    ATTENTION AUX COURTS-CIRCUITS !!!
  • observer la mire : du vert foncé est-il apparu partout ?


Ca donnerait ça :


L'idée est d'isoler le bit de poids fort du vert de la RAM palette.
Certes quand le CPU va vouloir écrire une valeur, ce bit ne sera pas écrit.
Mais surtout quand l'image va etre affichée, il ne sera pas relu non plus.
La résistance mise en place va forcer un niveau "haut" sur ce bit, quelque soit le pixel.
Si le composant PC040DA fonctionne, il va afficher du vert à au moins 50% de "luminosité" sur tout l'écran.

Le risque, c'est que kaneda56 a vu un bloc de vert sur la mire...
Si ce bloc de vert correspond à du vert 50% "pur" (CO3=1, CO2=0, CO1=0 et CO0=0), bah le test tombe à l'eau et il faudra couper une 2e broche de IC83 !

@kaneda56 :
Fais d'abord les 8 mesures demandées, on verra après pour la suite !
Ce serait bien aussi de poster une photo de la mire telle qu'elle est actuellement, pour que l'on puisse essayer de "mesurer" au pif et à l'oeil quelle est l'intensité du seul bloc vert que tu vois.

Voici la mire de Bubble Bobble :


Grace à Mame et The Gimp, je peux mesurer l'intensité des blocs, de gauche à droite :

  • 100% (valeur 1111)
  • 60% (valeur 1001)
  • 47% (valeur 0111)
  • 27% (valeur 0100)

kaneda56

Un grand merci a nos deux R0x0rs pour leurs efforts conjoints!
Ya juste un tout petit probleme, je recommence le taff demain, et comme c'est un boulot tres tres tres prenant, je vais probablement imposer à ce WIP 4 jours de blackout total  ::)

F4b, je lance les tests demandés dès que j'ai une seconde de libre

GC339: Comme tu l'a pressenti mes compétences et mon équipement en matière de dessoudage sont assez limités. Sans être un manche complet, je préfererai, dans la mesure du possible, limiter au maximum les investigations destructrices :-\

"Arrête de te croire fort avec tes roll cancel!!!"
Paroles de Sac

nc333

Citation de: kaneda56 le Mercredi 14 Novembre 2012, 23:38:15 PMComme tu l'a pressenti mes compétences et mon équipement en matière de dessoudage sont assez limités. Sans être un manche complet, je préfererai, dans la mesure du possible, limiter au maximum les investigations destructrices :-\
pour dés-soudé un composant traversant faux pas non plus du matos de folie: un fer a soudé 25W(sans régulateur), de la tresse a dé soudé, du bon étain (entre 8/10 et 10/10, perso je tourne presque tout le temps en 10/10, je passe en 8/10 pour les trucs fin)

un total de moins de 20€ qu'il ne faux pas se priver <:)
"Bon, j'ai pas mal réfléchi. Quand la vie vous fait trébucher, ça ne suffit pas de se relever. Il faut lui péter les rotules, à cette grognasse ! Œil pour œil, dent pour dent ! « Essaie un peu de te relever, maintenant, traînée ! »" Caves Johnson, 1980


La présentation c'est ICI :)

gc339

#43
Citation de: nc333 le Mercredi 14 Novembre 2012, 14:43:21 PM
stop! Fabrice a dit que ce composant est facilement remplaçable par un jeux de résistance et un CI
en fesans une petit carte qui se monterais a la vertical il est possible de remplacé ce composant sans modifier la pcb

Citation de: Little_Rabbit le Mercredi 14 Novembre 2012, 14:56:08 PM
Oui bien sûr, on pourrait faire comme on le voit sur la photo du boot que F4brice a publiée, c'est à dire utiliser un 74LS174 pour le latch, et ensuite des résistances. Mais on risque à mon sens de ne pas avoir le même gain que sur les autres composantes (bleu et rouge) et donc d'avoir une balance des couleurs imparfaite (parce que je soupçonne le composant de TAITO d'intégrer un ampli op, monté en sommateur, d'où les tensions positive et négative qui l'alimentent...). Il faudrait alors pour éviter cela remplacer les 3 PC040A par un ensemble latch+résistances, ce qui dénaturerait un peu tout de même ce beau PCB original ;).
Je pense que le composant PC040DA est une petit peu plus élaboré que ça, il dispose de :

  • Deux broches que je suppose être des entrées de "blanking" ou effacement : signal "HBL" pour Horizontal BLanking en 10 et signal "VBL" pour Vertical BLanking en 11. La commande de "blanking" permet d'oblitérer le signal vidéo (niveau du noir ?) pendant les retours trame et les retours ligne.
  • Une broche de validation "B_ACK" ou "BLACK" en 9 (pas très lisible sur le schéma ) en provenance de la carte CPU. Pour inhiber l'affichage à la mise sous tension ou en période d'inactivité.
  • Une broche "6M" en 8 pour l'horloge pixel à 6 MHz. Horloge très probablement destinée à synchroniser le stockage temporaire des bits de couleur de chaque pixel dans le latch genre LS174 dont parlait le petit lapin.
  • Cinq broches de 15 à 19 recevant les données issues des mémoires 2018, dont les quatre premiers correspondent assurément aux bits de couleur d'un pixel, le cinquième bit pouvant avoir une utilisation spécifique (non encore déterminée ) selon les investigations de F4brice :
    Citation de: f4brice le Mercredi 14 Novembre 2012, 08:24:56 AM
    En (4), nous avons 5 bits de couleurs, qui théoriquement devraient former jusqu'à 25 = 32 nuances de vert (en comptant le noir).
    En regardant le code source de Mame pour Bubble Bobble, je vois qu'un des bits ne contribue pas à définir la nuance de couleur. Il a une autre fonction que je n'ai pas cherchée à définir pour le moment.
    Espérons que la prise en compte de ce cinquième bit ne compliquera pas le schéma de principe du PC040DA à outrance une fois que son action sera connue.
  • Un convertisseur digital/analogique genre DAC08, ce qui expliquerait les trois tensions d'alimentation (± 5 volts et +12 volts) :

    Les bits de couleur de chaque pixel, issus du latch, sont convertis en un signal analogique en sortie de l'amplificateur opérationnel.

Citation de: Little_Rabbit le Mercredi 14 Novembre 2012, 14:21:34 PM
Sinon, en matière d'oscilloscope et d'outillage de diagnostique de PCB, au risque de passer une fois encore pour un commercial déguisé avec ses gros sabots, je vous encourage vraiment à faire l'acquisition du mini analyseur logique qu'est Scanalogic 2 d'Ikalogic :). Ça ne coûte que 60 EUR et je trouve cela personnellement un super investissement pour toute personne désireuse un peu sérieusement de faire du dépannage de PCB ;).
Oui c'est un superbe outil. Je peux même me vanter ici d'avoir participé à l'intégration du protocole Maple Bus et d'être à l'origine d'une release du firmware de la sonde corrigeant un dysfonctionnement aux vitesses d'échantillonnages élevées : http://www.gamoover.net/Forums/index.php?topic=21932.msg323834#msg323834

Citation de: maldoror68 le Mercredi 14 Novembre 2012, 15:00:43 PM
:D au pire tu as un lot de 3 x PC040A en spare pour 35 boules:
http://cgi.ebay.fr/TAITO-RASTAN-ARCADE-VIDEO-GAME-MAIN-PCB-BOARD-/230881436388?pt=LH_DefaultDomain_0&hash=item35c19b22e4
mais le must serai de décortiquer ce composant mystère pour de futures réparations sur d'autres PCB taito
Ce serait pour moi une très bonne occasion de wiper encore faudrait-il que je puisse disposer d'un exemplaire de ce PC040DA.  

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





Eko

J'adore ce topic  =:)) (que j'avais raté  :-\)
On dirait une opération chirurgicale faite à distance avec les baguettes montées sur robot  :D :D
Trop de classe  ;)

Courage les dieux de l'électronique, ça va le faire  ^-^ et Kaneda pourra buller à souhait après avoir fait grimpé de quelques point XP supplémentaires son niveau de chirurgien de Pcb  ^-^

Bistouri...!

;)
Le RT, le WIP, des drogues dures ça nan ?

-RT Jeutel Mint !          -RT Twin STC          -WIP Twin STC         -RT Mini Jeutel    
-WIP Noami White       -WIP Noami Black    -WIP Gameroom      -WIP Mini Jeutel

f4brice

Citation de: kaneda56 le Mercredi 14 Novembre 2012, 23:38:15 PM
Ya juste un tout petit probleme, je recommence le taff demain, et comme c'est un boulot tres tres tres prenant, je vais probablement imposer à ce WIP 4 jours de blackout total  ::)

F4b, je lance les tests demandés dès que j'ai une seconde de libre

Aucun problème, chacun fait comme il peut !  :)

Citation de: kaneda56 le Mercredi 14 Novembre 2012, 23:38:15 PM
je préfererai, dans la mesure du possible, limiter au maximum les investigations destructrices :-\

La proposition de gc339, meme si elle semble "destructrice", n'en reste pas moins particulièrement efficace et pertinente.
Il ne faut pas avoir de scrupule à "tuer" un composant à 5 euros (lien n°1, lien n°2) facilement remplacable, si c'est pour éviter d'abimer un composant propriétaire introuvable et fragile.
En effet, le PC040DA est au format "SIP". Je trouve ce format fragile car le composant n'est pas très bien maintenu.
De plus, le fait qu'il soit englué dans un genre de céramique noire le rend fragile au niveau des broches et difficile à réparer.

La technique proposée par gc339 pour enlever la RAM 2018 pourrait sembler barbare mais elle est redoutable d'efficacité et de sécurité pour le PCB, pour celui qui déclare...

Citation de: kaneda56 le Mercredi 14 Novembre 2012, 23:38:15 PM
mes compétences et mon équipement en matière de dessoudage sont assez limités

Bien-sur il est techniquement possible de dessouder cette RAM, mais elle est en boitier DIL24 (ouch).
Ca fait 24 broches à dessouder proprement, sans abimer aucun des 24 petits trous métalisés du PCB !

Si on en vient à vouloir retirer cette RAM, il sera de loin préférable pour toi d'utiliser la technique décrite par gc339.

Pour info, mon expérience avec les SIP, c'est qu'ils sont plus difficiles à dessouder que les DIL.
La distance entre là où la broche "sort" du composant et là où elle est soudée sur le PCB est plus grande pour un DIP que pour un SIL.
De plus, la broche en sortie du DIL fait un coude à 90°, ce qui aide aussi à la dessouder (en tout cas avec ma technique).

Voici en photos :





Pour le moment, on en est pas encore là.
Il reste des mesures à faire...
Ensuite 1 voire 2 coups de pince coupante qui seront discrets et réversibles.  :)

Citation de: gc339 le Mercredi 14 Novembre 2012, 23:47:16 PM
Je pense que le composant PC040DA est une petit peu plus élaboré que ça, il dispose de :
[couic]
Ce serait pour moi une très bonne occasion de wiper encore faudrait-il que je puisse disposer d'un exemplaire de ce PC040DA.

J'ai regardé dans tout mon stock de PCB Taito, et malheureusement je ne possède qu'un seul et unique PCB disposant de ces composants : Bubble Bobble.
Ce PCB fonctionne et est important pour moi. Pas question de le détruire !  ;)

Si j'avais eu un autre PCB avec ces 3 composants PC040DA, j'aurais pu faire d'une pierre 2 coups :

  • j'en donne un à kaneda56 pour réparer son PCB
  • j'en donne un autre à gc339 pour examen

gc339

#46
Citation de: f4brice le Jeudi 15 Novembre 2012, 08:40:45 AM
J'ai regardé dans tout mon stock de PCB Taito, et malheureusement je ne possède qu'un seul et unique PCB disposant de ces composants : Bubble Bobble.
Ce PCB fonctionne et est important pour moi. Pas question de le détruire !  ;)
Puisque tu possèdes le matériel de mesure nécessaire, tu devrais pouvoir néanmoins vérifier si certaines de mes assertions sont exactes sans que ton précieux original ait à en pâtir :
Citation de: gc339 le Mercredi 14 Novembre 2012, 23:47:16 PM

  • Deux broches que je suppose être des entrées de "blanking" ou effacement : signal "HBL" pour Horizontal BLanking en 10 et signal "VBL" pour Vertical BLanking en 11. La commande de "blanking" permet d'oblitérer le signal vidéo (niveau du noir ?) pendant les retours trame et les retours ligne.
  • Une broche de validation "B_ACK" ou "BLACK" en 9 (pas très lisible sur le schéma ) en provenance de la carte CPU. Pour inhiber l'affichage à la mise sous tension ou en période d'inactivité.
  • Une broche "6M" en 8 pour l'horloge pixel à 6 MHz. Horloge très probablement destinée à synchroniser le stockage temporaire des bits de couleur de chaque pixel dans le latch genre LS174 dont parlait le petit lapin.
Ces vérifications ne nécessitent que l'observation des signaux à l'oscilloscope. C'est moins évident pour déterminer l'action du 5ème bit d'un pixel; un analyseur logique ayant une vitesse d'échantillonage appropriée serait préférable.
Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard





f4brice

#47
Bonsoir.

J'ai profité de cette fin de dimanche pour faire un peu de reverse-engineering sur le PCB de Bubble Bobble, pour essayer d'aider au mieux kaneda56 à réparer son PCB.

En effet, je dispose depuis plusieurs mois d'un analyseur logique assez performant, et c'est l'outil tout à fait adapté pour ce genre de travail.
C'est un appareil USB, nécessitant un logiciel sous Zindoze (malheureusement) pour l'exploiter.
EDIT du 21/02/2013: il fonctionne aussi sous Linux via VirtualBox !

Voici le plan de travail :


L'appareil dispose de 2 connecteurs de 10 broches.
Chaque connecteur dispose de sa masse et de 9 voies d'acquisition.
Mon analyseur dispose donc de 18 voies, et sait échantillonner à 200 MHz sur les 18 voies en même temps.
C'est un DigiView™ DV3200.

Sur la photo, mon écran a un problème de synchro.
Ca ne vient pas du PCB (testé sur 2 bornes), mais de mon "jamma to péritel".
Le signal de synchro doit se perdre quelque part, pourtant j'ai bien vérifié mon montage et je me suis basé sur un plan fiable (lien).
Pas très grave pour le moment, et ce n'est pas le sujet du jour.

Lorsque tous les signaux à mesurer sont situés dans la même zone, c'est vite le bazar :


Heureusement, les micro grip-fils fournis avec l'appareil sont d'excellente qualité et peuvent aller s'accrocher à une patte de circuit intégré très facilement.

Voilà la zone qui nous intéresse :


En 1, c'est un signal très important : /VBL (Vertical BLanking, soit "extinction verticale"):

  • il passe à 0 lorsque le spot a fini d'afficher l'image, et remonte pour se placer en haut, pour afficher l'image suivante
  • il passe à 1 lorsque cette remontée est finie et que l'image va donc s'afficher
Ce signal sert généralement à éteindre le spot du moniteur.

En 2 et 3, ce sont les signaux envoyés sur les composants propriétaires Taito PC040DA (5).
Je les ai baptisés plus loin "Vert_BR10" et "Horiz_BR11".

En 4, j'ai vérifié que "6M" est bien une clock à 6 MHz.
/BLACK (ou /B_ACK) s'est révélé toujours à 1 durant toutes mes mesures.
Je n'ai pas cherché à regarder s'il était à 0 au moment du boot du jeu, pour éviter l'affichage temporaire de bouille de pixels à l'écran.

J'ai placé le reste des entrées sur les 3 groupes de 4 bits des composants PC040DA.
Les bits CO9, CO10 et CO11 ont systématiquement été mesurés à 0.
Pour le moment, leur utilité reste inconnue, mais je pense qu'il s'agit quand même d'un bit de poids faible pour chaque couleur, inexploitée par le logiciel du jeu.


Voici la mesure.
La synchro de l'analyseur est réglée sur un front montant du signal /VBL :


En 1, nous avons le front montant du signal VBL, source du déclenchement de l'analyseur.
En 2, j'observe que le signal envoyé sur la broche 10 des composants PC040DA passe à l'état haut lorsque l'image commence à être affichée.
Le signal envoyé sur la broche 11 des composants PC040DA passe à l'état haut lorsque chaque ligne est affichée.
En 3, les composantes R/V/B sont toutes à 0xF, c'est à dire du blanc.
Effectivement, si on regarde avec précision la mire du jeu Bubble Bobble, la 1ère ligne est un trait blanc continu.
En 4, si on zoome, on voit une altermance de "beaucoup de noir", "un peu de blanc".
Ca correspond bien à la 2e ligne de la mire, du fait de son quadrillage.


  • Je sais maintenant que le signal sur BR10 passe à l'état haut lorsque l'image est affichée
  • Je sais maintenant que le signal sur BR11 passe à l'état haut lorsque chaque ligne est affichée,
    la 1ère transition se fait avec un léger retard par rapport à BR10.

Il est possible de faire des mesures précises...

Voici la mire du jeu, au pixel près, obtenue en faisait un screenshot du jeu lancé sous Mame :



En ouvrant cette image avec un éditeur d'image, j'observe que :

  • les blocs rouges sont affichés durant les lignes 49 à 80
  • les blocs verts sont affichés durant les lignes 81 à 112
  • les blocs bleus sont affichés durant les lignes 113 à 144
  • les blocs blanc/gris sont affichés durant les lignes 145 à 176

Si je peux demander à mon analyseur de se déclencher sur le scénario "complexe" suivant...

  • attendre un front montant sur BR10 (= début d'affichage de l'image)
  • puis ensuite attendre 49 front montants sur BR11 (= début d'affichage de la 49e ligne)
... alors ça veut dire que le PCB sera en train d'afficher justement la 49e ligne de la mire, soit la 1ère ligne où l'on a du rouge !
La ligne d'avant est un trait blanc continu.

Voici ledit réglage de déclenchement :


C'est assez facile à réaliser.

  • je créé un 1er "match" qui est "front montant sur BR10"
  • je créé un 2e "match" qui est "front montant sur BR11"
  • le 1er match est inséré en 1ère position dans un séquenceur, et le compteur de répétition est réglé à 1 (match à constater 1 fois)
  • le 2e match est inséré en 2e position dans le séquenceur, et le compteur de répétition est réglé à 49 (match à constater 49 fois)

Lorsque cette séquence est observée => l'analyseur se déclenche.
Pour info, l'analyseur travaille en permanence.
Lorsque les condition de déclenchement sont réalisées, il note "simplement" l'instant.
Je l'ai réglé pour qu'il continue l'enregistrement sur 50% de son buffer après le déclenchement.
Ainsi, je sais ce qu'il s'est passé avant et après le déclenchement.
C'est très pratique quand ce que l'on doit observer s'est passé avant la condition de déclenchement : ça fait un peu "machine à remonter dans le temps", même si ce n'est pas nécessaire pour les travaux de ce jour.

Voici la 49e ligne de la mire.
J'ai effacé avec un logiciel de dessin toutes les autres, pour bien la montrer :


Voici la mesure :


Le trait vertical au centre est l'instant de déclenchement.

Voici ce que l'on observe :

  • ligne n°48 : un trait blanc horizontal sur toute la largeur
  • trait blanc qui précède le 1er bloc de rouge
  • 1er bloc de rouge (le plus clair)
  • 2e bloc de rouge
  • 3e bloc de rouge
  • 4e bloc de rouge (le plus foncé)
  • trait blanc qui suit le dernier bloc de rouge
  • ligne n°50 : quadrillage qui précède le 1er bloc de rouge

En réglant le déclenchement de l'analyseur sur la 81e ligne, je peux voir la transition du rouge au vert, qui se produit à la 81° ligne de la mire :


Voici la mesure :



  • ligne n°80, la dernière avec du rouge ; on voit les 4 blocs de rouge (composantes vertes et bleues à 0)
  • ligne n°81, la 1ère avec du vert ; on voit les 4 blocs de verts (composants rouges et bleues à 0)

Voilà, c'est tout pour ce soir.
Maintenant, le pilotage de ces cochonneries de PC040DA est mieux connu.
Nous avons donc plus d'infos pour dépanner le PCB de kaneda56. :D