Gamoover

[move]Bienvenue sur Gamoover, portail francophone de l'arcade.

[WIFP] PCB Space Invaders, Bally Midway 1978

Démarré par Little_Rabbit, Jeudi 25 Mars 2021, 22:00:52 PM

Little_Rabbit

Salut,

Oui, je vous entends vous là bas au fond, vous écrier un peu désabusé "Quoi ? Encore ??  :-X"...

:D

Bah que voulez-vous, quand on a des compétences limitées à quelques PCB, on tend à se spécialiser et faire toujours la même chose ;).

Il y a plusieurs mois, un copain m'a confié son PCB Space Invaders en panne, et j'ai enfin pris le temps de me lancer dans sa réparation.

Le PCB est propre et complet, tant la carte mère que la carte fille :





Mais avant qu'il ne me soit confié, il est passé entre les mains d'un autre réparateur : je ne sais donc pas quelles ont pu être les « réparations » précédentes...

Comme je possède mon harnais de dépannage fait maison, je peux immédiatement brancher le PCB pour le tester dans mon atelier.

À la première mise sous tension, j'entends immédiatement mon alim d'arcade couiner :-\ !

Elle fait ça quand il y a un court-circuit franc sur l'une de ses sorties. Je débranche tout (le +5V, -5V et +12V), et rebranche les 3 tensions une à une pour identifier le ou les coupables. La réponse tombe sans délai : c'est le +12V qui est en court-circuit ! Cela me simplifie la vie car le +12V n'alimente que la partie son de la carte fille. [edit : Spectro et F4brice me rappellent que le +12V alimente la carte mère et la carte fille ! Mais en débranchant le connecteur qui amène le 12V à la carte fille, je constate que le court-circuit disparaît : cela réduit le champ des possibles et facilite ma recherche :).]

Après un rapide examen du schéma, je pointe un potentiel coupable :



Il s'agit d'un condensateur de découplage/filtrage aux bornes de l'ampli audio. Et qui plus est, ce condo est de type « tantale goutte ». Il est bien connu que les vieux condensateurs tantale peuvent se mettre en court-circuit en vieillissant. L'ohmmètre semble me confirmer qu'il est en court-circuit : je dessoude !



C'est bon : le court-circuit a disparu et l'alimentation ne couine plus :). Je n'ai pas de remplaçant sous la main, et comme c'est pour l'ampli, je verrai ça plus tard.

Après cette nouvelle mise sous tension, je n'ai toujours rien à l'écran ! :-\

Cela ne me surprend pas outre mesure car en novembre 2018, j'avais très rapidement ausculté ce PCB, et j'avais déjà constaté que le signal de synchro composite n'était pas généré pour cause de compteurs 9316 hors service. Je regarde cette partie du schéma :



On trouve en cascade une série de compteurs 9316, associés à des bascules D 7474 qui ensemble forment des sortes d'automates qui comptent les cycles d'horloge pour générer notamment le timing nécessaire aux signaux de synchro vidéo horizontale et verticale.

À l'aide de mon oscillo, je regarde ce que je trouve sur chacun des 9316, en partant de celui du bas du schéma : E7, puis E6, puis E5 et enfin D5. Je constate d'ailleurs que tous les 9316 ont déjà été remplacés ! Peut-être l'œuvre du précédent réparateur ?... Je remonte donc la piste, et fais le constat suivant à chaque étage : il n'y a aucun signal d'horloge ! :-\.

Normalement, les 9316 montés en cascade divisent la fréquence initiale du signal d'horloge : ici le premier de la chaîne ne reçoit pas de signal, normal donc que tous ceux qui sont après dans la chaîne ne décomptent rien !

Le signal d'horloge source est issu d'un oscillateur à quartz, la partie entourée en bleu dans le schéma mis plus haut.

Je continue à balader la pointe de l'oscillo, jusqu'à atteindre les différentes broches de l'oscillateur à quartz en haut, et curieusement, je vois bien un signal sur l'oscilloscope ! Hmm... Je lève les yeux vers l'écran et... ça y est, j'ai un signal vidéo !



Certes, ce n'est qu'une bouillie de pixels, mais c'est mieux que rien :D. Cela me prouve que toute la chaîne de 9316 et ses petits copains fonctionnent ^-.

