Gamoover

[move]Vous vous épilez le maillot et collectionnez les bornes d'arcade avec des hommes musclés dessus ? 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

vaes

Bonsoir f4brice, qu'est-il devenu :

Citation de: f4brice le Lundi 18 Novembre 2013, 19:18:26 PM
Aujourd'hui, bataille contre le Démon pour lui arracher un boot de Pacman :


Maintenant que le champ opératoire est propre, il est temps de passer aux choses sérieuses...



À suivre : dépannage
=?=

f4brice

Ouch !

Ça fait un moment...
Ce PCB avait été réparé grâce à Mame.
Il avait une EPROM corrompue que j'ai pu re-créer à partir du set Mame.

vaes

Bonne nouvelle  ^-

Et j'attends la suite pour le PCB du SI.

f4brice

Bonjour.

Ayant terminé l'assemblage et l'expédition des DMD-clocks, je peux maintenant reprendre le dépannage de mon PCB Space Invaders.

La dernière fois, à force d'allumer / éteindre l'alim, j'ai encore cramé un peu plus le PCB.
En gros, plus je passe de temps dessus, et plus il tombe en panne.
Le Démon des Pannes est vraiment en train de se foutre de ma gueule !  >:D

Le PCB ne boote plus du tout, et l'activité sur le bus de données du CPU est plus que foireuse...
En fait, lorsque le CPU tente de lire une donnée dans l'EPROM de test (du code à exécuter), les données n'arrivent pas jusqu'au CPU :


En fait, il y a une panne majeure : l'octet de "STATUS" du CPU n'est plus latché correctement (c'est un truc qui sort du CPU pour dire au PCB ce qu'il s'apprête à faire :


C'est le 74174 en D7 qui est mourru :


Voici l'occasion de tester mon nouveau jouet, acheté sur les conseils de Oldschool et LittleRabbit :


Il fonctionne à merveille. C'est de loin le meilleur outil à dessouder que j'ai pu utiliser.
Je suis très content de mon achat.

Et tops :


Il est effectivement mort :


Une fois le remplaçant soudé, je continue le dépannage.
C'est bon, le CPU fonctionne correctement et semble exécuter du code normalement.
Mais, je m'aperçois que je n'ai pas du tout la même image que d'habitude (désolé, j'ai oublié de prendre une photo).
J'ai une image presque 100% noire avec quelques lignes verticales blanches. Pas glop du tout...

À suivre...  ;)

f4brice

Re-bonjour !

Suite du dépannage de ce PCB de Space Invaders.

La dernière fois, j'avais constaté que l'image par défaut était anormale.
J'ai donc viré le CPU et l'EPROM de test et mis en route en l'état.
Effectivement, l'image est foireuse (désolé, pas de photo, j'ai oublié).

Sur le PCB, il existe un système de clocks qui vont scanner la RAM pour générer le signal vidéo envoyé au moniteur.
En fonction de ce qui sort de la RAM, ça fait les pixels à l'écran.
J'ai vérifié toutes ces clocks, et tout est opérationnel.

Sauf que je me suis rendu compte que le signal R-/W (lire ou écrire dans la RAM) était systématiquement en mode "/W" (écrire).

Ce signal vient de la pin 9 du multiplexeur 74157 en F4 :


Lorsque c'est le CPU qui accède à la RAM, le signal R/W envoyé sur les RAM est celui du CPU (pin 10 du composant F4).
Lorsque c'est le système de clocks pour générer le signal vidéo qui accède aux RAM, c'est toujours "R" (pin 11 du composant F4, reliée à un pull-up).

L'oscillo me le prouve, c'est le 74157 en F4 qui est mourru :


Je ressors l'outil magique :


(désolé, la photo est floue)

Le malade est extrait très rapidement :


Et en effet, il est bel est bien cramé :


Je le remplace :


C'est fois, l'image est normale.
Je peux alors remettre en place le CPU et la Spectro-EPROM de test :


Cette fois, le Spectro-programme de test version 1.2 peut fonctionner.
Si je devais croire ce qui est affiché, j'aurais les RAM 2 + 4 + 6 + 7 + 8 + B + D + F + H de cramées :


Je pense qu'il n'en est rien. Ce n'est pas un hasard si toutes les RAMs paires sont détectées HS...

À suivre...  ;)

f4brice

Bonsoir.

Suite du dépannage.

