Réparation d'un PCB bootleg de Pang - Le roman photo

Chaine Youtube de notre ami "Referent Tech" spécialisé dans la reparation des consoles NeoGeo et autres
Avatar du membre
Xrider
Administrateur
Administrateur
Messages : 3712
Enregistré le : sam. 14 sept. 2019 10:47
Localisation : MaskRom
Contact :

Re: Réparation d'un PCB bootleg de Pang - Le roman photo

Message par Xrider »

Ca sent une corruption de la RAM video :merci:
Avatar du membre
DIDADUB
Delta User Lv2
Delta User Lv2
Messages : 58
Enregistré le : jeu. 23 déc. 2021 17:41

Re: Réparation d'un PCB bootleg de Pang - Le roman photo

Message par DIDADUB »

Passionnant. J'ai pas d'autres mots à dire.
Ce topic est totalement passionnant. Merci Bouz pour ce super topic :super:
Avatar du membre
HKCisONLINE
Delta User Lv1
Delta User Lv1
Messages : 3
Enregistré le : dim. 17 avr. 2022 00:37

Re: Réparation d'un PCB bootleg de Pang - Le roman photo

Message par HKCisONLINE »

Super intéressant, je bois tes paroles 😁 je suis pas spécialiste mais les explications très logiques et simples permettent de suivre le fil et on se retrouve à imaginer la suite !
Encore merci pour ces explications et surtout pour faire revivre ce classique du JV 👍
Avatar du membre
Bouz
Référent Technique
Référent Technique
Messages : 1078
Enregistré le : mer. 22 déc. 2021 18:52
Localisation : Hérault
Contact :

Re: Réparation d'un PCB bootleg de Pang - Le roman photo

Message par Bouz »

Merci pour vos encouragements :).
Je me colle à la suite, les images sont extraites, j'attaque le texte.
Edit: quelqu'un a spoilé la conclusion ;).
Avatar du membre
dadou
Contributeur Lv1
Contributeur Lv1
Messages : 258
Enregistré le : lun. 10 janv. 2022 17:26
Localisation : Israel

Re: Réparation d'un PCB bootleg de Pang - Le roman photo

Message par dadou »

Merci! Eh ben justement, j'ai un New Zero Team dans les tiroirs aussi avec de bons gros problèmes graphiques. J'ai l'impression que c'est une édition spéciale à 4 joueurs (ou 3, j'ai oublié), et elle n'est pas émulée, donc je n'ai pas de ROMs de référence pour la réparer. Ca promet!
Je crois que la mienne aussi c'est une édition 4 joueurs. Tu saurais reconnaître le PCB?

Chapeau pour la suite de la réparation c'est vraiment du beau travail.
Avatar du membre
Bouz
Référent Technique
Référent Technique
Messages : 1078
Enregistré le : mer. 22 déc. 2021 18:52
Localisation : Hérault
Contact :

Re: Réparation d'un PCB bootleg de Pang - Le roman photo

Message par Bouz »

dadou a écrit : mer. 25 mai 2022 22:41
Merci! Eh ben justement, j'ai un New Zero Team dans les tiroirs aussi avec de bons gros problèmes graphiques. J'ai l'impression que c'est une édition spéciale à 4 joueurs (ou 3, j'ai oublié), et elle n'est pas émulée, donc je n'ai pas de ROMs de référence pour la réparer. Ca promet!
Je crois que la mienne aussi c'est une édition 4 joueurs. Tu saurais reconnaître le PCB?

Chapeau pour la suite de la réparation c'est vraiment du beau travail.
Il y a des connecteurs 3P et 4P pour brancher les contrôles supplémentaires, si je me souviens bien :)

Merci, la suite arrive, ne bougeons plus...
Avatar du membre
Bouz
Référent Technique
Référent Technique
Messages : 1078
Enregistré le : mer. 22 déc. 2021 18:52
Localisation : Hérault
Contact :

Re: Réparation d'un PCB bootleg de Pang - Le roman photo

Message par Bouz »

Et on reprend avec ce problème de barres verticales! Attention, il va y avoir de la digression!

Ce qui peut surprendre au premier abord, c'est le fait que seulement une ligne sur deux soit touchée par le problème d'affichage.

Il existe plusieurs manières de générer un affichage à ma connaissance, en voici quelques unes, la 3ème va vous étonner...
- Le CPU qui indique les couleurs en direct pendant que le faisceau balaie l'écran (coucou le début des années 80, et l'Atari 2600 si je ne m'abuse). Pas chez, ça n'utilise pas de RAM du tout.
- Le CPU qui remplit de la RAM vidéo qui contient les données de chaque pixel de l'écran. Ca demande pas mal plus de RAM, forcément. Plus il y a de pixels et de couleurs, plus ça en demande. Hello l'Atari ST et l'Amiga, par exemple (et le PC en mode raster, avant l'avénement des cartes 3D). Dans ce mode, on peut rencontrer des systèmes de synchro entre le CPU et le circuit de rendu pour que les deux n'accèdent pas à la mémoire en même temps. On trouve aussi de la RAM Dual Port, qui peut être lue et écrite en même temps (elle a toutes ses lignes de bus en double! C'est top pour bricoler, j'adore).
- Les copro graphiques qui construisent l'image à peu près en temps réel en allant chercher des infos de sprites et de décor dans différentes ROM et en les assemblant dans un tampon mémoire qui fait une ligne de long, pendant qu'un autre tampon est lu bit par bit par le circuit d'affichage. Quand la ligne est affichée, on inverse le rôle des deux tampons. Ca permet d'éviter les conflits d'accès à la RAM. On a alors 2 puces de RAM l'une à côté de l'autre. (coucou la NeoGeo (particulier parce que les 2 tampons en question se trouvent dans le Neo-B1 si je me souviens bien), et surtout coucou le bootleg de Pang!)