Ne comprenant pas pourquoi la synchro vidéo a fini par arriver, je coupe l'alim arcade, puis la rallume : rebelote, écran noir sans le moindre balayage !  :-[

Je re-ballade la pointe de l'oscilloscope dans le coin de l'oscillateur à quartz et bingo, je retrouve mon signal vidéo ! De tentative en tentative, je finis par trouver que c'est en touchant la broche 2 du 9310 en C7 que l'oscillateur finit par démarrer !

Sur le coup, j'ai laissé ce problème de côté et poursuivi mes investigations, mais je vous livre tout de suite la solution à ce problème.

Il se trouve que j'ai eu l'occasion d'en discuter avec Spectro au téléphone : il me confirme ce que je présumais, à savoir que la pointe de l'oscillo doit très légèrement changer la capacitance du circuit, ce qui suffit à amorcer l'oscillation. Il me suggère de jeter un œil au condensateur situé au cœur de l'oscillateur, celui de 180 pF que j'ai entouré en jaune sur le schéma.

Je le dessoude et le teste :



En effet, un peu inférieur au 180 pF théorique. Je le change par un autre que j'ai sous la main, d'une valeur très légèrement supérieure à la valeur du schéma. J'en profite pour refaire les soudures dans ce périmètre, et désoxyder le quartz et son support (en effet, sur ces PCB le quartz n'est pas soudé mais enfiché sur un support !).



Nouvelle mise sous tension, et cela n'a absolument rien changé :'(...

J'inspecte de plus près le PCB, dessus et dessous, quand je finis par voir ce qui me semble être une belle bévue ! :-\

Comme on le voit sur le schéma, l'oscillateur à quartz est construit autour de deux portes NON d'un 74S04 qui se mordent la queue en quelque sorte puisque leurs sorties retournent vers leurs entrées, au travers d'un circuit RC de très petite valeur. Le NON de la porte qui se réinjecte à son entrée, associé au quartz sont la source de l'oscillation à la fréquence du quartz. Nous sommes certes en présence de portes logiques, mais une partie du circuit est analogique puisque le circuit RC, et la résistance/capacitance des portes S04 entre en jeu dans la génération de l'oscillation !

Or voici ce que je trouve en lieu et place du 74S04 en A7:



;D

Certes d'un point de vue logique, on pourrait penser qu'un 74HC04 est équivalent à un 74S04 (quoique, en terme de temps de propagation, cela doit déjà être différent), mais d'un point de vue «analogique» la structure différente des familles HC fait que le circuit portes+quartz+circuit RC n'est plus à même d'amorcer spontanément l'oscillation attendue de ce circuit !

Celui qui a eu l'idée de faire cette substitution était bien mal avisé !...

Je remplace donc le 74HC04 par un 74S04, et à présent le PCB démarre à tous les coups !  :-)=

Certes je n'ai toujours que ma bouillie de pixels, mais dans le prochain épisode, j'attaquerai le test du CPU/ROM et RAM !

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

Mario25

Excellent, ces WIP sont toujours un plaisir à suivre, avec son pop-corn de préférence.  ^-

Et puis ça pourra sans doute me servir quand j'attaquerai la mienne, une fois que la polepo sera terminée.  :ang:

Bon courage pour la suite.  ;)

spectroman

#2
Citation de: Little_Rabbit le Jeudi 25 Mars 2021, 22:00:52 PM
La réponse tombe sans délai : c'est le +12V qui est en court-circuit ! Cela me simplifie la vie car le +12V n'alimente que la partie son de la carte fille.
Le 12v alimente aussi le 8080, les rams, le buffer de clock.

edit: correction saisie auto

f4brice

Citation de: spectroman le Vendredi 26 Mars 2021, 07:24:04 AM
Le 12v alimente aussi le 8080, les raisons, le buffet de clock.

Yep, ainsi que les 16 RAM et les ROM !
Tu as eu de la chance que le condo en court-circuit soit sur la partie "son" !  :D

Little_Rabbit

Salut,

@Spectro et F4brice : ah mais oui ! Vous avez tout à fait raison !  ^-

Merci de m'avoir rappelé cette particularité des architectures à base de 8080 !  :-\