La dernière fois, j'avais vu qu'il y avait plein de RAMs détectées "BAD" par la Spectro-EPROM de test.
En fait, j'ai vu qu'il manquait 2 colonnes de pixels tous les 16 pixels.
Je me suis donc recompilé le programme de test pour qu'il remplisse toute la RAM avec des 0xFF (blanc).

Voilà le résultat :


Je dois déterminer si la valeur 0xFF n'arrive pas dans la RAM, ou si elle est mal relue.

Je mets l'oscillo sur le registre à décalage 8 bits (le truc qui génère les pixels à partir des données issues de la RAM).

Sur un bit qui fonctionne :


Quand le registre est chargé, on lui présente bien une valeur à 1 (blanc).

Sur les 2 bits qui ne fonctionnent pas :


Là, on voit qu'on lui présente du blanc 1 fois sur 2, et du noir l'autre fois sur 2.
D'où le trou tous les 16 pixels.

Je peux facilement remonter sur les RAM en cause :



  • le signal jaune, c'est le chargement du registre à décalage
  • le bleu clair, c'est la sélection d'une RAM
  • le violet, c'est la sélection d'une autre RAM
  • le vert, c'est la donnée issue des RAM

Quand la RAM "violet" est sélectionnée, aucune donnée n'est présentée en sortie du composant.
Soit il ne se sélectionne plus, soit la sortie reste en haute-impédance (ce qui revient au même).
Et j'ai 2 composants de RAM dans cette situation...

Je les change :




Je peux relancer la Spectro-EPROM de test :


Il y a du mieux !!!  :-)=

Je change les 2 dernières RAM indiquées HS :


Youpi, le test de RAM passe maintenant !  :-*


Par contre, le test du shifter est KO :


Grâce aux informations affichées à l'écran, le dépannage du shifter sera facile !

À suivre...  ;)

olschool

 ^-

J'adore

je vais attaquer sous peu le wip de ma SI et c'est plus qu'instructif   :D :D
Winner's Don't Use Drug mais ça aide quand même pour finir Ghost & Goblins.



Citation de: ducatman1098 le Lundi 05 Novembre 2018, 22:45:37 PM
En rentrant le camion au garage,  je me suis aperçu que j avais récupérer une after burner  ;D

f4brice

Bonsoir.

Suite de la suite du dépannage du PCB !

Je sais grâce à la Spectro-EPROM de test que le shifter du PCB est en panne.
Les informations affichées sont très importantes :


On voit que la valeur "08" est omni-présente.
Il s'agit du bit 3 du buffer de sortie qui est toujours lu à 1.
C'est le 74153 en B3 qui est en cause.
Je le change et...


Voilà un problème de moins...
Maintenant, c'est la valeur "02" qui est pas mal présente.
En fait, quand on comprend comment fonctionne le test du shifter et quelles sont les valeurs affichées, on comprend que c'est le bit 1 du buffer de sortie qui est toujours lu à 0.
La panne était déjà présente sur la 1ère photo, mais je me concentre sur 1 seul problème à la fois...
C'est le 74153 en A3 qui déconne.

Lui aussi est changé...
Maintenant, j'ai ça :


Toutes les valeurs sont à "00" sauf la dernière valeur de la 2e ligne.
Quand on regarde de près le test du shifter, ça veut dire que la valeur "02" shiftée de "7" renvoie la valeur "00" au lieu de la valeur attendue "01".

Quand on regarde le schéma électronique du PCB, avoir une telle erreur n'est guère possible.
Le décalage binaire est réalisé par 4 composants exotiques "25S10" situés en A4, B4, C4 et D4.
Si l'un de ces composants était en panne, je pense que ça impacterait d'autres cas.

Sauf que mon PCB ne dispose pas de ces composants exotiques :


À la place des 4 composants 25S10, j'ai 8 composants 74LS151.
WTF ?
C'est très simple, j'ai une révision du PCB postérieure au schéma électronique.
Comment je sais que ce n'est pas l'inverse ?
Les composants sont des "LS", sortis après les "pas LS".
Donc ils sont plus récents que les autres composants.
Midway a certainement sorti une révision N+1 du PCB pour se débarrasser de composants chers et/ou difficiles à approvisionner pour la chaîne de fabrication.
Pour la faire simple, je pense avoir un PCB révision "C" et les schémas de la révision "B".

