Gamoover

[move]Vous aimez la série Ricky la belle vie, Julio Iglésias ou l'émission Kohlanta ? Alors soyez les bienvenus sur Gamoover ! [/move]

F4brice 5 - Démon des pannes 0

Démarré par f4brice, Jeudi 15 Juillet 2010, 22:58:40 PM

f4brice

#48
Bonsoir.

Bon ayé, je viens encore de mettre une mandale dans les gencives du Démon des pannes :



:-)= :-*

Sur cette copie d'écran, il n'y a plus de bug autour du nuage.  :)

J'ai découvert assez vite que le problème n'était pas présent dès la mise en route du PCB.
Il se manifeste néanmoins très vite, après seulement environ 30 secondes de fonctionnement.
C'est ce qu'on appelle une panne "à chaud" (ou plutot "à tiède" pour celle-là).
Un composant est devenu sensible à la chaleur et se met à déconner dès qu'il monte en température.

Le problème, c'est qu'il passe très vite de l'état "je fonctionne" à l'état "je déconne", ne me laissant pas le temps de faire les mesures nécessaires avec l'oscillo.

Hier soir j'ai joué de l'oscillo jusqu'à tard dans la nuit, sans succès...
Ce soir, j'ai profité que le PCB avait eu une journée complète de repos pour utiliser une autre stratégie de recherche du composant en cause.

Mon idée : puisque la panne arrive après seulement 30 secondes de fonctionnement, le composant sensible est l'un des premiers à chauffer.
Le test : j'allume le PCB et je pose le bout de mes doigts sur tous les composants dès que le problème survient ; je repère ainsi lesquels sont déjà tièdes.

J'ai réussi à découvrir ainsi que les premiers composants à tiédir sont :

  • des petites RAM 2148
  • des petites PROM 512 x 8 bits
  • des cochoneries de composants propriétaires

En utilisant un aérosol de givrant, le coupable est démasqué.
Il s'agit d'une PROM qui sert de table d'index pour les "tiles" (les graphismes de fond) :


Observez comment le problème graphique évolue avec la température du composant.
À 00:22, j'utilise le givrant (quand même avec douceur) pour refroidir le composant ; le problème disparait !

Je dois changer ce composant (MB7124), mais il est obsolète.
Il est dispo chez Électronique Diffusion à un prix prohibitif !
Le site Arcade Chips vend des PROM et propose même de les programmer, mais n'a pas cette référence.
Il va falloir que j'en trouve un pas trop trop cher et aussi de quoi le programmer.
J'ai le fichier binaire à écrire dedans (merci Mame), mais mon programmateur est trop récent pour ce genre de composant.

Le remplacement de la PROM par une EPROM n'est pas envisageable : les temps d'accès des EPROM sont bien trop longs par rapport à une PROM.

À suivre.

Bal




AsPiC

Pour ta PROM, as tu regardé du coté des équivalent suivant :

NS : DM74S472BN
FUJITSU : MB7124HP
AMD : AM27S29APC

f4brice

#51
Citation de: AsPiC le Vendredi 23 Juillet 2010, 08:11:38 AM
Pour ta PROM, as tu regardé du coté des équivalent suivant :
[couic]

J'avais regardé chez ArcadeChips.com (qui n'ont pas).
Pas regardé encore chez E-D pour voir si un prix moins élevé sortait.

J'avais trouvé ça :

Citation de: Driver zaxxon.c de MAME
512*8
       +------+
    A0 |1   20| Vcc
    A1 |2   19| A8
    A2 |3   18| A7
    A3 |4   17| A6
    A4 |5   16| A5
    O1 |6   15| CE/
    O2 |7   14| O8
    O3 |8   13| O7
    O4 |9   12| O6
    GND|10  11| O5
       +------+

    cross ref:
       Signetics     MMI     TI       Harris  Raytheon  AMD      National  Intel   Fujitsu
       ---------     ---     --       ------  --------  ---      --------  -----   -------
    TS 82S147 (60ns) 6349-1  28S42    7649-5  29621     -        74S472    -       TS MB7124
       82S147A(45ns) 6349-2  -        7649A-5 29621A    27S29    74S472A   -
                     63S481
    OC -             -       -        -       -         -        74S473



EDIT: ayé, j'ai trouvé à 5,30 € !  8)

popples

Vraiment passionnant même si je ne comprend pas grand chose, un peu comme un bouquin des Bogdanov  ^-

stforce


8) Merci F4brice pour ces precisions sur ton graveur d'eprom.