Sur mon harnais de test, j'ai un câble 12V qui est spécifiquement relié à la carte fille : j'imagine que c'est en le débranchant que je me suis rendu compte que le court-circuit disparaissait, et c'est sans doute cela qui m'orienta vers la recherche du coupable sur la carte fille :).

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

Little_Rabbit

#5
Salut,

Je vous livre la suite de ce WIP qui une fois n'est pas coutume est presque un WIFP (Work In Fast Progress) ! ;)

Petite interrogation surprise, pour ceux qui ont suivi les leçons précédentes ;) :

« Une fois qu'un signal vidéo s'affiche à l'écran, que fait-on sur un PCB Bally Midway de cette génération pour diagnostiquer certains types de pannes ? Vous avez 10 minutes !»


...


...


 :D

Alors ?

Oui, bravo, vous le savez : on enlève toutes les ROM et on remet sous tension !  ^-

Si tout fonctionne correctement au niveau du CPU, de la RAM, et de l'accès à l'espace ROM, on doit avoir de belles lignes verticales à l'écran (j'avais donné l'explication de ce qui peut au 1er abord paraître comme un mystère ici).

Je m'exécute, et enlève donc toutes les ROM du PCB. Mise sous tension et...

...



Yes ! ^-^ Trop facile me dis-je ! :)

Il serait déjà temps de passer à l'EPROM de test pour voir ce que disent les RAM !

Pour cela, il faut changer la position du strap S2, c'est-à-dire passer de ça :



à... quelque chose que j'ai oublié de prendre en photo ! :-\ Je vous mets à la place une vieille photo de mon propre PCB ;)



J'ai donc ensuite mis sur l'emplacement H l'EPROM de test version 1.3 (fruit du travail notamment de F4brice et Spectroman, on ne les remerciera jamais assez ! ^-).

Nouvelle mise sous tension pour apprécier sous mes yeux ébahis le résultat du test de RAM, sauf que... :-\ rien ! Je n'ai d'abord qu'une bouillie de pixels, puis sans rien avoir changé, j'ai à nouveau les barres verticales que j'avais avant ! :'(

Merde, c'est comme si l'EPROM que je viens de mettre en place n'était pas lue !

Pourquoi ces octets ne parviennent-ils pas au 8080 alors ? Examinons le schéma :



Entouré en bleu, nous avons le 7442 situé en E2 qui décode les bits d'adresse de poids fort, servant à sélectionner tel ou tel boîtier ROM/EPROM.

Entouré en rose, nous avons dans notre cas l'EPROM 2716 qui contient le programme de test.

En orange, nous avons « l'Instruction Bus », c'est-à-dire un sous-ensemble du bus de données sur lequel transite les octets du programme exécuté par le 8080, en provenance de l'EPROM.

En marron, nous avons des multiplexeurs 74LS153 qui servent d'aiguillage pour que le 8080 écoute tantôt « l'Instruction Bus », tantôt la RAM (ainsi que le bus multiplexé de la carte fille, situé dans le plan des E/S, la 4ème voie du multiplexeur n'étant pas exploitée !).

Enfin, en jaune, nous avons des drivers de bus bidirectionnels Intel 8216 : ils amplifient simplement les signaux du bus de données => le 8080 est un vieux monsieur, ces drivers de bus sont un peu son sonotone et porte-voix avec le monde qui l'entoure ;).

À l'aide de l'oscilloscope, je regarde si le « Chip Enable » de l'EPROM (broche 18) est activé par le décodage d'adresse ou pas. Résultat : l'EPROM est bien sélectionnée, et elle semble bien présenter des données sur le bus de données.

Je regarde ensuite ce qui rentre et sort des drivers 8216, en priant pour qu'ils soient bons car il s'agit de dinosaures Intel, dont l'extinction ne remonte pas au Crétacé, mais pas loin ! Ce que montre l'oscillo laisse imaginer qu'ils sont encore vaillants ! ^-

Passons alors aux multiplexeurs 74LS153 : ils sont au nombre de 4 (puisqu'ils multiplexent chacun deux bits du bus de données), et sont situés respectivement en D2, C2, B2 et A2.

Je me concentre donc sur leurs broches 7 et 9 par lesquelles sortent les 3 sources multiplexées. Ça bouge sur D2 : il semble bon. Ça bouge aussi sur C2 : il ne serait pas incriminé. Ah, sur B2 ses sorties sont toujours à 0 ! Quant à A2, il semble lui encore vivant.

Je dessoude donc B2, et le teste avec mon testeur de composants :



Bingo ! Il est bien mort ! ^-

Je soude un support et un remplaçant sorti de mon stock de TTL.



Nouvelle mise sous tension, toujours avec l'EPROM de test : super, le programme se lance ! ^-^
Et rend son verdict, ma foi d'une clémence appréciée : il n'y aurait qu'une RAM de défaillante la n° 8, sur les 16 en place !



Je procède donc au remplacement de la RAM indiquée comme mauvaise : je dessoude la malade :



Et mets en place une RAM neuve sur support tulipe :



Remise sous tension... exécution du test de RAM, et...   ça passe ! ^-^

Une petite vidéo qui vous montre le résultat, en image :


Et il y a le son avec, ce qui va introduire la suite de ce WIP : on constate qu'une bonne partie des sons sont manquants  :(.

Il va y avoir du boulot sur la carte fille !...

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

Mario25

Bien joué.  ^-

Merci pour ces explications claires et détaillées comme toujours.  <:)

f4brice

Bravo Petit_Lapin !  ^-^
Et le shifter ? J'ai vu sur une photo que tu as la version avec les 8 chips 74151.

lebahif

Bien joué avec tout ces wip nous allons apprendre a connaitre par coeur la pcb space inveder ^^

pet

Efficace!

J attend avec impatience la suite pour la partie son! :-)=
Ce sera certainement mon livre de chevet quand je reprendrais le WIP de ma PCB
Un clavier AZERTY en vaut deux

Little_Rabbit

Salut,

Merci pour vos appréciations :-* !

Citation de: f4brice le Samedi 27 Mars 2021, 07:11:04 AM
Et le shifter ? J'ai vu sur une photo que tu as la version avec les 8 chips 74151.

C'est vrai, j'ai oublié de vous en parler, et la vidéo coupe avant le test du shifter !...

Et bien il fonctionne nickel, je n'ai rien eu à faire dessus :) !

Je m'aperçois que je n'ai pas pris de photo sur l'écran qui affiche "Shifter OK"... Tant pis.

Je suis un peu en galère avec mon PC à la maison, du coup je n'ai trouvé le temps de vous raconter la suite... Bientôt j'espère ! ;)

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

