Salut,
C'est fait
(8h de boulot étalées sur 3 soirées), alors ca dit quoi ton test ![Wink ;)](http://www.gamoover.net/Forums/Smileys/guntar/wink.gif)
Merci encore pour ce développement et pour les bénéfices qu'apporte cette nouvelle version !
![:-)=](http://www.gamoover.net/Forums/Smileys/guntar/happyjump.gif)
Comme vous l'avez compris, j'ai pu tester en avant première la dernière version de la ROM de test que Spectro a développée
![Azn ^-^](http://www.gamoover.net/Forums/Smileys/guntar/azn.gif)
.
Mise en place de la nouvelle EPROM sur mon PCB, et voici le résultat :
Le test s'effectue correctement, mais à peine le résultat est-il affiché à l'écran que le PCB reboote, pour afficher à nouveau le test, puis rebooter, etc., à l'infini.
En faisant une pause sur la vidéo, on peut toutefois voir ce que le test affiche :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015185859-Little_Rabbit-Test-RAM-1.2.jpg)
Y a du boulot en perspective !
![Undecided :-\](http://www.gamoover.net/Forums/Smileys/guntar/undecided.gif)
Spectro qui attendait le résultat du test de sa dernière version sur un vrai PCB (et non plus sous MAME) me confirme mon avis : le watchdog ne fonctionne pas correctement !
Pour rappel, le watchdog (chien de garde en anglais) est un mécanisme qui RESET le PCB si le programme en cours d'exécution n'est pas venu le « calmer » à intervalle régulier. En l'occurrence, sur Space Invaders, si le watchdog n'est pas remis à 0 dans les 4 secondes, il génère un RESET. Or, le programme de test de Spectro purge régulièrement le watchdog, cela ne devrait donc pas faire de RESET ! Juste pour vérifier, j'ai remis l'ancienne version de l'EPROM de test, et elle aussi faisant un RESET toutes les 4 secondes.
Quelle est la cause de cette nouvelle panne que je n'avais pas encore identifiée ?
Observons le schéma du watchdog (qui se trouve sur la carte fille) :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190011-Little_Rabbit-Circuit-RESET.jpg)
J'en ai déjà parlé plus dans un post précédent : les deux compteurs 74161 en cascade comptent les impulsions 60 Hz. Si les compteurs ne sont pas remis à 0 via leur broche 1, le débordement du compteur en broche 15 génère le RESET. C'est en écrivant sur le port 6 que le « clear » devrait se faire, mais ici ne se fait pas. J'ai observé le signal à l'oscillo sur la broche 1 des 74161 : ça ne bouge pas.
Voyons le reste du schéma et remontons la piste :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190050-Little_Rabbit-Output-Ports.jpg)
C'est le port 6 qui « clear » le watchdog, partie surlignée en jaune sur le schéma. Ce composant, le 7442 situé en E3, est un décodeur BCD (BCD = Binaire Codé Décimal, c'est à dire du binaire ou 4 bits ne permettent que de compter de 0 à 9) :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190138-Little_Rabbit-7442.gif)
à partir de la combinaison binaire présente sur ses 4 entrées (A, B C, D), il active la sortie correspondante en sortie (active au niveau bas). Exemple : si les 4 bits en entrées sont 0010, c'est la sortie 2 qui passe au niveau bas, toutes les autres sont au niveau haut. Si les 4 bits en entrées sont 0101, c'est la sortie 5 qui est active, etc.
Dans le cas de l'utilisation qui en est faite ici, on voit que seuls les sorties des broches 3, 4, 5, 6 et 7 sont utilisées. J'ai observé à l'analyseur logique les signaux en entrée et en sortie :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190252-Little_Rabbit-20171014-171955.jpg)
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190322-Little_Rabbit-E3-7442-dy-codage-PORTS.jpg)
On constate que l'entrée D est en permanence à l'état haut, ce qui a pour conséquence de n'activer que les sorties supérieures ou égales à 8 ! Mon port 6 n'est pas près de s'activer...
L'entrée D (broche 12) est celle connectée au 7404 situé en F3. Son entrée quant à lui est toujours à 0 : logique que sa sortie reste à 1.
On continue à remonter la piste et on voit que le signal en entrée sur le 7404 est intitulé « SAMPLE » et provient de la carte mère, via la broche 31 du connecteur carte mère / carte fille.
Localisons sur le schéma de la carte mère ce signal « SAMPLE » :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190403-Little_Rabbit-Sample-signal.jpg)
Il est généré par le 74LS86 situé en A4 : il s'agit d'un OU Exclusif. La table de vérité d'un OU exclusif est la suivante : sa sortie est à 1 si l'une ou l'autre de ses entrées est 1, mais pas les deux, et à 0 également si les deux entrées sont à 0. Observons le à l'analyseur logique :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190434-Little_Rabbit-A4-7486-Sample.jpg)
Ses deux entrées sont constamment à 1, donc il est normal que sa sortie soit constamment à 0. Nous continuons donc à remonter la piste
![joyeux :)](http://www.gamoover.net/Forums/Smileys/guntar/joyeux.gif)
.
Juste avant, nous avons notamment la porte NAND du 74LS00 situé en BX. Une porte NAND passe sa sortie à 0 si ses deux entrées sont à 1, sinon elle doit être à 0. À son tour d'être observé :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190512-Little_Rabbit-20171014-175512.jpg)
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015192149-Little_Rabbit-BX-74LS00.jpg)
Ah, là ça cloche ! On voit sur ce chronogramme que la sortie (br 6) reste constamment à 1, même quand les 2 entrées sont à 1 ! Composant suspect que je dessoude et teste :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190542-Little_Rabbit-BX-74LS00-bad.jpg)
Bingo ! Ce composant est bien défectueux. Je le remplace, remets sous tension, et à présent c'est bon, le watchdog est bien remis à 0 et cesse de reseter à tout va le PCB, le clear qu'effectue le programme de test se suit d'effet
![^-](http://www.gamoover.net/Forums/Smileys/guntar/bienjoue.gif)
.
Je peux à présent facilement voir le résultat du test :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190645-Little_Rabbit-20171014-182341.jpg)
Et ce n'est pas joli joli, puisqu'il annonce pas moins de 9 RAM défectueuses !
![Cry :'(](http://www.gamoover.net/Forums/Smileys/guntar/cry.gif)
Mais j'ai été prévoyant, j'ai acheté un bon petit stock de RAM :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015122615-Little_Rabbit-20171014-115330.jpg)
(8 d'entre elles sont pour F4brice qui wip aussi un PCB de SI en ce moment
![Wink ;)](http://www.gamoover.net/Forums/Smileys/guntar/wink.gif)
)
Notez qu'il faut normalement des TMS4060, mais en cherchant sur Ebay, je suis tombé sur ces AM9060CPC de chez AMD, qui sont en fait compatibles avec les TMS4060 (et bien moins chères : ici 5 EUR les 8 !).
Pour en revenir à mon dépannage, ce qui me surprend c'est que les RAM 2 et 3 par exemple ont déjà été remplacées !
Comme je suis à présent équipé d'un pistolet à dessouder, j'ai pu dessouder plusieurs des RAM indiquées défectueuses.
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190851-Little_Rabbit-20171015-183903.jpg)
Je les remplaçais par une RAM neuve, mais souvent la même RAM était toujours indiquée comme mauvaise. À l'emplacement H par exemple, j'ai dû essayer 7 RAM différentes avant d'en trouver une donnée comme bonne ! Il serait curieux qu'autant de RAM neuves soient défectueuses.
Autre chose curieuse, le test me fournit des résultats assez aléatoires :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190721-Little_Rabbit-20171015-183757.jpg)
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20171015190736-Little_Rabbit-20171015-184122.jpg)
Pour avoir tant de RAM en erreur, j'ai d'abord pensé aux 7404 qui sont placés au cul des RAM (qui inversent le bit de sortie), mais mon 7404 situé en D4 était déjà sur support. J'ai pu le testé au testeur de TTL et il est bon. Je l'ai même remplacé par un neuf par acquis de conscience mais cela n'a rien changé. J'ai également vérifié les alimentations au niveau des RAM : j'ai bien le +5V, +12V et -5V.
J'en suis là. Le grand nombre de RAM en défaut et le caractère aléatoire du test me pousse à penser qu'il y a un autre problème. Les premiers suspects sont les condensateurs tantale goutte utilisés en découplage à proximité de l'alimentation des RAM (une sur 2). Sushy, grand spécialiste en dépannage de Space Invaders, a même eu la gentillesse de m'appeler pour me demander si je l'es avais remplacés !
![Smiley <:)](http://www.gamoover.net/Forums/Smileys/guntar/smiley.gif)
Auparavant j'avais changé les 2 plus gros condo tantale de 22 µF, mais pas les petits de 1 µF. Parce que je pensais qu'un condo tantale qui n'était pas en court-circuit était encore bon, je les avais laissés. Je vais les changer et j'espère que les résultats seront meilleurs !
À suivre
![joyeux :)](http://www.gamoover.net/Forums/Smileys/guntar/joyeux.gif)
.
A+