Oui, parce que justement, entre les deux banques de ROM, on trouve curieusement 2 puces de RAM identiques...

Image

Pour identifier quelle RAM gère les lignes paires, et quelle RAM gère les lignes impaires, il y a une technique maudite qu'il faut manier avec précaution. Nous allons aujourd'hui l'appeler "Technnique du sabotage", parce que je me suis pris comme un âne.
La technique consiste à mettre à la masse des lignes de données ou d'adresses de la RAM, et à observer l'effet sur l'affichage. Si l'effet touche mes lignes endommagées, je saurai que je suis sur la bonne puce.

Image

Petit warning ici...
En fait, c'est une version sale de la technique parce que je suis un abruti. Ne faites pas ça chez vous. Il faut faire super attention à ce qu'on court-circuite, sous peine de tout péter.
Explication... (attention, c'est potentiellement un peu trop long à lire)
Les différents circuits TTL ont en général une résistance interne assez forte sur leurs sorties logiques. C'est problématique quand il s'agit de piloter des charges, mais c'est super quand il s'agit de court-circuiter 2 lignes de signaux pour voir ce que ça change.
Pour réduire les risques de tout casser, je conseillerais de regarder le brochage des puces, et de seulement court-circuiter des lignes d'adresses ou de données avec une ligne voisine (histoire d'additionner les résistances et donc de réduire les courants).

Tout ça pour éviter ce que j'ai joyeusement fait, bouffi d'amusement que j'étais de voir l'écran de faire n'importe quoi... J'ai balancé du +5V sur une ligne d'adresse de poids fort de l'une des barrettes. Et boom, étincelle, fumée.
Et pourquoi? Parce qu'un écran n'a qu'entre 250 et 350 colonnes en gros. Donc on ne va utiliser que les 8 ou 9 premières lignes d'adresses pour les adresser. Les autres lignes sont mises........ à la masse!
Donc quand on les met à +5V, qu'est-ce qui se passe? On fait un joli court-circuit, et on brûle un fusible. Et vu qu'il n'y a pas de fusible officiel, ce qui brûle, c'est la ligne qui fait le pont entre la masse et les lignes d'adresses.
Bref, je vous monterai la piste un peu plus loin, ça ne change pas la problématique.

On reprend.

Voilà ce qui se passe quand on perturbe la RAM "bonne pioche". On voit des lignes uniformes qui correspondent à nos défauts d'affichage.

Image

Quand on sabote la RAM "mauvaise pioche", on trouve aussi des lignes uniformes, mais on observe toujours les défauts d'affichage précédents (parce qu'on ne tombe pas sur la même ligne).

Image

On a donc trouvé notre puce suspecte, c'est elle!

Image

Tant qu'on y est, on s'amuse un peu, et on cale les 2 sondes de l'oscillo sur les broches d'écriture des deux puces de RAM.
On peut observer l'alternance de l'accès en écriture sur les deux puces, avec une période d'environ 64us, ce qui correspond à une fréquence de 15kHz, tiens-donc!

Image

Et comme promis, la piste qui a fait fusible...