spectroman

Citation de: Little_Rabbit le Lundi 29 Mars 2021, 22:18:26 PM
Salut,
Je suis un peu en galère avec mon PC à la maison, du coup je n'ai trouvé le temps de vous raconter la suite... Bientôt j'espère ! ;)
Ouais c'est tout pourri de pas avoir la suite. En plus quelqu'un m'a spoilé la fin  =:))

Little_Rabbit

#12
Salut,

Citation de: spectroman le Mardi 30 Mars 2021, 11:43:22 AMOuais c'est tout pourri de pas avoir la suite. En plus quelqu'un m'a spoilé la fin  =:))

Je ne vois pas quel saligaud a pu te divulgâcher la fin d'un feuilleton aussi passionnant ! :D

Comme vous avez pu le constater dans la dernière vidéo, cinq des bruitages sont absents.

Petit rappel : sur Space Invaders (et d'autres PCB Bally Midway de cette génération), les sons sont issus de petits modules analogiques indépendants les uns des autres. La carte CPU se contente d'envoyer une impulsion de commande pour déclencher tel ou tel son.

Cette commande se fait par l'intermédiaire des latchs 74174 situés en E4 et E5 :




Notez que la façon dont Bally Midway a tracé son schéma est assez trompeuse !... En effet, ils ont mis à gauche les bits de données dans l'ordre de D0 à D5, bits qui vont être mémorisés par le latch pour déclencher les sons. Mais les sorties qui sont à droites ne correspondent pas du tout à l'ordre de gauche ! ;D

J'ai mis un petit bout de temps à m'en rendre compte, aussi je vous mets ici avec des flèches la correspondance bit de commande et broche de sortie qui va activer tel ou tel son, je me dis que cela pourra servir à d'autres :




Et je vous mets également la correspondance des intitulés des sons déclenchés par le programme de test, et leur intitulé sur le schéma Bally Midway, car je me suis rendu compte qu'ils ont inversé deux intitulés de sons sur leur schéma !... Là où c'est indiqué Saucer Hit, c'est en réalité Invader Hit, et vice-versa ;) !

74174 en E4 :

EPROM de test|Sortie de latch|Intitulé schéma
UFO-F|Broche 2|Mystery Ship
MISSSL|Broche 5|Missile
LAU-H|Broche 7|Explosion (de notre base)
INV-H|Broche 10|Invader Hit (et non Saucer Hit !)
EXTRA|Broche 12|Bonus base
-|Broche 15|(fonction Mute : coupe tous les sons)

74174 en E5 :
EPROM de test|Sortie de latch|Intitulé schéma
INV-1|Broche 2|Note 1
INV-2|Broche 5|Note 2
INV-3|Broche 7|Note 3
INV-4|Broche 10|Note 4
UFO-H|Broche 12|Saucer Hit (et non Invader Hit !)
VID-R|Broche 15|(rien)

Je supposais que le programmes de test lançait les sons les uns après les autres, dans l'ordre des bits, mais je n'en étais pas sûr. Entre l'intitulé des sons à l'écran qui n'est pas le même que sur le schéma, le croisement des bits sur les latchs, et les erreurs du schéma, vous comprenez pourquoi j'ai pataugé pas mal de temps, à me demander quel son j'étais en train de traquer ! :D

L'une des premières pannes qui m'a interpellé, c'est les 2 notes manquantes pour le déplacement des envahisseurs. C'est cette partie du schéma qui en est responsable :



Cela s'articule autour d'un NE556, et différentes résistances. Le NE556 est un double « multivibrateur astable », c'est-à-dire un composant qui va nous générer un signal carré, dont la fréquence dépend d'un circuit RC, c'est-à-dire Résistance + Condensateur. Plus la résistance est élevée, et plus le condensateur va mettre du temps à se charger. Une fois chargé, le NE556 « bascule » et décharge le condensateur pour qu'il puisse se recharger. C'est donc en jouant sur la valeur du condensateur et de la résistance que la fréquence va changer.

Ici le condensateur est fixe, et on voit à gauche différentes résistances activées selon la hauteur de la note désirée.

Dans mon cas, j'ai deux notes sur 4, donc le NE556 ne peut-être incriminé.

J'ai donc commencé par regarder ce que j'avais en sortie de latch (une fois que j'ai compris l'ordre des sorties comme expliqué juste au dessus ;)). Les sorties du latch 74174 en E5 étaient bonnes, elles lançaient bien la commande. Ces sorties actionnent les portes OUI à collecteur ouvert du 7417 en F5. Observé à l'oscillo, je n'avais rien au niveau des sorties 8 et 4 ! ^-