Les 74LS151 sont des multiplexeurs à 8 entrées et 1 sortie.
Leur mise en oeuvre me parait évidente :

  • chacun gère 1 bit
  • les 8 entrées sont câblées pour respecter le fonctionnement des 25S10
  • les 3 bits de data select sont câblés sur la valeur du décalage, à savoir les 3 bits latchés par le 74175 en A5

Bon maintenant, je dois trouver lequel des 8 gère le bit 0 !  :)
C'est celui dont la sortie "Y" (pin 5) est reliée à la pin 3 du 74153 en A3...

À suivre...  ;)

kidicarus

Je comprends à moitié rien mais suis toujours aussi impressionné et enthousiaste à l'idée de lire tes explications !!!  ^-
Je cherche une playchoice 10 et une pcb super system nintendo un playfield skateball ; evel knievel

Maitre_Poulpi

Idem, mais c'est tellement bien détaillé que rien que ça, ça donne envie de lire.
Ta pompe a dessouder à l'air efficace quand même. J'en ai une sur ma station mais j'ai bataillé sur certains trous et d'autres non, je voulais y regarder mais je me demande s'il n'existerait pas plusieurs embouts et le'lien était peut-être un peu gros et j'ai dû surchauffer un peu.
Question au passage, avant d'utiliser la pompe, est-ce que tu remets un petit coup de fer avant avec éventuellement de l'étain pour faire fondre plus facilement ? Ou rien du tout et ca y va tout seul ?
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 !

f4brice

Citation de: Maitre_Poulpi le Mercredi 20 Décembre 2017, 13:12:07 PM
Question au passage, avant d'utiliser la pompe, est-ce que tu remets un petit coup de fer avant avec éventuellement de l'étain pour faire fondre plus facilement ? Ou rien du tout et ca y va tout seul ?

Toutafé.
Je désoxyde systématiquement les soudures avec du fil d'étain neuf avant de commencer à dessouder.

f4brice

Bonsoir.

Suite de la suite de la suite du dépannage du PCB de Space Invaders.

En examinant les pistes de mon PCB, j'ai déterminé quel 74LS151 est en charge du bit 0.
Il s'agit du 1er...

Je le change :




Sauf que... ça ne change rien du tout !  :'(

Donc il s'agit du composant situé juste en amont de celui-là, qui ne lui envoie pas la bonne information.
En remontant les pistes, j'arrive sur la pin 15 du latch 74175 en B5.

Je modifie la Spectro-EPROM de test pour jouer en boucle le décalage qui déconne, ce sera plus facile à voir à l'oscillo :


Du coup, à l'oscillo, la panne est flagrante :


Le latch situé en B5 n'arrive plus à latcher sa pin 13, la pin 15 reste à 0.

Hop, je le change :


Là, j'ai le message "SHIFTER OK" !  :-)=

Il est temps de remettre les EPROM d'origine :




Bon, bin ça c'est fait !  8)

Je suis en possession d'un PCB de Space Invaders qui a été converti en Lunar Rescue !
Je pense que je vais le remettre en Space Invaders !

Il reste les entrées à tester et les sons.
Pour les sons, tous fonctionnent sauf le dernier. Mais j'ai vu un condo avec une patte cassée, donc c'est sûrement ça !

À suivre...  ;)

olschool

Winner's Don't Use Drug mais ça aide quand même pour finir Ghost & Goblins.



Citation de: ducatman1098 le Lundi 05 Novembre 2018, 22:45:37 PM
En rentrant le camion au garage,  je me suis aperçu que j avais récupérer une after burner  ;D

sushy18

Une fois de plus... <:) Comme dirait l'autre :"what else ?"

C'est littéralement une invasion de Space Invaders....et ça c'est cool !!
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

Bien joué  ^-^

Citation de: f4brice le Mercredi 20 Décembre 2017, 21:51:25 PM
Il reste les entrées à tester et les sons.
Pour les sons, tous fonctionnent sauf le dernier. Mais j'ai vu un condo avec une patte cassée, donc c'est sûrement ça !

Le dernier test son ne produit pas de son... je l'ai d'ailleurs enlevé sur la rom de test en développement.

regarde la vidéo de ce post : http://www.gamoover.net/Forums/index.php?topic=28741.msg628307#msg628307

ton score est donc de 6 à 0  ;)


Arvester

Toujours aussi impressionnant. ça donne tellement envie de se lancer, ça parait super simple quand on lit !  :P