WANTED, RECHERCHE LES BORNES SUIVANTS: GAUNTLET 1 OU 2, PAPERBOY, DRAGON SPIRIT,MARBLE MADNESS, CENTIPEDE...


f4brice

Bonjour.

J'ai une bonne nouvelle pour le remplacement de la PROM malade du PCB Sky Kid.
Non seulement j'ai trouvé un composant vierge compatible pas trop trop cher chez Électronique Diffusion, mais en plus j'ai trouvé de quoi le programmer !
À mon boulot, je suis allé voir les collègues électroniciens.
Ils disposent d'un programmateur de composants qui a 2 gros avantages :

  • il n'est pas tout récent
  • à l'époque, c'était un appareil très haut de gamme
Il sait programmer les PROM bipolaires et il connait la TBP28S42 de chez Texas Instrument !  :-)=

J'ai déjà une commande prévue chez eux, ce composant va donc s'ajouter à la liste.

J'ai vérifié quand même que mon PCB avait bien la PROM supposée (Fujitsu MB7124).
Grâce à la technique du sèche-cheveux, j'ai décollé l'étiquette sans la ruiner.
C'est tout bon :


À suivre : commande de composant + réception + programmation + essai !

f4brice

Alors, en attendant de passer commande chez ED pour terminer (إن شاء الله) la réparation du PCB Sky Kid, je vais m'attaquer à autre chose...

Le prochain à monter en salle d'examen / au bloc opératoire, c'est lui :


Il s'agit d'un PCB original Chelnov, Atomic Runner de chez Data East.
Il me semble que ce PCB est suffisamment assez peu courant en original pour mériter les heures que je vais probablement passer dessus.
Normalement, il comporte 2 "étages". Le PCB du bas est simplement à droite sur la photo, à peine visible.

Ce PCB donne l'impression d'être dans un coma avancé.
Quand je l'allume, j'ai ça :


J'ai bien vu qu'il y a un problème évident de synchro. En fait c'est même plus simple : il n'y a plus aucun signal de synchro... Ca, c'est fait.
J'ai déjà jetté un oeil rapide sur la partie "carte graphique" du PCB.
Les 2 puces propriétaires Data East (il semble que ce soient des DSP) sont totalement à l'arrêt. L'encéphalogramme est absolument plat.
Un tel niveau de panne n'est peut-être pas dramatiquement dramatique.

Par contre, j'ai un énôôôôrme avantage : les schémas électroniques de ce PCB sont disponibles sur le site ARCade ARChive:-)=
Autre 2e avantage, je possède déjà le frère jumeau de ce PCB, en état de marche. Je pourrai toujours comparer certaines mesures si j'ai un gros doute.

À suivre.

ryle

Ton combat contre le démon des pannes ne s'arrêtera donc jamais ! :)
Tu devrais recevoir une décoration pour le travail que tu fais pour la sauvegarde du patrimoine de l'arcade  =:))

lapin252

CE mec est dingue il s'arrete jamais je kif tes WIP et réparations. ^-^ ^-^ ^-^

Bal

donc, si je pige bien, t'as 2x chelnov ?? hmmmmm...si un jour tu comptes en céder un... ;)

allez, au taf du coup !



f4brice

#59
Bonsoir.

J'ai passé mon dimanche complet sur le dépannage de Chelnov.
La vache. J'en bave grave.  :-X
Le PCB de Chelnov est composé de 2 cartes : une carte CPU et une carte de traitement graphique.
Après de très nombreuses vérifications et investigations, je me suis décidé ce matin à faire rentrer sur le ring le PCB de Chelnov en état de marche.
Mon idée :

  • utiliser la carte CPU qui fonctionne avec la carte graphique du PCB à dépanner
  • utiliser la carte CPU du PCB à dépanner avec la carte graphique du PCB qui fonctionne
J'ai examiné à la loupe le PCB malade pour m'assurer qu'il n'y aurait pas de risque d'endommager le PCB qui fonctionne.
Le risque zéro n'existe pas, mais je n'ai vraiment rien trouvé qui soit dangereux.

Bilan des permutations : aucune des 2 configurations ne fonctionne.
Ça veut dire qu'à la fois la carte CPU et la carte graphique du PCB à dépanner sont en panne.
Là, c'est le démon qui vient de me poser un CBR (coup de boule rotatif). Pfiouuuu, ça pique...

J'ai décidé de séparer le problème en 2 :

  • la réparation de la carte CPU en utilisant la carte graphique qui fonctionne
  • la réparation de la carte graphique, en utilisant la carte CPU réparée