Je dessoude le 7417



et le teste :



Yes !  :-)=  Le testeur confirme bien qu'il a un problème 8).

Je n'avais pas de 7417 en stock (et mon crémier non plus, cela ne doit plus trop se faire...), mais j'avais un 7407 qui est en tout point identique, si ce n'est qu'il accepte des tensions supérieures au niveau de ses collecteurs : qui peut le plus peut le moins ;).

Une fois le 7407 en place, c'est bon, j'ai bien mes 4 notes d'envahisseurs envahissants ! :)

Ce sera tout pour aujourd'hui ;).

Cette tranche de WIP ne nous aura pas fait beaucoup progresser en terme de réparation (2 sons à nouveau présents), mais elle aura eu le mérite d'y voir plus clair au niveau du schéma et de l'EPROM de test, ce qui simplifiera la suite :).

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

Michel Maeva

Salut Little,

Décidément, tu es abonné aux pcb Space Invaders.

Toi, tu es passé chez Matled  :D

Tes WIP sont toujours aussi complets et très agréables à lire, tout paraît "facile".

J'espère un jour acquérir quelques connaissances complémentaires mais il faut beaucoup du temps et surtout trouver le temps pour apprendre et tester également.

Bravo encore !
Sauvegardons notre patrimoine arcade !!!
Président du Celtic Arcade Museum (Musée de l'arcade à Quimperlé (29))
https://www.facebook.com/CelticArcadeMuseum