[WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Page 1 sur 1
[WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Parce que je sais que vous suivez avec attention tout ce qui est WIP sur ce site, je vous propose de suivre mes aventures autour de la réparation du sympathique slot que j'ai acheté HS la semaine dernière sur le forum.
J'ai déjà fait quelques avancées et commandé quelques pièces de rechange, alors il me reste un peu de temps pour vous présenter tout ça ici...
Attention, roman photo en approche!
Et on commence avec ma fierté du mois dernier, le branchement sur mon supergun de test, qui va alimenter le slot pendant toutes ces aventures.
Comme prévu, erreur Z80 à l'écran. Pour voir si le slot fonctionne quand même globalement, je vire le BIOS d'origine (merci le 1FS et son BIOS sur support!).
Et je lui claque un Unibios.
Et là, je redémarre, et comme par magie, tout fonctionne correctement (ou presque, parce que bien-sûr, il n'y a pas de son).
Voilà donc un slot qui n'a de soucis que dans sa section audio. Au boulot.
Et pourquoi ça marche avec un Unibios, me direz-vous?
Eh ben à cause de ça:
Eh oui, avec l'Unibios, on peut sauter les tests de démarrage (dont celui du Z80) et faire comme si tout allait bien. Si on décoche la case, ça donne quelque chose comme ça, bien moins sympathique:
Puisqu'on n'est pas contents du Z80, il va falloir sonder quelques pins pour voir si rien d'évident ne me saute aux yeux. Au passage, le wiki NeoGeoDev est vraiment au top pour les schémas divers et variés.
Je vais commencer par la base: horloge, reset, halt, alimentation, existence de trafic sur les bus de données et d'adresses.
Le Z80, c'est ce petit composant monté surface. Sur d'autres modèles, c'est un bon gros DIP bien pratique. Mais on ne va pas se plaindre, sur d'autres, il est fusionné avec le SPU .
Et donc fin du suspense: rien à signaler, tout semble fonctionner correctement.
Je passe donc au plan B, et à l'installation d'un BIOS de diagnostics (qui ne permet pas de jouer, juste de tester). Le Neo Diagnostics BIOS.
Il est composé d'une EPROM BIOS classique, à mettre à la place de l'Unibios, qui permet de diagnostiquer pas mal de choses sur tout ce qui est connecté au CPU (le 68000)...
...et d'une EPROM supplémentaire, qui contient un driver pour le Z80, qui va tourner sur la carte inférieure d'une cartouche de jeu et permettre de tester la section audio.
Il faut donc plus ou moins sacrifier une cartouche, et remplacer sa ROM M1 par celle-ci.
Ca tombe bien, j'ai acheté un bootleg de Puzzle de Pon ici même juste pour ça il y a quelques mois.
Voilà, c'est sur cette puce que le Z80 va sauter au démarrage. C'est elle qui contient le driver audio, et le bout de code qui permet au processeur principal (le 68000) de vérifier que la communication est bonne (et ce n'est pas le cas).
Et c'est parti pour la première opération de dessoudage d'une longue série. D'ailleurs, sur celle-là, j'ai bouché mon pistolet et j'ai dû le démonter et le déboucher à coups de fer à souder. Un grand moment.
Une fois que c'est fait, on peut mettre l'EPROM dans le programmeur et la dumper, parce qu'on est un gros parano qui a peur de tout casser et qui fait des sauvegardes.
Voilà, le contenu ressemble à ça. D'ailleurs, personnellement, je trouve ça bizarre, tiens. Mais je garde ça de côté, ça va resservir!
L'idée est de ne pas pourrir complètement la cartouche. J'aimerais pouvoir la remettre en état quand j'aurai fini de jouer avec les EPROMS. Mais j'aimerais aussi pouvoir la réutiliser à l'occasion en mode diagnostics (par exemple pour réparer mon autre slot qui n'a plus de son!).
Je regarde ce que ça donnerait si j'ajoute un support sous l'EPROM, pour pouvoir la basculer plus facilement qu'en la dessoudant (c'est pénible, et ça finit par arracher des pistes). Spoiler: c'est trop haut, ça dépasse, et on ne peut plus fermer le boîtier de la cartouche.
A tout hasard, je regarde le pinout de l'EPROM, et celui ce l'EPROM de la taille au-dessus. Et bonne surprise:
- l'EPROM fait 128ko et a un pin inutilisé
- il existe un modèle qui en fait 256, avec le même brochage, et qui utilise ce pin comme bit d'adresse de poids fort.
Et la bonne surprise, c'est que ça va me permettre de mettre les 2 ROMs sur la même puce (diag et jeu), et de basculer de l'un à l'autre en mettant un switch sur cette patte.
Je commande donc l'EPROM en question, parce que j'ai pas ça dans mes tiroirs, et j'attends des nouvelles du facteur.
Mais en attendant, je vais poursuivre les investigations quand même!
J'ai déjà fait quelques avancées et commandé quelques pièces de rechange, alors il me reste un peu de temps pour vous présenter tout ça ici...
Attention, roman photo en approche!
- La vidéo récap:
Et on commence avec ma fierté du mois dernier, le branchement sur mon supergun de test, qui va alimenter le slot pendant toutes ces aventures.
Comme prévu, erreur Z80 à l'écran. Pour voir si le slot fonctionne quand même globalement, je vire le BIOS d'origine (merci le 1FS et son BIOS sur support!).
Et je lui claque un Unibios.
Et là, je redémarre, et comme par magie, tout fonctionne correctement (ou presque, parce que bien-sûr, il n'y a pas de son).
Voilà donc un slot qui n'a de soucis que dans sa section audio. Au boulot.
Et pourquoi ça marche avec un Unibios, me direz-vous?
Eh ben à cause de ça:
Eh oui, avec l'Unibios, on peut sauter les tests de démarrage (dont celui du Z80) et faire comme si tout allait bien. Si on décoche la case, ça donne quelque chose comme ça, bien moins sympathique:
Puisqu'on n'est pas contents du Z80, il va falloir sonder quelques pins pour voir si rien d'évident ne me saute aux yeux. Au passage, le wiki NeoGeoDev est vraiment au top pour les schémas divers et variés.
Je vais commencer par la base: horloge, reset, halt, alimentation, existence de trafic sur les bus de données et d'adresses.
Le Z80, c'est ce petit composant monté surface. Sur d'autres modèles, c'est un bon gros DIP bien pratique. Mais on ne va pas se plaindre, sur d'autres, il est fusionné avec le SPU .
Et donc fin du suspense: rien à signaler, tout semble fonctionner correctement.
Je passe donc au plan B, et à l'installation d'un BIOS de diagnostics (qui ne permet pas de jouer, juste de tester). Le Neo Diagnostics BIOS.
Il est composé d'une EPROM BIOS classique, à mettre à la place de l'Unibios, qui permet de diagnostiquer pas mal de choses sur tout ce qui est connecté au CPU (le 68000)...
...et d'une EPROM supplémentaire, qui contient un driver pour le Z80, qui va tourner sur la carte inférieure d'une cartouche de jeu et permettre de tester la section audio.
Il faut donc plus ou moins sacrifier une cartouche, et remplacer sa ROM M1 par celle-ci.
Ca tombe bien, j'ai acheté un bootleg de Puzzle de Pon ici même juste pour ça il y a quelques mois.
Voilà, c'est sur cette puce que le Z80 va sauter au démarrage. C'est elle qui contient le driver audio, et le bout de code qui permet au processeur principal (le 68000) de vérifier que la communication est bonne (et ce n'est pas le cas).
Et c'est parti pour la première opération de dessoudage d'une longue série. D'ailleurs, sur celle-là, j'ai bouché mon pistolet et j'ai dû le démonter et le déboucher à coups de fer à souder. Un grand moment.
Une fois que c'est fait, on peut mettre l'EPROM dans le programmeur et la dumper, parce qu'on est un gros parano qui a peur de tout casser et qui fait des sauvegardes.
Voilà, le contenu ressemble à ça. D'ailleurs, personnellement, je trouve ça bizarre, tiens. Mais je garde ça de côté, ça va resservir!
L'idée est de ne pas pourrir complètement la cartouche. J'aimerais pouvoir la remettre en état quand j'aurai fini de jouer avec les EPROMS. Mais j'aimerais aussi pouvoir la réutiliser à l'occasion en mode diagnostics (par exemple pour réparer mon autre slot qui n'a plus de son!).
Je regarde ce que ça donnerait si j'ajoute un support sous l'EPROM, pour pouvoir la basculer plus facilement qu'en la dessoudant (c'est pénible, et ça finit par arracher des pistes). Spoiler: c'est trop haut, ça dépasse, et on ne peut plus fermer le boîtier de la cartouche.
A tout hasard, je regarde le pinout de l'EPROM, et celui ce l'EPROM de la taille au-dessus. Et bonne surprise:
- l'EPROM fait 128ko et a un pin inutilisé
- il existe un modèle qui en fait 256, avec le même brochage, et qui utilise ce pin comme bit d'adresse de poids fort.
Et la bonne surprise, c'est que ça va me permettre de mettre les 2 ROMs sur la même puce (diag et jeu), et de basculer de l'un à l'autre en mettant un switch sur cette patte.
Je commande donc l'EPROM en question, parce que j'ai pas ça dans mes tiroirs, et j'attends des nouvelles du facteur.
Mais en attendant, je vais poursuivre les investigations quand même!
Dernière édition par Bouz le Dim 5 Sep 2021 - 20:00, édité 3 fois
Re: [WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Et en attendant, accrochez-vous bien, on y retourne, je poursuis l'analyse du problème, mais sans la puce de diagnostic...
J'entreprends donc la tâche fort sympathique de faire tourner le slot et de sonder en même temps tous les pins du Z80 l'un après l'autre pour voir si j'ai assez de chance pour voir quelque chose passer sous mes yeux bouffis.
Je me prends donc le pinout du Z80, et en route Zimone....
Quand tout se passe bien sur un pin de bus de données ou d'adresses, ça donne généralement quelque chose qui ressemble à ça. C'est binaire, c'est 0 ou 5V (ou pas loin). Pour e qui est de la largeur des créneaux, ça va dépendre.. C'est à peu près aléatoire sur les lignes de données, et c'est souvent variable sur le bus d'adresses: ça va plus vite quand on attaque des numéros de lignes plus petits (surtout vrai quand on fait des lectures séquentielles, ce qui est souvent le cas (mais pas ici)).
Et voilà-t-y pas qu'au détour du pin D6...
.. c'est celui-là...
Je vois arriver un flot de bits tout pourris. Au lieu de mes 5V chéris, je vous arriver des vaguelettes en-dessous du volt. Clairement, ça ne peut pas marcher...
A coups de multimètre et d'yeux de lynx, parce que je suis trop bête pour avoir regardé les plans sur le wiki NeoGeoDev, j'essaie de comprendre quels sont les composants qui entourent mon Z80. En même temps, c'est plus intéressant comme ça.
Et mon Z80 semble partager son bus avec l'EPROM à sa droite, le SPU, la SRAM, et le contrôleur propriétaire SNK.
Pour avoir une ligne de bus à un niveau trop bas, il suffit que l'un d'entre eux présente un court-circuit à la masse.
Je fais des mesures sur toutes les lignes 6 de tous les composants, pour voir si l'une s'approche plus de la masse que les autres, mais je ne décèle rien...
Au niveau de l'EPROM:
Et au niveau de la SRAM:
Il va falloir changer de plan. Pour trouver le composant responsable, il va falloir les enlever un par un et regarder ce que ça change...
Je commence par enlever la puce de RAM. Elle m'en fait baver avec ses petites pattes crochues qui s'accrochent à la carte et coincent de l'étain que je ne parviens pas à aspirer. Qu'à cela ne tienne, je protège les zones fragiles, et je chauffe tout ça au pistolet à air chaud en tirant doucement sur la puce. Oui, parce que sinon, on arrache les pistes, tout ça...
Je dégaine mon programmateur qui sait tout faire, et je mets ma RAM dedans.
Le lance un test du composant (il écrit des valeurs dedans et essaie de les relire), et... tout va bien.
On remet donc ça avec l'EPROM. Elle non plus, elle ne veut pas se détacher du PCB. Même principe, on protège avec du kapton pour ne pas avoir de fuites de composants CMS sous le flux d'air chaud, et on met un (bon) coup de pistolet à air chaud en tirant doucement sur la puce.
Direction le programmateur...
On lit la puce, aucune erreur n'est remontée, mais on pourrait quand même avoir une ligne de bus de données morte. D'agissant du bit 6 (et pas du 8 ), on aurait alors une altération des caractères lisibles de l'EPROM. Ici, on peut bien lire le texte en clair => pas de problème avec l'EPROM.
Sans ces deux composants, le CPU fait la tête et ne veut plus tourner (en même temps, avec ce qu'on lui a enlevé...). J'aimerais bien tester le contrôleur custom, même si ça va être chaud, mais il faut d'abord remettre un minimum de composants sur le PCB.
Je dis que ça va être chaud, parce que c'est cette petite puce montée surface avec ses petites pattes de fourmi...
Avant de souffrir avec ça, je monte deux supports pour pouvoir remettre les mémoires en place...
Et la chirurgie au couteau commence. Je vais avoir besoin d'un agrandisseur (d'image) pour opérer. Il faut que je démonte le PCB avec les supports de cartouches pour faire de la place.
Et voilà le PCB en place sous l'agrandisseur / microscope. Je peux faire une super vidéo de l'opération laborieuse. Pas facile, parce que la piste sous la patte D6 part vers une VIA sous la puce. Pas facile de la dessouder tout en préservant la piste.
Après avoir bien transpiré en décollant la piste, et avoir fait un peu de nettoyage parce que les restes de flux de la soudure précédente étaient vraiment crades vus de près, voilà ce que ça donne. La patte est séparée de la piste (et merci l'aiguille de couture de ma femme, et merci ma femme par extension).
J'ai donc sur le bus uniquement le Z80 et le contrôleur (et le SPU, que j'avais oublié dans la bataille). Concernant le SPU Yamaha, j'ai fait quelques tests sur ses différents pins de contrôle, il n'est jamais sollicité, le bus reste très probablement en collecteur ouvert, et j'estime basse la probabilité qu'il cause le problème (la suite me donnera peut-être tort?). Et en plus, je n'ai pas de support avec une telle densité de pins, et je ne veux pas arracher tout le PCB en essayant de le dessouder (dernier recours).
Bon, bref, je regarde ce qui passe sur la ligne D6 du bus, et...
... c'est toujours pareil. Oui, il y a aussi une grosse vague, mais elle provient probablement d'une lecture sur la RAM ou l'EPROM. Ca va dans le sens du Z80 qui ne sait tout complement plus parler sur cette ligne de bus. Je pourrais essayer de tirer la ligne à un niveau haut avec une résistance, pour voir si le Z80 sait la redescende (faute de savoir la monter), et j'essaierai si le facteur est trop long. En attendant, j'opte donc pour un Z80 défectueux par élimination. Je ressoude la patte sur son bout de piste (ça, c'est plutôt facile); et... Je commande un lot de Z80 montés surface en Chine.
Plus qu'à attendre qu'ils arrivent.
Et juste quand je me résigne à passer à autre chose, je trouve mon EPROM de 256Ko dans ma boîte aux lettres (je ne l'avais pas commandée en Chine, elle).
Voilà la chose...
Vu que je veux la ROM de test dans la première moitié et la ROM du jeu dans la seconde, j'assemble les deux ROMs en une seule avec un outil très perfectionné: la commande copy du DOS.
Hop, dans le programmateur (on vérifie que l'EPROM est déjà vide, comme mentionné dans l'annonce, j'ai payé pour ça ).
On charge le fichier qu'on vient de générer, et hop, on programme l'EPROM.
Cette EPROM va aller à la place de l'ancienne. Mais avant ça, on va lui plier sa patte en plus (celle du bit de poids fort du bus d'adresse, qui permettra de basculer d'une ROM à l'autre). J'aurais pu la souder sur le PCB si elle n'avait pas été raccordée, mais le PCB est générique, et la patte en question, même si elle n'était pas utilisée pour ce jeu, est quand même raccordée à une autre puce (que je ne connais pas).
Donc on ne prend pas de risques (à part celui ce casser la patte), et on la plie délicatement à 90° pour qu'elle ne rentre pas dans le trou.
Et là, on voit que mon tapis est devenu tout crade, en plus d'être plein de bouts de fils, parce que j'ai lavé le PCB qui était plein de flux, et ça a coulé sur le tapis.
Après ça, on met l'EPROM en place et on la soude direct sur le PCB (si on avait pu mettre un support, on n'en serait pas là).
Et c'est l'heure d'un nouveau bricolage de la mort. On dégaine un interrupteur (ceux qui ont commandé une jolie telco Toshiba le reconnaitront) et une résistance de 10k (choix très personnel).
La résistance va "tirer" le bus vers le haut, et le mettre à l'état logique "1" (on adresse la ROM du jeu). Elle relie le pin A17 au +5V.
L'interrupteur relie ce même pin A17 à la masse (ici via le pin Enable de l'EPROM, qui est relié en dur à la masse). Quand on ferme l'interrupteur, on met donc le pin A17 à la masse, avec une résistance proche de 0 ohms, qui l'emporte sur la résistance de 10k reliée au +5V. On se retrouve avec 0V sur la patte A17, et un état "0" (on adresse la ROM de test).
Ce principe permet d'utiliser un simple switch, et pas un commutateur à 3 pattes, qui basculerait la ligne au +5V ou à la masse (comme un interrupteur va-et-vient pour l'éclairage). Le switch est plus petit et moins cher, youpi!
Une fois les soudures faites, ça donne quelque chose comme ça (je mettrai de la colle chaude là-dessus plus tard, pas d'inquiétude).
Retour sur le banc de test, on va utiliser cette cartouche. On remet la ROM de test sur le slot, on insère le PCB de la cartouche dans le slot du bas...
On lance le test...
Et on voit qu'il faut appuyer sur le bouton D pour lancer la batterie de tests du Z80. Ca tombe bien, je n'ai que 3 boutons sur mon super gun de la mort.
Hop, un fil entre la masse et la broche du bouton D...
On relance le test...
Parfait, aucune communication entre le Z80 et la cartouche. En même temps, avec ce qu'on a vu juste avant à propos du Z80 et sa ligne D6 moisie, c'est normal.
Je bouge quand même la carte dans tous les sens pour voir si ce n'est pas un mauvais contact, mais non.
Par curiosité, je sonde le pin D6 de l'EPROM de la carte...
Et là, je retrouve quelque chose d'à peu près familier (aux parasites près): la ligne D6 est morte. On est sur le même bus que sur le slot. Normal, en même temps, puisque le Z80 exécute le code de son driver depuis la ROM M1 de la cartouche.
Histoire d'être sûr qu'en plus d'un souci de Z80, je n'ai pas tué ma cartouche, je vais la tester sur mon slot 1B (qui fait l'intérim de mon autre beau slot qui n'a pas de son). Impossible (pas facile) de changer le BIOS sur ce slot (il est monté surface), je vais donc faire des tests de base.
Déjà, avec la cartouche en mode jeu, je lance le jeu..
Et là, ça ne se voit pas trop sur la photo, mais il y a de la musique. La ROM du jeu est donc bien fonctionnelle, la résistance de 10k n'est pas trop haute (j'avais un peu peur, mais j'avais vérifié le niveau haut au multimètre après avoir fait les soudures, et j'avais bien 5V).
Je switche fébrilement la carte en mode Neo Diagnostics pour voir ce qui se passe (on n'est pas censé faire ça avec un BIOS non modifié sur le slot). Ici, j'apprécie d'avoir collé le switch, c'est pratique.
J'alimente le PCB, et là, pareil, ça ne se voit pas sur la photo, mais le jeu se lance et j'entends des bips dans les hauts-parleurs. Apparemment, le driver de diagnostics répond correctement au BIOS standard pour ne pas planter les tests de démarrage, et en plus, il émet des sons (qui veulent probablement dire quelque chose) quand il reçoit la commande de lancement de la musique "NeoGeo" d'intro.
En résumé, j'ai une cartouche qui marche dans le mode jeu et dans le mode diagnostics, je peux la refermer et la ranger. Je lui ai collé une étiquette sur le boîtier parce que je vais oublier que c'est elle. Par contre, j'ai un slot avec un Z80 mort et j'attends le facteur (ça peut prendre du temps).
Le PCB avec la colle et la nouvelle étiquette pour l'EPROM...
En attendant le facteur, si ce roman photo vous a plu, n'hésitez pas à vous abonner, à partager, à commenter. C'est bon pour le référencement du thread. Et puis le pouce bleu, bien-sûr, ça fait toujours plaisir.
J'entreprends donc la tâche fort sympathique de faire tourner le slot et de sonder en même temps tous les pins du Z80 l'un après l'autre pour voir si j'ai assez de chance pour voir quelque chose passer sous mes yeux bouffis.
Je me prends donc le pinout du Z80, et en route Zimone....
Quand tout se passe bien sur un pin de bus de données ou d'adresses, ça donne généralement quelque chose qui ressemble à ça. C'est binaire, c'est 0 ou 5V (ou pas loin). Pour e qui est de la largeur des créneaux, ça va dépendre.. C'est à peu près aléatoire sur les lignes de données, et c'est souvent variable sur le bus d'adresses: ça va plus vite quand on attaque des numéros de lignes plus petits (surtout vrai quand on fait des lectures séquentielles, ce qui est souvent le cas (mais pas ici)).
Et voilà-t-y pas qu'au détour du pin D6...
.. c'est celui-là...
Je vois arriver un flot de bits tout pourris. Au lieu de mes 5V chéris, je vous arriver des vaguelettes en-dessous du volt. Clairement, ça ne peut pas marcher...
A coups de multimètre et d'yeux de lynx, parce que je suis trop bête pour avoir regardé les plans sur le wiki NeoGeoDev, j'essaie de comprendre quels sont les composants qui entourent mon Z80. En même temps, c'est plus intéressant comme ça.
Et mon Z80 semble partager son bus avec l'EPROM à sa droite, le SPU, la SRAM, et le contrôleur propriétaire SNK.
Pour avoir une ligne de bus à un niveau trop bas, il suffit que l'un d'entre eux présente un court-circuit à la masse.
Je fais des mesures sur toutes les lignes 6 de tous les composants, pour voir si l'une s'approche plus de la masse que les autres, mais je ne décèle rien...
Au niveau de l'EPROM:
Et au niveau de la SRAM:
Il va falloir changer de plan. Pour trouver le composant responsable, il va falloir les enlever un par un et regarder ce que ça change...
Je commence par enlever la puce de RAM. Elle m'en fait baver avec ses petites pattes crochues qui s'accrochent à la carte et coincent de l'étain que je ne parviens pas à aspirer. Qu'à cela ne tienne, je protège les zones fragiles, et je chauffe tout ça au pistolet à air chaud en tirant doucement sur la puce. Oui, parce que sinon, on arrache les pistes, tout ça...
Je dégaine mon programmateur qui sait tout faire, et je mets ma RAM dedans.
Le lance un test du composant (il écrit des valeurs dedans et essaie de les relire), et... tout va bien.
On remet donc ça avec l'EPROM. Elle non plus, elle ne veut pas se détacher du PCB. Même principe, on protège avec du kapton pour ne pas avoir de fuites de composants CMS sous le flux d'air chaud, et on met un (bon) coup de pistolet à air chaud en tirant doucement sur la puce.
Direction le programmateur...
On lit la puce, aucune erreur n'est remontée, mais on pourrait quand même avoir une ligne de bus de données morte. D'agissant du bit 6 (et pas du 8 ), on aurait alors une altération des caractères lisibles de l'EPROM. Ici, on peut bien lire le texte en clair => pas de problème avec l'EPROM.
Sans ces deux composants, le CPU fait la tête et ne veut plus tourner (en même temps, avec ce qu'on lui a enlevé...). J'aimerais bien tester le contrôleur custom, même si ça va être chaud, mais il faut d'abord remettre un minimum de composants sur le PCB.
Je dis que ça va être chaud, parce que c'est cette petite puce montée surface avec ses petites pattes de fourmi...
Avant de souffrir avec ça, je monte deux supports pour pouvoir remettre les mémoires en place...
Et la chirurgie au couteau commence. Je vais avoir besoin d'un agrandisseur (d'image) pour opérer. Il faut que je démonte le PCB avec les supports de cartouches pour faire de la place.
Et voilà le PCB en place sous l'agrandisseur / microscope. Je peux faire une super vidéo de l'opération laborieuse. Pas facile, parce que la piste sous la patte D6 part vers une VIA sous la puce. Pas facile de la dessouder tout en préservant la piste.
Après avoir bien transpiré en décollant la piste, et avoir fait un peu de nettoyage parce que les restes de flux de la soudure précédente étaient vraiment crades vus de près, voilà ce que ça donne. La patte est séparée de la piste (et merci l'aiguille de couture de ma femme, et merci ma femme par extension).
J'ai donc sur le bus uniquement le Z80 et le contrôleur (et le SPU, que j'avais oublié dans la bataille). Concernant le SPU Yamaha, j'ai fait quelques tests sur ses différents pins de contrôle, il n'est jamais sollicité, le bus reste très probablement en collecteur ouvert, et j'estime basse la probabilité qu'il cause le problème (la suite me donnera peut-être tort?). Et en plus, je n'ai pas de support avec une telle densité de pins, et je ne veux pas arracher tout le PCB en essayant de le dessouder (dernier recours).
Bon, bref, je regarde ce qui passe sur la ligne D6 du bus, et...
... c'est toujours pareil. Oui, il y a aussi une grosse vague, mais elle provient probablement d'une lecture sur la RAM ou l'EPROM. Ca va dans le sens du Z80 qui ne sait tout complement plus parler sur cette ligne de bus. Je pourrais essayer de tirer la ligne à un niveau haut avec une résistance, pour voir si le Z80 sait la redescende (faute de savoir la monter), et j'essaierai si le facteur est trop long. En attendant, j'opte donc pour un Z80 défectueux par élimination. Je ressoude la patte sur son bout de piste (ça, c'est plutôt facile); et... Je commande un lot de Z80 montés surface en Chine.
Plus qu'à attendre qu'ils arrivent.
Et juste quand je me résigne à passer à autre chose, je trouve mon EPROM de 256Ko dans ma boîte aux lettres (je ne l'avais pas commandée en Chine, elle).
Voilà la chose...
Vu que je veux la ROM de test dans la première moitié et la ROM du jeu dans la seconde, j'assemble les deux ROMs en une seule avec un outil très perfectionné: la commande copy du DOS.
Hop, dans le programmateur (on vérifie que l'EPROM est déjà vide, comme mentionné dans l'annonce, j'ai payé pour ça ).
On charge le fichier qu'on vient de générer, et hop, on programme l'EPROM.
Cette EPROM va aller à la place de l'ancienne. Mais avant ça, on va lui plier sa patte en plus (celle du bit de poids fort du bus d'adresse, qui permettra de basculer d'une ROM à l'autre). J'aurais pu la souder sur le PCB si elle n'avait pas été raccordée, mais le PCB est générique, et la patte en question, même si elle n'était pas utilisée pour ce jeu, est quand même raccordée à une autre puce (que je ne connais pas).
Donc on ne prend pas de risques (à part celui ce casser la patte), et on la plie délicatement à 90° pour qu'elle ne rentre pas dans le trou.
Et là, on voit que mon tapis est devenu tout crade, en plus d'être plein de bouts de fils, parce que j'ai lavé le PCB qui était plein de flux, et ça a coulé sur le tapis.
Après ça, on met l'EPROM en place et on la soude direct sur le PCB (si on avait pu mettre un support, on n'en serait pas là).
Et c'est l'heure d'un nouveau bricolage de la mort. On dégaine un interrupteur (ceux qui ont commandé une jolie telco Toshiba le reconnaitront) et une résistance de 10k (choix très personnel).
La résistance va "tirer" le bus vers le haut, et le mettre à l'état logique "1" (on adresse la ROM du jeu). Elle relie le pin A17 au +5V.
L'interrupteur relie ce même pin A17 à la masse (ici via le pin Enable de l'EPROM, qui est relié en dur à la masse). Quand on ferme l'interrupteur, on met donc le pin A17 à la masse, avec une résistance proche de 0 ohms, qui l'emporte sur la résistance de 10k reliée au +5V. On se retrouve avec 0V sur la patte A17, et un état "0" (on adresse la ROM de test).
Ce principe permet d'utiliser un simple switch, et pas un commutateur à 3 pattes, qui basculerait la ligne au +5V ou à la masse (comme un interrupteur va-et-vient pour l'éclairage). Le switch est plus petit et moins cher, youpi!
Une fois les soudures faites, ça donne quelque chose comme ça (je mettrai de la colle chaude là-dessus plus tard, pas d'inquiétude).
Retour sur le banc de test, on va utiliser cette cartouche. On remet la ROM de test sur le slot, on insère le PCB de la cartouche dans le slot du bas...
On lance le test...
Et on voit qu'il faut appuyer sur le bouton D pour lancer la batterie de tests du Z80. Ca tombe bien, je n'ai que 3 boutons sur mon super gun de la mort.
Hop, un fil entre la masse et la broche du bouton D...
On relance le test...
Parfait, aucune communication entre le Z80 et la cartouche. En même temps, avec ce qu'on a vu juste avant à propos du Z80 et sa ligne D6 moisie, c'est normal.
Je bouge quand même la carte dans tous les sens pour voir si ce n'est pas un mauvais contact, mais non.
Par curiosité, je sonde le pin D6 de l'EPROM de la carte...
Et là, je retrouve quelque chose d'à peu près familier (aux parasites près): la ligne D6 est morte. On est sur le même bus que sur le slot. Normal, en même temps, puisque le Z80 exécute le code de son driver depuis la ROM M1 de la cartouche.
Histoire d'être sûr qu'en plus d'un souci de Z80, je n'ai pas tué ma cartouche, je vais la tester sur mon slot 1B (qui fait l'intérim de mon autre beau slot qui n'a pas de son). Impossible (pas facile) de changer le BIOS sur ce slot (il est monté surface), je vais donc faire des tests de base.
Déjà, avec la cartouche en mode jeu, je lance le jeu..
Et là, ça ne se voit pas trop sur la photo, mais il y a de la musique. La ROM du jeu est donc bien fonctionnelle, la résistance de 10k n'est pas trop haute (j'avais un peu peur, mais j'avais vérifié le niveau haut au multimètre après avoir fait les soudures, et j'avais bien 5V).
Je switche fébrilement la carte en mode Neo Diagnostics pour voir ce qui se passe (on n'est pas censé faire ça avec un BIOS non modifié sur le slot). Ici, j'apprécie d'avoir collé le switch, c'est pratique.
J'alimente le PCB, et là, pareil, ça ne se voit pas sur la photo, mais le jeu se lance et j'entends des bips dans les hauts-parleurs. Apparemment, le driver de diagnostics répond correctement au BIOS standard pour ne pas planter les tests de démarrage, et en plus, il émet des sons (qui veulent probablement dire quelque chose) quand il reçoit la commande de lancement de la musique "NeoGeo" d'intro.
En résumé, j'ai une cartouche qui marche dans le mode jeu et dans le mode diagnostics, je peux la refermer et la ranger. Je lui ai collé une étiquette sur le boîtier parce que je vais oublier que c'est elle. Par contre, j'ai un slot avec un Z80 mort et j'attends le facteur (ça peut prendre du temps).
Le PCB avec la colle et la nouvelle étiquette pour l'EPROM...
En attendant le facteur, si ce roman photo vous a plu, n'hésitez pas à vous abonner, à partager, à commenter. C'est bon pour le référencement du thread. Et puis le pouce bleu, bien-sûr, ça fait toujours plaisir.
Re: [WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Le facteur est passé et quelqu'un a bricolé ce soir...
Re: [WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Les puces sont arrivées!
Elles sont emballées dans du film plastique, sur un bout de carton. C'est l'idéal pour se prendre des décharges électrostatiques et plier les pattes. Surtout sur des composants CMS. Ouille.
Je vais devoir enlever le Z80 suspect de la plaque. Pour ça, je vais souffler de l'air chaud (à 400°C). Histoire d'essayer de ne pas cramer le plastique environant et de ne pas dessouder et déplacer les composants alentour, je protège tout ça avec du ruban Kapton.
Puis c'est opération air chaud. Je chauffe de loin, histoire d'éviter de chauffer trop vite de de délaminer le PCB, puis je me rapproche du composant et j'attaque les deux rangées de pins en soulevant légèrement l'avant de la puce.
Le processeur se détache, et je me retrouve avec des pads tout crades qu'il me faut nettoyer. C'est une étape primordiale, parce que le moindre relief sur les pads va empêcher le nouveau composant d'être bien plaqué, et va flinguer la soudure (terme technique).
Je pose une couche de flux, et je passe sur les pads avec de la tresse à dessouder. Ca va aspirer l'étain par capilarité, et lisser ce qu'il reste sur les pads (merci le flux).
Après ça, je passe au microscope, je positionne la puce, je pose un point d'étain dans 2 angles opposé pour la bloquer, et je pose une ligne de flux sur les pattes.
Après ça, je sors ma plus grosse pointe de fer à souder, je pose une goutte d'étain au bout, et je la fais glisser habilement sur les pattes pour étaler l'étain.
Moi, je trouve ça cool, alors je vous ai fait une vidéo de 30s au cas où vous trouveriez ça cool aussi.
Il faut bien-sûr le faire sur les 2 rangées de pins.
On se retrouve avec une surface dégueu pleine de flux caramélisé. Le Chipquik, c'est classe, mais ça pue et ça colle.
Donc on nettoie ça à l'alcool isopropylique et au coton tige.
Retour en taille réelle, je remets les puces que j'avais enlevées pour ne pas les cramer, et c'est parti pour un test.
Et devant mes yeux ébahis, le test passe!
Vu que je n'y crois pas, je le passe plusieurs fois pour m'assurer qu'on passe bien dans les tests Z80, mais oui!
C'est donc une victoire et un slot qui est prêt à aller au boulot.
Ou presque prêt, il reste quelques points qui me dérangent...
Déjà, il tourne sur sa pile d'origine. Et j'ai déjà un slot bouffé par l'électrolyte, alors je vais la virer tout de suite.
Je vais la remplacer par une pile LIR2032. C'est un accu au lithium qui donne 3.7V, et qui risque donc moins de couler que les accus 3V que j'avais mis dans mon autre slot quand on essaie de le charger!
J'ai un stock de supports de piles, ça tombe bien.
Hop, je vire l'ancienne pile, je soude le support à la place, et je place mon bel accu LIR2032.
On y est presque. Mais au moment de remonter le carter en plastique, je m'aperçois qu'il a un coin cassé. Il manque un petit morceau, que je retrouve.
Je vais utiliser un reste de résine qui durcit aux UV. Je galère parce que le tube a apparemment séché. Je le coupe et j'arrive à en tirer une goutte, dont la majorité finit sur mes doigts, où elle durcit étrangement vite. J'aurais fait ça avec de la super glu, c'était pareil.
Bref, je colle le morceau, et j'ajoute une rondelle par-dessus pour répartir la pression de serrage de la vis et consolider le collage.
Après ça, je revisse les pieds et la coque, et c'est fini.
Je colle ça dans la borne pour être sûr, et le son marche impec. Là, comme ça, ça ne saute pas aux yeux, mais essayez donc de faire ça avec un slot en erreur Z80:
Voilà, ça m'a pris pas mal de temps de vous présenter ça dans un format détaillé, je suis allé au bout du truc, probablement pour la dernière fois.
A bientôt pour des nouvelles plus expéditives!
Elles sont emballées dans du film plastique, sur un bout de carton. C'est l'idéal pour se prendre des décharges électrostatiques et plier les pattes. Surtout sur des composants CMS. Ouille.
Je vais devoir enlever le Z80 suspect de la plaque. Pour ça, je vais souffler de l'air chaud (à 400°C). Histoire d'essayer de ne pas cramer le plastique environant et de ne pas dessouder et déplacer les composants alentour, je protège tout ça avec du ruban Kapton.
Puis c'est opération air chaud. Je chauffe de loin, histoire d'éviter de chauffer trop vite de de délaminer le PCB, puis je me rapproche du composant et j'attaque les deux rangées de pins en soulevant légèrement l'avant de la puce.
Le processeur se détache, et je me retrouve avec des pads tout crades qu'il me faut nettoyer. C'est une étape primordiale, parce que le moindre relief sur les pads va empêcher le nouveau composant d'être bien plaqué, et va flinguer la soudure (terme technique).
Je pose une couche de flux, et je passe sur les pads avec de la tresse à dessouder. Ca va aspirer l'étain par capilarité, et lisser ce qu'il reste sur les pads (merci le flux).
Après ça, je passe au microscope, je positionne la puce, je pose un point d'étain dans 2 angles opposé pour la bloquer, et je pose une ligne de flux sur les pattes.
Après ça, je sors ma plus grosse pointe de fer à souder, je pose une goutte d'étain au bout, et je la fais glisser habilement sur les pattes pour étaler l'étain.
Moi, je trouve ça cool, alors je vous ai fait une vidéo de 30s au cas où vous trouveriez ça cool aussi.
Il faut bien-sûr le faire sur les 2 rangées de pins.
On se retrouve avec une surface dégueu pleine de flux caramélisé. Le Chipquik, c'est classe, mais ça pue et ça colle.
Donc on nettoie ça à l'alcool isopropylique et au coton tige.
Retour en taille réelle, je remets les puces que j'avais enlevées pour ne pas les cramer, et c'est parti pour un test.
Et devant mes yeux ébahis, le test passe!
Vu que je n'y crois pas, je le passe plusieurs fois pour m'assurer qu'on passe bien dans les tests Z80, mais oui!
C'est donc une victoire et un slot qui est prêt à aller au boulot.
Ou presque prêt, il reste quelques points qui me dérangent...
Déjà, il tourne sur sa pile d'origine. Et j'ai déjà un slot bouffé par l'électrolyte, alors je vais la virer tout de suite.
Je vais la remplacer par une pile LIR2032. C'est un accu au lithium qui donne 3.7V, et qui risque donc moins de couler que les accus 3V que j'avais mis dans mon autre slot quand on essaie de le charger!
J'ai un stock de supports de piles, ça tombe bien.
Hop, je vire l'ancienne pile, je soude le support à la place, et je place mon bel accu LIR2032.
On y est presque. Mais au moment de remonter le carter en plastique, je m'aperçois qu'il a un coin cassé. Il manque un petit morceau, que je retrouve.
Je vais utiliser un reste de résine qui durcit aux UV. Je galère parce que le tube a apparemment séché. Je le coupe et j'arrive à en tirer une goutte, dont la majorité finit sur mes doigts, où elle durcit étrangement vite. J'aurais fait ça avec de la super glu, c'était pareil.
Bref, je colle le morceau, et j'ajoute une rondelle par-dessus pour répartir la pression de serrage de la vis et consolider le collage.
Après ça, je revisse les pieds et la coque, et c'est fini.
Je colle ça dans la borne pour être sûr, et le son marche impec. Là, comme ça, ça ne saute pas aux yeux, mais essayez donc de faire ça avec un slot en erreur Z80:
Voilà, ça m'a pris pas mal de temps de vous présenter ça dans un format détaillé, je suis allé au bout du truc, probablement pour la dernière fois.
A bientôt pour des nouvelles plus expéditives!
Re: [WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Et voilà une vidéo récap, puisse-t-elle faire plus de vues que ce topic.
NeoGeo Players inside, il faut chercher.
NeoGeo Players inside, il faut chercher.
Re: [WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Excellente vidéo !
super taf, bravo Bouz !
super taf, bravo Bouz !
_________________
http://www.flashkof.fr
Re: [WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Merci de ton retour
C'était une réparation intéressante!
C'était une réparation intéressante!
Re: [WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Mais... mais... j'ai joué a League Bowling avec ma fille, et que ne m'aperçois-je que les directions haut et droite sont mortes?!
Comme promis, version courte:
- c'est un réseau de résistances / condos du système anti rebond qui est mort
- ça ne se trouve pas avec ces spécifications
- le wiki neogeodev dit qu'on peut les remplacer par des résistances (même des fils, en fait).
- j'ai fait mieux que ça...
- ça remarche
- il n'aurait pas été branché à l'envers, ce slot?
Comme promis, version courte:
- c'est un réseau de résistances / condos du système anti rebond qui est mort
- ça ne se trouve pas avec ces spécifications
- le wiki neogeodev dit qu'on peut les remplacer par des résistances (même des fils, en fait).
- j'ai fait mieux que ça...
- ça remarche
- il n'aurait pas été branché à l'envers, ce slot?
Re: [WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Pour ceux qui veulent en savoir plus, une version un peu moins courte en vidéo, avec l'explication du debouncing qui bouge...
Re: [WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Un magnifique dossier BRAVO !
_________________
Re: [WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Super boulot !
Voila un dossier qui me montre a quoi m'attendre
Voila un dossier qui me montre a quoi m'attendre
Naejes- Bootleg
- Messages : 8
Date d'inscription : 27/09/2022
Age : 44
Localisation : Istres
Re: [WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Création d'une cartouche de test audio
Naejes a écrit:Super boulot !
Voila un dossier qui me montre a quoi m'attendre
Merci bien!
Sujets similaires
» [WIP 100%] Réparation d'un slot MV-1FS en erreur Z80 - Un autre!
» [WIP 100%] Réparation d'un slot MV1FZ en erreur backup RAM
» [WIP 100%] Réparation d'une cartouche MVS KOF97
» slot MV2 stereo et cablage jamma en audio : quelle est la meileure solution
» [WIP] Réparation d'un slot MV1FZS - Z80 error
» [WIP 100%] Réparation d'un slot MV1FZ en erreur backup RAM
» [WIP 100%] Réparation d'une cartouche MVS KOF97
» slot MV2 stereo et cablage jamma en audio : quelle est la meileure solution
» [WIP] Réparation d'un slot MV1FZS - Z80 error
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|