J'ai l'impression que j'ai dû à peu près tout regardé à l'oscillo...
Il est évident que le jeu démarre à peine et puis tourne en rond.
Le CPU part dans une boucle sans fin où... il ne fait rien.
J'ai bien sûr tout fliqué le CPU (OK), les ROMs (OK), la RAM (OK).
Chose très surprenante : plusieurs bits sur le bus d'adresse du CPU sont inactifs.
J'ai vraiment crû à une panne, mais il est possible que le CPU exécute une boucle infine très courte, genre :
10 faire quelques trucs;
20 faire d'autres trucs
30 si ( pas ( la condition de sortie de la boucle est remplie ) ) alors GOTO 10
40 ...


Je me suis rendu compte que le CPU, durant cette boucle, accédait à un des 3 ports d'entrée...
Pour ça, j'ai fliqué tout le décodage du mapping mémoire du CPU, j'ai vu qu'il qu'il cherchait à lire sur le port d'entrée n°2...


À gauche, "CPUAB" signifie "CPU address bus".
À droite, "I/O SEL" signifie "I/O SELECT".

Ensuite, on trouve ça :


Il se trouve que le CPU accède aux entrées-sortie en lecture, c'est à dire les entrées.
Le signal INPR (Input Read) est actif quand le CPU veut lire l'adresse correspondante et qu'il valide son bus d'adresse (signal "AS" = Address Strobe).

Un petit tour dans le code source de Mame pour le driver du jeu, et j'apprends qu'il y a l'indication de VBL (Vertical Blank = indique que la carte graphique s'apprête à afficher une nouvelle image) sur ce fameux port n°2.

Et là à l'instant je viens enfin de constater que le CPU principal n'arrivait pas à voir les indications VBL :


Immédiatement, les composants "IC7" et "8M" sont suspects.

Je m'apprêtais à regarder à l'oscillo dans les parages quand...


Là, j'ai halluciné...
Je n'avais même pas remarqué qu'il manquait 5 composants !!!
En fait, j'avais bien vu que certains composants n'étaient pas soudés, mais il est extrêmement habituel que les concepteurs de PCB prévoient des composants sans les souder.
Ça arrive quand le PCB est prévu pour plusieurs jeux (ce qui est le cas du PCB de Chelnov).
En plus, dans la doc, on trouve des références à des boutons 4 et 5 pour les 2 joueurs.
C'est inutile pour Chelnov et même pas prévu sur le Jamma. Donc le fait qu'il manque des composants était tout à fait plausible.
Mon problème, c'est que c'est la première fois que je trouve du travail de dessoudage qui est parfait !
La personne qui a dessoudé ces 5 composants a fait du travail particulièrement propre. Il n'y a aucune trace, j'ai crû que les composants n'avaient jamais été présents.

Voici le PCB qui fonctionne :


À suivre : mise en place des composants manquants !  :D

dapsaille

mheuuuu ....

et si ce n'était pas un chelnov et de fait ces composants pas nécessaires ?

(quoique j'imagine que tu as du vérifier par des dumps de rom) ...

f4brice

#61
Citation de: dapsaille le Dimanche 25 Juillet 2010, 21:22:44 PM
et si ce n'était pas un chelnov et de fait ces composants pas nécessaires ?
(quoique j'imagine que tu as du vérifier par des dumps de rom) ...

C'est la première chose que j'ai faite.
Les ROM sont bien celles d'un Chelnov.  :D

Bon, j'ai soudé le 74LS245 manquant :


Il ne reste plus qu'à tester :




Rha la la... Tant de recherches pour découvrir à l'oscillo ce qui sautait aux yeux...  :'(
Le démon s'est bien foutu de ma gueule... Il doit encore en pleurer de rire...  ;)

Maintenant, il me reste la 2e carte du PCB à réparer (la carte du dessous qui réalise les traitements graphiques)...

À suivre.............................. <= moi aussi j'aime bien mettre plein de points inutiles

dapsaille

Hahaha comme quoi des fois, on a le truc sous le nez et le diag part en vrille  :D


Cette fois pour l'autre carte vérifier bien que tout est présent, sinon en effet le composant a été enlevé de façon chirurgicale ...

madyoyo

Par contre ca risque d'etre un poil plus dificile avec les modules hybrides rouge, ca m'a l'air d'etre un truc bien proprio. Le demon des pannes essairait t'il de te mettre en quete d'un composant introuvable??