Bonsoir.
Petite satisfaction personnelle, j'ai réussi à réparer 2 de mes PCB.
Le 1er, c'est un Super Space Invaders '91 original. Je l'avais acheté en l'état sur le forum A-S (je ne me souviens plus à qui). Il y a plusieurs mois de ça.
Le PCB avait un problème de couleurs : le blanc était rose/mauve. En gros, il manquait la composante verte complète.
J'ai beaucoup galéré avec ce PCB, j'y ai passé des jours et des jours jusqu'à presque laisser tomber.
Mercredi dernier, j'ai décidé de jeter à nouveau un oeil dessus.
La différence avec la dernière fois, c'est que j'ai un testeur de composants TTL et qui sait aussi tester certaines RAM.
Ce PCB, quand on le passe en mode test, indique :
COLOR RAM ERROR
@300000H
WRITE 0000H
READ 0D00H
Et comme par hasard, quand je regarde dans les sources de MAME comment est fait l'émulateur, je constate que le "D" de 0D00 correspond aux 4 bits du vert...
Quand j'avais regardé la 1ère fois ce PCB, je n'avais rien trouvé d'anormal autour de la puce de RAM.
Aucun problème sur le bus d'adresses ou de données, pas de problème de sélection.
J'avais conclu (sans grande certitude) que le problème était lié à la puce de RAM elle-même.
N'ayant pas ce modèle en stock, j'avais repoussé le dépannage aux calendes grecques.
Hier, j'ai repris le PCB posé sur l'étagère "en panne, à réparer" et testé la puce de RAM avec l'outil testeur...
Il dit que la puce est bonne. Étrange...
Finalement, j'ai fait un peu de reverse-enginering sur le PCB autour de cette RAM.
Contrairement à ce que je croyais, elle n'est pas accédée par le CPU principal du jeu.
Elle est en accès exclusif pour une cochonnerie de composant propriétaire Taito.
J'ai donc regardé tous les composants TTL "pas loin" du composant Taito, et j'ai fini par en trouver un louche.
Après changement, tadaaaaaaaa :
Le 2e PCB, je l'ai réparé aujourd'hui.
Il s'agit un Galaga '88 original lui aussi.
Je ne sais plus comment j'ai eu ce PCB...
Son problème, ce sont des sprites buggés :
Après de longues investigations, et grâce aux schémas électroniques disponibles, j'ai réussi à trouver le problème.
Il y a 1 bit (A15) sur le bus d'adresse qui ne bagotte plus.
Ce bit est généré par lui :
Je dessoude le composant et je vérifie par acquis de conscience (et aussi par expérience) que ce composant est
à l'origine de la panne, et non pas un
dommage colatéral.
Bingo ! Il semble qu'il n'a pas grillé tout seul, on l'a un peu aidé.
Sur les 6 PROMs "OBJ0" à "OBJ5", je constate que 2 d'entres elles ont une même panne.
Elles ont toutes les deux leur broche A15 malade. Chacune impose un état bas sur le signal et ça a grillé le 74LS244 en photo plus haut.
Déjà, je remplace le composant grillé :
Ensuite, je dois m'occuper de remplacer les 2 PROMs malades :
Ces composants sont des PROM 1 Mbits (128 ko) dites "OTP" (One Time Programming). Elles ne sont programmables qu'une et une seule fois. Elles ne peuvent pas être effacées.
Je n'ai pas pu trouver de doc technique, mais j'ai les schémas Atari et donc le pinout.
Je ne sais pas quelle est l'EPROM compatible broche à broche. 27C301 ? 27C1000 ?
De toute façon je n'en ai pas.
Le pinout est très proche de la 27C010 à 2 broches près : A16 et /OE.
Et ça j'en ai en stock et je peux les programmer !
| NM231001 | 27C010 |
/OE | n'existe pas | broche 24 |
A16 | broche 24 | broche 2 |
Je vais donc utiliser 2 EPROM 27C010 et isoler les broches 2 et 24 pour les câbler correctement.
Nettoyage des traces de colle avec le produit miracle indiqué par GC339
Effacage avec mon insoleur UV ultra bas de gamme made in China (mais bien pratique)
Grâce au dump dispo sur le net, je peux flasher les 2 EPROMs avec le bon contenu.
Oui oui, c'est incroyable, mais les dumps de ROM pour Mame ne servent pas qu'à jouer.
Certains comme moi les utilisent pour leur but premier : la sauvegarde du patrimoine vidéo-ludique !
Sans l'existence de ce dump, ma réparation s'arrêtait là.
Une fois les 2 EPROMs flashées avec le contenu qui va bien, je dois m'occuper des broches incompatibles avec les PROMs d'origine.
Je les plie de sorte qu'elles ne fassent pas contact quand le composant sera sur son support.
La broche /OE est inutilisée par Atari et doit donc être reliée en permanence à la masse.
Je soude un petit bout de fil à wrapper pour ça.
Maintenant que les 2 composants ont pris leur place définitive, je peux m'occuper du bit A16.
J'ai profité d'un trou métallisé débouché pour faire passer mon fil à wrapper tout fin de l'autre coté du PCB, coté soudures. J'ai ainsi fait le repiquage sur A16 coté soudures :
Il ne reste plus qu'à essayer le PCB...
Mais en fait, lorsque le mode attract affiche un autre écran, je constate qu'il reste des dessins buggés :
Gniiiiiiiiiiiiiiii, cré vin diou d'bordel !
Il s'agit d'une 3e PROM qui est malade. Son
contenu est foireux.
Pour déterminer laquelle il s'agit, j'utilise ce brave MAME.
Dans le dump de galaga88, je remplace 1 par 1 les fichiers dump par une version volontairement corrompue pour visualiser quelles sont les conséquences sur le jeu.
Finalement, quand j'ai remplacé le dump de la PROM "OBJ1" par du caca, j'ai obtenu ça :
Donc il s'agit de la PROM "OBJ1" qui est elle aussi malade.
Je la remplace elle aussi par une EPROM 27C010 :
Essai :
Voilà : F4brice 2 - Démon des pannes 0.
Mais le bougre a beaucoup d'avance...