Image

Vu que j'adore suivre des pistes de tous les côtés de la plaque et à coups de multimètre, j'ai essayé de retracer le câblage de ces deux puces de RAM.
L'idée est ici de savoir si la RAM est en cause, ou si le problème provient d'un composant en amont, comme pour le problème de couleurs manquantes.

Etant donné qu'on génère deux lignes en alternance, il est possible que l'on retrouve deux bouts de circuits de génération distincts. Il faut voir à quel niveau la logique de génération est mise en commun...

On peut observer que les lignes d'adresses des puces de RAM sont connectées à deux fois deux puces compteuses. Il s'agit de compteurs 4 bits. La ligne A8 de chaque puce est reliée à deux autres compteurs plus bas (fils verts sur le dessin). Ces compteurs peuvent donc compter en théorie jusqu'à 512. Il est fort probable qu'ils n'aient pas à compter jusque là et qu'ils s'arrêtent autour des 320 (à vérifier).

Les fils violets sur la gauche, que je n'ai pas tous dessinés, indiquent que les valeurs de référence des compteurs sont communes, ce qui indiquerait qu'ils sont pilotés par une même logique. Du côté des lignes d'adresses, les compteurs seraient donc les seuls éléments dupliqués, puis la logique serait commune.

Du côté des lignes de données, on retrouve en haut à droite deux buffers unidirectionnels qui permettent d'envoyer les données dans la puce de RAM de travail du moment. Les lignes d'entrée deux buffers sont raccordées entre elles, et les lignes de sortie vont vers leur puce de RAM respective. Ici aussi, il s'agit des seuls éléments dupliqués. Le reste de la logique est commun pour les lignes paires et impaires.

Image

Ce qui nous laisse donc 3 coupables potentiels:
- Les compteurs. Je n'y crois pas trop, dans la mesure où on se retrouverait plus probablement avec des lignes "écrasées" d'un côté si des ticks sautent, ou des lignes au contenu aléatoire. Ici, on a des erreurs à des emplacements précis.
- La puce de RAM du haut. Elle fonctionnerait globalement, mais aurait une banque cassée (c'est ce qui m'a poussé à tort à court-circuiter une ligne d'adresse pour pister plus précisément l'erreur, bonen idée, mais mauvaise idée).
- Le buffer d'entrée. Il est possible que l'un des 8 buffers de la puce ne fonctionne pas correctement. Je ne vois rien de spécial à l'oscilloscope, je me serais attendu à voir un signal constant sur l'une des broches, mais non.

=> On va sortir la RAM et la tester. J'y vais à l'air chaud direct pour ne rien abîmer.

Image

Le test n'est carrément pas précis, je n'ai pas mieux qu'un message plutôt générique, je n'en saurai pas plus. En tout cas, on dirait bien qu'elle ne fonctionne pas.

Image

Vu que je fais pas mal de réparation NeoGeo en ce moment, j'avais commandé un lot de 5 puces Sony de 16kbits sur eBay (les mêmes que sur NeoGeo, même s'il s'agit juste de puces 6116). Je prends une puce, et je la teste à son tour (ça permet accessoirement de tester le test, si j'ose dire).

Image

Et donc quand ça marche, ça marche. Je confirme donc au passage que l'ancienne puce était bien morte.

Image

Je soude un support à la place de la puce...

Image

Je fais un pas magnifique patch pour réparer la puce que j'ai assassinée avec la technique du sabotage...

Image

Ensuite, tout va très vite, on s'accroche: je place non sans mal la puce de RAM à l'envers sur le support...

Image

Je lance le test de la carte, tout excité...
... je vois des lignes toutes noires, comme si j'avais fait une bêtise...
... je sens une drôle d'odeur et je vois de la fumée magique...
... je coupe l'alim...
... je filme la jolie puce toute cramée, toujours bien installée à l'envers sur son support...

Image

Je prends une autre puce, et je la mets à l'endroit!!!

Image

Et voilà, j'ai une super image avec des supers couleurs (je trouve qu'elle déchire pour de vrai, franchement, non? hein?).
Pour la petite histoire, j'avais acheté 5 puces, je les ai passées au testeur, et j'en avais 2 mortes dans le tube. Etant donné que j'en ai tué une 3ème moi-même, mon stock se résume maintenant à une seule puce. Super opération.

Image

