Bonsoir.
Il y a quelques semaines, j'ai acheté sur ibé youhaissai un PCB de Roc'n Rope.
Le vendeur indiquait subtilement et sournoisement :
Marked "Ok". Sold as is.
Bien évidemment, quand j'ai reçu et testé ce PCB, il ne fonctionnait pas.
C'est le 2e PCB soit-disant "ok" que j'achète sur ibé, et c'est le 2e qui ne fonctionne pas.
Pour le premier, j'en ai même encore des douleurs anales bien profondes ($100 partis en fumée dans la poche d'un fumier).
Ce 2e PCB étant (contrairement au 1er) en bon état, j'ai donc décidé de tenter de le réparer.
Gros allié de poids : Google qui m'a gentiment trouvé la doc technique du jeu et surtout les schémas électroniques du PCB.
Je l'ai déjà écrit plusieurs fois : les schémas électroniques sont une aide considérable dans le dépannage.
Voici ce que j'ai quand le PCB est connecté :
la top board est à l'envers pour me permettre d'accéder à la main board
C'est de la jolie bouillie de
tilemap...
Quand je compare avec Mame, j'observe que cette bouillie est la bouillie initiale, présente au tout début du boot du jeu.
Sous Mame, très rapidement la bouillie change pour une autre bouillie puis le jeu démarre.
J'en déduis que le CPU de mon PCB est probablement vautré dans les paquerettes.
Vu que c'est une version propriétaire Konami d'un M6809, j'espère qu'il n'est pas mort.
Quand je promène la sonde de l'oscillo sur les bits du bus de données, je découvre de très vilaines choses :
J'ai 3 des 8 bits qui ont des niveaux totalement foireux.
Pas étonnant que le CPU soit vautré.
Dans un premier temps, je retire toutes les EPROMs présentes sur le bus de données du CPU.
Je retire même le CPU qui est lui aussi sur support.
Première panne : l'EPROM n°1 a un contenu foireux, qui n'a rien à voir avec le contenu attendu.
Les 4 autres EPROMs sont bonnes.
Je note que l'EPROM mourue est une Mitsubishi, alors que toutes les autres sont des Fujitsu. Hasard ?
Je remplace l'EPROM hs par une EPROM vierge que je programme grâce au dump présent dans le set Mame.
Pendant que EPROMs et CPU sont retirés, je vérifie si les niveaux des 8 bits du bus de données sont bien tous libres (flottants).
Comme je m'en doutais, il y a 3 des 8 bits qui ont un niveau imposé par un composant inconnu.
Ce genre de panne est merdique à dépanner. Il y a de très nombreux composants connectés au bus de données.
N'importe lequel peut imposer un niveau, et il se peut qu'ils s'y mettent à plusieurs.
Je dois donc me taper 1 par 1 chacun de ces composants pour les vérifier.
Je vous fais la version courte.
J'ai trouvé en tout pas moins de 7 composants morts, tous connectés au bus de données.
Voici l'un d'entre eux :
Sur ces 7 composants, 5 sont des 74LS245 (driver de bus 3 états) du même fabriquant et du même lot de production.
Deux hypothèses :
- l'EPROM mourue ne se désélectionnait plus et a savaté tous les drivers de bus
- le lot de 74LS245 est moisi
Je vérifie aussi scrupuleusement une autre hypothèse : un éventuel problème dans la génération des signaux de sélection des composants.
Ce genre de problème est bien entendu catastrophique si 2 composants sont sélectionnés simultanément.
En effet, ils vont se fighter pour le contrôle du bus et ça finit par des morts...
Finalement, rien de tout ça. Les composants chargés de générer les signaux de sélection semblent bons.
Exemple :
Rhooo le beau chronogramme double trace !
Sur ce chronogramme, nous avons en haut le signal de sélection de l'EPROM n°1. En bas, c'est celui de l'EPROM n°5.
À
aucun moment nous avons
simultanément les 2 signaux qui sont à l'
état bas (= les 2 EPROMs sélectionnées simultanément).
Il n'y a donc pas de problème à ce niveau là.
Je remplace un par un les composants mourus.
A chaque fois, je contrôle que le bus de données a toujours une bonne tête, pas de niveau foireux.
Après la mise en place du 7e et dernier composant de remplacement, tadaaaaaa :
Le PCB est réparé !
Je dois encore récupérer l'étiquette sur l'EPROM mourue et la mettre sur la nouvelle EPROM :
Ce n'est pas chose facile : l'étiquette est très fine. Heureusement que le composant donneur est mort, je n'ai pas peur de le chauffer outre mesure avec le sèche-cheveux.
La colle étant en grande partie restée sur le 1er composant, un petit bout de ruban adhésif transparent est d'un secours discret et appréciable.
Voici une photo de famille des composants morts, placés à leur position respective sur le schéma électronique :
Voici le PCB une fois complètement remonté :
Le Démon des Pannes vient (encore) de se prendre un CBR
(*) !
(*) Coup de Boule Rotatif
EDIT : orthographe