L'image, c'est bon. La musique, c'est moche, mais c'est normal. Les contrôles, je n'ai pu les tester que pour le premier joueur, avec mon banc de test.
Et là, si vous trouviez que mon banc de test faisait un peu Mad Max, c'est parce que vous n'avez pas vu mon ancienne carte de test, avec sa connectique à la demande...
Elle permettait de s'intercaler entre 2 connecteurs (ce que je fais faire ici), de servir elle-même de connecteur JAMMA alimenté par une alim externe, d'intercepter des signaux ou de les laisser passer (en mettant des cavaliers sur la rangée du milieu)... Ca, c'est pour mes tests sur le centrage d'image, projet toujours en cours.
Ici, j'ai enlevé le module de sortie vidéo Peritel, et j'ai fait passer le signal directement d'un connecteur à l'autre.
Par contre, j'ai branché mon module de commande pour raccorder mon dual stick maison de l'enfer.. (en plus, c'est l'image n°66, sisi!)

Image

Et me voilà prêt pour les tests 2 joueurs.

Image

Je confirme que les 2 personnages bougent bien, et qu'ils peuvent tirer. Réparation terminée en un week-end, opération anniversaire réussie.

Image

La prochaine étape, maintenant, c'est de scripter et monter la vidéo de tout ce chantier pour partir ramener des vues sur YouTube ;).

Merci de votre attention, et merci pour l'interactivité, c'était agréable :super:.
Avatar du membre
dadou
Contributeur Lv1
Contributeur Lv1
Messages : 258
Enregistré le : lun. 10 janv. 2022 17:26
Localisation : Israel

Re: Réparation d'un PCB bootleg de Pang - Le roman photo

Message par dadou »

Il y a des connecteurs 3P et 4P pour brancher les contrôles supplémentaires, si je me souviens bien :)
voila une photo de la PCB:



Super la fin de la réparation! quelle satisfaction tu dois ressentir quand tu as réussi a tout réparer :)
Avatar du membre
milhouse08
Master Level
Master Level
Messages : 609
Enregistré le : mar. 21 déc. 2021 08:38

Re: Réparation d'un PCB bootleg de Pang - Le roman photo

Message par milhouse08 »

sacré taff :o
Avatar du membre
Xrider
Administrateur
Administrateur
Messages : 3712
Enregistré le : sam. 14 sept. 2019 10:47
Localisation : MaskRom
Contact :

Re: Réparation d'un PCB bootleg de Pang - Le roman photo

Message par Xrider »

Ensuite, tout va très vite, on s'accroche: je place non sans mal la puce de RAM à l'envers sur le support...
Je lance le test de la carte, tout excité...
... je vois des lignes toutes noires, comme si j'avais fait une bêtise...
... je sens une drôle d'odeur et je vois de la fumée magique...
... je coupe l'alim...
... je filme la jolie puce toute cramée, toujours bien installée à l'envers sur son support...
Ca me rappel des souvenirs... Quand l'emotion nous embrase devant la ligne d'arrivée, l'esprit cartésien s'envole et on fait des boulettes dans le feu de l'action...

Image
Et voilà, j'ai une super image avec des supers couleurs (je trouve qu'elle déchire pour de vrai, franchement, non? hein?).
Il est magnifique ce logo, d'autant plus quand il revient d'entre les morts !!!

Felicitations bouz pour cette reparation et surtout pour ton récit illustré rempli de details très techniques !
Si ce bootleg avait la capacité de parler, il te remercierait mille fois !

Merci pour avoir partagé cette aventure avec nous ;)
Avatar du membre
cazeysan
Contributeur Lv1
Contributeur Lv1
Messages : 266
Enregistré le : mer. 22 déc. 2021 15:45

Re: Réparation d'un PCB bootleg de Pang - Le roman photo

Message par cazeysan »

:super: Bravo Sherlock Holmes
Avatar du membre
Bouz
Référent Technique
Référent Technique
Messages : 1078
Enregistré le : mer. 22 déc. 2021 18:52
Localisation : Hérault
Contact :

Re: Réparation d'un PCB bootleg de Pang - Le roman photo

Message par Bouz »

Merci d'avoir suivi tout ça ;).
dadou a écrit : mer. 25 mai 2022 23:41 voila une photo de la PCB:

Je ne vois pas bien ce qui se passe en bas à gauche, la photo est un peu sombre.
J'ai une version a priori plus récente du PCB, avec énormément de composants CMS.
Je vais te faire une photo où on voit les connecteurs supplémentaires...
Répondre

Retourner vers « Aurélien / Bouz "Technique" »