Tous les articles par A-M

REPARATION PCB DONKEY KONG 3

Cette magnifique borne de Donkey Kong 3 a un petit souci : elle ne démarre pas du tout ! L’écran est figé sur un amas de chiffres multicolores.

Quand l’écran est ainsi rempli de Sprites ou Tiles, c’est bien souvent que le CPU est bloqué au démarrage. Je sors donc la PCB de sa cage de Faraday pour pouvoir l’inspecter.

Selon le manuel, le jeu à besoin de 5 volts, -5 volts et 24 volts. Cette dernière tension est embêtante car non standard. Mais après quelques recherches il s’avère qu’elle ne sert qu’à faire fonctionner le compteur de pièces ! Ouf, je me lance donc dans la fabrication d’un adaptateur pour pouvoir lancer le jeu en dehors de la borne.

Je branche le tout et je lance la PCB sur mon supergun. J’arrive sur le même écran fixe que dans la borne.

Enfin presque… les PCBs Nintendo utilisaient des couleurs inversées! Ici je n’ai pas pris la peine de faire un inverseur, ce qui explique pourquoi l’affichage est en nuances de noir.

J’inspecte le CPU, il ne Reset pas et a une bonne horloge. Par contre il y a  8 adresses qui pulsent de façon très bizarre ainsi que la broche WR (write). Elles pulsent pendant un quart de seconde puis se figent à High ou Low un moment et ainsi de suite. Visiblement le CPU tente d’écrire quelque chose mais n’y arrive pas. Il s’agit probablement d’un problème de RAM car ce sont les seuls composants de mémoire dans lesquels on peut écrire. Je sors les schémas et inspecte le circuit CPU/RAMs/ROMs.

Il n’y a que deux RAMs reliées à la broche WR (via un buffer). Je ne vois donc que quatre possibilités :
– une RAM est défectueuse (voire les deux),
– une/des EPROMs reliées à l’Address Bus des RAMs en question est fautive,
– le CPU ou le DMA (Direct Memory Access) sont défectueux,
– l’Address Decoding est mauvais.

Concernant les RAMs, il s’agit d’une TMM2115AP et d’une MB8416A. Je n’en ai malheureusement pas sous la main donc je préfère investiguer sur les autres possibilités d’abord.

Je commence par dumper les EPROMs et je les compare avec MAME. Tout est ok.

Je tente de mettre un CPU et un DMA que je sais fonctionnels. Cela ne change absolument rien.

J’inspecte minutieusement le circuit de l’Address Decoding. Tous les TTLs impliqués se révèlent être bons.

A ce stade je suis quasiment sûr que la panne vient d’une des 2 RAMs. La Fujitsu est unique sur le jeu, par contre la Toshiba TMM2115 se retrouve ailleurs sur la PCB. Je vérifie celle en position 6F (sur le circuit du son) à la sonde logique et remarque que toutes ses broches pulsent correctement. Je décide d’essayer des les interchanger, comme ça si l’une est défectueuse je devrais observer des différences de comportement. Je les dessoude et les swappe.

Moment de vérité : j’allume le jeu et… il démarre !

C’était donc bien la RAM en 7F qui était fautive. Il ne me reste plus qu’à trouver une RAM de remplacement car j’ai des bug de son à cause de la mauvaise RAM (certaines notes manquent dans les mélodies).

Je constate que c’est en fait une simple 16kbits avec le même pinout que les célèbres 6116. J’en profite alors pour tester la RAM en question avec le programmateur d’EPROM qui gère les 6116. Pas moins de 6 broches ne répondent pas, elle est complètement morte !

Je commande un lot de RAM sur le net, mais en attendant que cela arrive j’aimerais  m’assurer que le son marche bien malgré tout. Je cherche dans les PCBs chez moi et trouve une IDT6116 sur un boot de Street Fighter II. Elle fera parfaitement l’affaire.

Le jeu démarre et cette fois les musiques sont complètes ! Je teste les inputs, et malgré la difficulté pour voir ce qu’il se passe à l’écran tout à l’air de marcher, la PCB peut dorénavant rejoindre sa borne !

Bonus Stage

La borne a marché une bonne vingtaine d’heures avant de présenter un comportement bizarre : au bout d’un certain temps de jeu l’écran commence à onduler doucement, puis l’effet s’accélère ainsi que l’amplitude des vagues jusqu’à ce que la synchro soit complètement perdue. A partir de là le son ralentit progressivement et s’arrête…

Ma première intuition est d’aller vérifier la clock du CPU pour voir s’il elle ne ralentirait pas progressivement. Mais l’oscilloscope m’infirme cette hypothèse, l’horloge principale reste bien fixe.

Qu’est ce qu’il pourrait bien y avoir en commun entre la synchro vidéo et le son ? Je scrute les plans et je remarque que le signal vblank est relié aux pins NMI des 2 puces sonores !

Le signal vblank est l’intervalle de rafraîchissement vertical durant lequel le faisceau des canons à électrons remonte en haut de l’écran. S’il vient à changer il est normal que l’écran perde la synchro. Quant au NMI il s’agit d’un Non-Maskable Interrupt, un signal qui a la priorité absolue,  il peut donc affecter le son. Je m’empresse de sonder la piste du vblank, au début tout est normal.

Puis le signal commence à ralentir doucement jusqu’à complètement s’arrêter. Voici notre coupable !

Le signal vblank vient du plateau vidéo. Je remonte la piste à l’oscilloscope et étonnamment les TTLs s’avèrent être bons les uns après les autres. J’arrive finalement à l’horloge principale du plateau vidéo. Chose intéressante, plus je travaille sur la PCB plus la synchro lâche rapidement, le composant responsable de tout ça est littéralement en train de mourir !
Le circuit de l’horloge est enfermé dans un petit boîtier métallique.

Les pattes du quartz sont quand même accessibles donc je tente de les sonder à l’oscillo. J’ai à peine le temps de poser les sondes que l’image perd la synchro et je n’ai aucun signe de vie sur l’oscilloscope. Le coupable est mort…
Un quartz c’est assez robuste,  je ne pense pas que ce soit lui… je soupçonne plutôt un autre composant relié à lui. Je dé-soude le boîtier et selon le schéma le transistor Q1 est le suspect numéro un.

Je le retire du circuit pour le tester. C’est bien lui le coupable !

Je mets un transistor neuf et la PCB part comme en 40… euh pardon, 83.

Voilà, espérons que cela soit la dernière réparation avant un moment sur ce super jeu !

A.M. aka A-M

REPARATION PCB DIG DUG

Dig Dug est un grand classique qu’on ne présente plus. Ce jeu de Namco a été distribué en dehors du Japon par Atari. Originalement sur 2 plateaux dans sa version japonaise, la PCB d’Atari est sur un seul plateau. Attention la connectique n’est pas la même entre ces deux versions !

Voici une version japonaise du jeu qui visiblement ne marche pas correctement :

Je commence par inspecter la PCB minutieusement et je remarque que la carte a déjà eu droit à quelques réparations hasardeuses auparavant. Une diode a été remplacé avec un gros excédent d’étain. La carte est trouée juste en dessous et est complétement noircie.

Du coté soudure on voit bien que les pastilles sont noires aussi et la piste est partiellement décollée.

Il y a surement eu une surintensité à cet endroit, l’ancienne diode a dû chauffer très fort et endommager la plaque. Un condensateur du coté du son a également été changé et soudé de manière chaotique.

Il est temps de faire un adaptateur pour brancher le jeu sur mon supergun. La carte dispose d’un connecteur 44 broches ainsi que de 2 connecteurs AMP. Celui du plateau inférieur est la sortie vidéo, je dois donc le connecter.

Par contre celui du dessus (à côté de la diode endommagée) n’est pas nécessaire car il sert à l’alimentation qui peut aussi passer par le connecteur 44 broches.

En vérifiant les continuités je remarque que le 12v est relié à la masse. Ce n’est pas normal, il doit y avoir ce qu’on appelle un « short to ground », c’est à dire un composant défectueux qui court-circuite le 12v et la masse ensemble. Ce genres de pannes peuvent être fastidieuses à réparer quand cela arrive sur le 5v qui alimente 95% de la carte. Le 12v ne sert généralement qu’à alimenter l’ampli son, j’espère donc réussir à trouver le coupable rapidement. Je termine l’adaptateur, le jeu est enfin prêt à être testé !

Le jeu entre bien dans sa séquence de démarrage, il affiche que le test des rams est ok, par contre il reboote lors du test des roms. C’est déjà pas mal !

Je dumpe toutes les eproms et les compare avec Mame pour m’assurer que leurs données sont intègres. Les eproms se révèlent être toutes bonnes, le problème vient donc d’ailleurs. Malheureusement il n’y a pas de schéma pour cette PCB. La version Atari a eu le droit à des plans détaillés mais pas la version de Namco. En fouillant sur le net j’ai quand même trouvé quelque chose d’intéressant : visiblement les bornes Atari de Dig Dug distribuées en Europe ont eu la PCB à 2 plateaux à l’intérieur. Le manuel européen du jeu ne laisse aucun doute là dessus, on y trouve bien la liste des tous les composants de la PCB japonaise mais malheureusement pas de schéma…

Tant pis, je vais devoir faire sans. A la sonde logique je vois que le main CPU reçoit l’ordre de reseter lors du check des eproms. Avant de me lancer dans des recherches plus approfondies, je commence par appuyer sur les composants sur supports pour voir si cela change quelque chose à l’écran. Renfoncer les composants dans leur support ne pas fait de mal, j’arrive pendant quelques secondes à aller plus loin avec une rom 5 error avant que le jeu ne redémarre. Et en appuyant sur le CPU Z80 en position 1A  le jeu démarre enfin !

Il y a clairement des problèmes graphiques mais je m’occupe d’abord de stabiliser le démarrage. Le comportement est le même avec un Z80 neuf, c’est donc la socket qui est défectueuse. Je la remplace et le jeu boote maintenant à tous les coups !

Concernant le souci d’affichage, je constate qu’appuyer sur l’eprom numéro 11 suffit à régler le problème. Je nettoie ses pattes comme il faut et le problème semble réglé. Mais quelques minutes plus tard le problème refait son apparition, je décide donc de changer la socket de cette eprom pour en finir avec ce bug. Je peux donc maintenant tenter une partie et voir si tout va bien.

Les inputs marchent tous bien, mais comme je m’y attendais je n’ai aucun son. Je mesure le 12v et je n’ai que 0.3v. Le courant qui censé alimenter l’ampli s’enfuit dans la masse à cause du « short to ground », ce qui explique qu’il n’y ait pas de son. Je suis les pistes du 12v pour voir les composants sur son chemin susceptibles d’être responsables. Le condensateur qui avait été remplacé avant peut être coupable. Je l’enlève et par curiosité je regarde sur le manuel européen si sa valeur est la bonne. J’ai eu raison de vérifier car il s’agit d’un 47 microfarads alors qu’il faut un 100 selon le manuel ! Je le remplace par un condensateur neuf de la bonne valeur mais cela ne change rien.

J’en profite aussi pour m’assurer que la diode qui a été remplacée est la bonne mais les inscriptions dessus sont illisibles, ce qui est mauvais signe concernant son état. Dans le doute je préfère l’enlever et remettre la bonne diode qu’il faut. J’en profite pour essayer de faire un peu plus propre qu’avant mais ce n’est pas chose aisée car les pastilles sont très fragiles et je ne veux pas risquer de les abimer plus.

Le deuxième coupable potentiel du « short to ground » est l’ULN2064 en position 7J. Je le remplace et bingo le son refait son apparition !

Je joue un peu et manque de chance le jeu finit pas freezer et/ou rebooter au bout d’un moment. Je suspecte les sockets des autres CPU d’être fatiguées elles aussi. Je les remplacent, comme ça les trois CPU sont sur des supports tulipe et il n’y a plus aucun risque de faux contact.

Je reteste le jeu un bon moment et je n’ai plus aucun souci ! Pour finir je souhaite m’assure que les inputs du deuxième joueur fonctionnent bien. Le seul moyen de tester cela est de mettre le jeu en mode table cocktail car en mode upright les deux joueurs partagent les mêmes contrôles. On a l’habitude d’utiliser un dip switch pour cela mais à cette époque il y avait aussi la technique de relier une broche spécifique du jeu à la masse. Les connecteurs des tables cocktails avaient ce câble en plus et permettaient de passer automatiquement en mode cocktail, plutôt malin comme système.

Les inputs du P2 marchent bien aussi, c’est parfait la PCB est donc réparée !

A.M. aka A-M

NEWS COL ET PROCHAINE SOIRÉE LE 24 MARS !!!

Bonjour à tous !

Je me présente, je suis Adrien M., le nouveau président de Coin-op Legacy. Cela fait un moment que l’association n’a pas organisé de soirée et nous en somme sincèrement désolé. Cela va bientôt faire 4 ans que Coin-op Legacy existe et nous allons profiter de cette date pour reprendre du service. Je vous annonce donc que le samedi 24 mars aura lieu la soirée d’anniversaire des 4 ans de l’association !

Save the date !

Cette année nous allons malgré tout lever un peu le pied sur les soirées. Nous n’en prévoyons que deux pour le moment : une en mars et une en septembre. Pourquoi me direz-vous ? Et bien organiser une soirée demande beaucoup de temps, d’efforts et de stress. Cela ne se voit pas trop en tant que visiteur mais il y a un gros travail de préparation. Et surtout, ces soirées sont très fatigantes pour les machines, principalement les vielles dédiées. Il y a en moyenne une borne qui tombe en rade par soirée, parfois plus… Nous montons certes en compétence en ce qui concerne les réparations mais cela nécessite beaucoup de temps et parfois d’argent.

En parlant de réparation vous avez peut être vu quelques repair logs sur le site ces derniers temps. Nous essayons en effet de renforcer le côté préservation de l’Arcade au sein de l’association. C’est véritablement indispensable car toutes les bornes et jeux sont voués à tomber en panne un jour ou l’autre. Nous n’avons pas les moyens de mettre à l’écrit tout ce que l’on répare mais nous essayons de partager régulièrement à ce sujet. Enfin, lors d’événements extérieurs nous commençons à exposer des pièces pour sensibiliser le grand public à la richesse et la complexité des bornes d’Arcade. Coin-op Legacy c’est de la borne d’Arcade originale, et ça le restera.

Enfin nous sommes en train de mettre en place un système d’adhésion à l’association pour ceux qui souhaiteraient nous soutenir. Nous vous en reparlerons bientôt quand tout sera prêt 🙂

Aller, bon jeu et à bientôt !


COIN-OP LEGACY vous propose un rassemblement Arcade spécial 4e Anniversaire de l’Association samedi 24 mars 2018, de 17H00 à 01H00.

Vous retrouverez une salle unique en France disposant de plus de 80 classiques de l’âge d’Or de l’Arcade, dans leur version 100% originale !

TOURNOI

Nous vous concoctons encore une fois un tournoi ‘secret’. Comme à l’accoutumée les gagnants remporteront de nombreux lots de nos partenaires Pix’n Love, DC Shoes,  SmallCab & DL Compare !

INFORMATIONS PRATIQUES

– Notre salle est située à Vitry-sur-Seine. Accès RER Les Ardoines ou Bus 182 départ Mairie d’Ivry. L’adresse exacte sera communiquée par email aux participants quelques jours avant la soirée.
– Le rassemblement démarrera à 17H00, soyez aussi ponctuels que possible svp.
– Participation aux frais de 15€ en prévente, payable uniquement par Paypal à la suite du remplissage du formulaire / 20€ sur place en espèces avant l’entrée en salle.
– Des boissons soft en canettes, ainsi que des plats et desserts seront disponibles à la vente sur place. Produits 100% frais et réalisés par un chef cuisinier pâtissier. Paiement en espèces uniquement.

FORMULAIRE

Inscriptions closes

N’hésitez pas à nous contacter pour toute question, à l’adresse suivante : [email protected] Nous vous répondrons dans les plus brefs délais.

A bientôt !
L’équipe Coin-op Legacy

TRADUCTION VALKYRIE NO DENSETSU

Introduction & mini repair log

Valkyrie no Densetsu est un jeu que j’adore! J’y ai beaucoup joué mais malheureusement ma PCB présentait des bugs sonores dans certains niveaux. Par exemple, la ligne de basse dans le Stage 3 était bizarre et il manquait des notes dans la mélodie du Stage 4.

Un jour je me dis qu’il est grand temps que je tente de réparer tout ça !

Vu à quel point ces bugs sont spécifiques, je soupçonne une corruption de données dans la rom de son. Je la dumpe, la compare avec Mame et en effet elle est défectueuse !

Je programme une nouvelle rom avec les bonnes données et voici ma PCB réparée !

J’y joue un peu et je me dis qu’il serait peut être temps aussi de fabriquer l’adaptateur pour profiter du jeu en stéréo.  Le connecteur est difficile à trouver de nos jours mais par chance j’en ai un sous la main. Un peu de soudure et je constate alors que les sorties stéréo ne sont pas amplifiées. Ne possédant pas d’ampli dans mes bornes je tente de faire la connectique pour un casque. Et oui, les Namco System 1 et 2 ont non seulement une connectique HP stéréo mais aussi casque !

Cette fois c’est parfait, le son est amplifié. Je le fais passer par un petit set d’enceintes PC pour régler le son et je profite enfin du jeu avec la qualité sonore maximale ! Puis après quelques heure de jeu je réalise une chose : malgré le fait que je comprenne le japonais, je n’ai jamais pris le temps de traduire l’histoire… et je me rend compte aussi que les gens ne comprenant pas du tout cette langue ne doivent pas vraiment profiter du jeu. Quel dommage ! Je me souviens avoir vu quelques personnes faire des hacks sous Mame pour mettre des jeux en Freeplay notamment. Je n’ai aucune connaissance là dedans mais ce n’est pas grave, le défi est lancé : essayons de traduire le jeu !


Des débuts difficiles

Je trouve donc quelques tutos concernant le hacking sous Mame, mais il n’y a pas grand chose pour être honnête. Je lance le jeu sous Debuggeur et je commence à rechercher des textes anglais pour essayer de comprendre un peu comment c’est programmé. J’essaie de trouver le texte « PLEASE PRESS ONLY 1P BUTTON » qui s’affiche après avoir inséré un crédit. Mais j’ai beau utiliser la fonction de recherche « find » je ne trouve rien. (find 0x0, 0x10000,« PLEASE » )

Intrigué je regarde le code source avec le Debuggeur et il ne correspond pas avec le code dans les eproms du jeu… je suis complètement perdu. Je mets de côté le Debuggeur et je continue de chercher directement dans les fichiers des roms pendant un bon moment. Grâce à un script trouvé sur le net je finis enfin par trouver un texte anglais ! Il est dans la rom du main program numéro 1 (MPR1) les caractères sont codés en hexadécimal sur un octet (de 00 à FF). Ici je fais disparaître le mot « PLEASE » en mettant des FF à la place.

C’est une avancé mais je ne sais toujours pas comment chercher les mots en japonais… jusqu’à ce que je découvre qu’il existe un moyen de voir les Sprites et Tiles sous Mame avec la touche F4 !

On peut y voir tous les caractères utilisés et par chance les lettres de l’alphabet latin correspondent exactement au code ASCII en hexa ! Ce qui veut dire que j’ai peut être trouvé ma pierre de rosette pour le japonais ! J’essaie de chercher dans le code le premier mot du jeu : « SHIAWASE ». Selon la table cela donnerait BC B1 DC BE, je m’empresse de le chercher dans la rom MPR1 et je trouve en effet cette string. Je la modifie avec le mot « TEST » en ASCII, je relance le jeu et bingo !

Je peux alors commencer à traduire les textes en remplaçant simplement les caractères japonais par des caractères anglais. Le saut de ligne se fait grâce à l’octet 0D, et le séparateur de bulle est 0D FF. Jusque là rien de bien compliqué. Sauf que je me frotte à mon premier gros souci : je ne peux pas mettre plus de caractères que ceux d’origines car tous les textes sont les uns à la suite des autres et je ne peux pas déplacer les séparateurs de bulles… L’exercice de traduction devient compliqué car l’anglais nécessite généralement plus de place que le japonais pour dire la même chose. Je dois donc faire des coupes franches et des arrangements pour que le sens principal soit conservé.

Tout se passe bien jusqu’à ce que je tombe sur les premiers mots utilisant le second alphabet japonais : les katakanas.

Le résultat n’est pas du tout le bon ! Je remarque que les katakanas sont au delà du simple octet (de 100 à 13F), c’est donc une histoire d’offset différent mais comment cela marche-t-il ?

Les octets des lettres sont collés les uns aux autres, comment spécifier un complément d’adresse dans ce cas ? Je ne trouve aucune réponse et je finis par opter pour une solution de fortune : je remplace en mémoire les Tiles des katakanas par les Tiles de notre alphabet. Ces Tiles sont situées dans la rom CHAR0, je copie donc les caractères de 40 à 7F et je les colle entre 100 et 13F.

Cela me permet de continuer ma traduction mais le problème est triple :

– je dois modifier une rom supplémentaire (CHAR0),
– les nouveaux caractères ne correspondent pas au code ASCII,
– je ne peux pas faire de saut de ligne à l’endroit où un katakana se trouve.

Dans l’attente de trouver une meilleure solution, je continue avec ce système. J’arrive à la fin du premier niveau et je rencontre un nouveau format de texte sur fond noir

Ces textes sont gérés de la même façon que les bulles. Par contre les balises changent : le saut de ligne devient FF 05 1D, et la début d’un texte devient FF 0x 05 1B (x étant le nombre de lignes de ce que j’ai compris). C’est plus complexe et surtout je n’arrive pas à déplacer les sauts de ligne sans créer de gros bugs ! Je suis obligé de les laisser à leur place et cela me rajoute une difficulté supplémentaire dans mes traductions.

Pour compliquer le tout, je ne peux pas utiliser de Save State pour retourner rapidement à un niveau avancé après un changement de traduction. Les Save States conservent bien sûr en mémoire l’état des rams mais aussi celle des roms du programme principal ! Je ne comprends pas trop pourquoi mais du coup je dois recommencer une partie après chaque modification, ce qui devient vite fatiguant. Mais je continue malgré tout et je finis par traduire le jeu en entier.

Je suis à la fois content et déçu de cette première version. J’ai du faire des manipulations pas très propres et surtout je manque d’espace à de nombreux endroits pour mettre la traduction idéale.


La vraie V1.0

Un peu plus tard, lors d’un week-end arcade fort sympathique je rencontre Neocps1 qui s’y connaît bien en hacking et je lui parle de ma problématique. Il me donne alors une solution simple mais géniale : il y a souvent des zones non remplies dans les roms, je peux alors y mettre mes nouveaux textes sans me soucier du nombre de lettres. Il faut ensuite réussir à trouver la table d’adressage contenant les adresses de tous les textes et les modifier pour faire pointer vers les nouveaux textes !

Je relance le Debugger pour essayer de trouver la table. Je ne sais pas si c’est cette petite pause qui m’a aidé mais je comprends rapidement mon erreur initiale. Je pensais que les codes des deux roms (MPR0 et MPR1) étaient mis à la suite pour n’en former qu’un. Mais en fait les codes sont imbriqués ensembles octet par octet. Les instructions et mémoires du Debugger font enfin sens pour moi !

Cela me permet de comprendre comment marche les katakanas : à chaque octet dans MPR1 que je modifie pour mettre une autre lettre, il y a aussi un autre octet lié dans MPR0 qui est à 00 la plupart du temps et à 01 dans le cas des katakanas. Voilà donc l’offset que je cherchais et qu’il me suffit de modifier pour avoir un code plus propre et éviter de modifier la rom CHAR0.

Je localise rapidement deux grands espaces vides dans le code qui me laissent assez de place pour mettre tous les textes, il ne me reste plus qu’à trouver la table d’adressage…

Pour cela j’ai utilise un Breakpoint pour stopper Mame quand l’adresse de la première lettre de la première bulle est accédé par le code (wp 0x32A54,1,r). Cela me permet de connaître l’adresse de l’instruction qui accède à cette valeur (0x0246FC). J’utilise alors la fonction trace qui exporte dans un fichier toutes les instructions du CPU dans l’ordre et en format clair (trace >>instruction.tr). Je couple cela avec un Breakpoint pour stopper Mame à l’instruction trouvée précédemment (bp 0x0246FC). J’obtiens ainsi le code exécuté juste avant d’afficher la première lettre

Il suffit de remonter les instructions pour trouver l’adresse de la table d’adressage. Malheureusement je ne connais rien à la programmation sous 68000… je place donc des Breakpoints pour remonter progressivement dans le code et en observant les registres je finis enfin par trouver ce que je cherche ! Le registre A1 qui contenait l’adresse de la première lettre contient ici l’adresse de la table, soit 0x0325B8.

J’ai maintenant toutes cartes en main pour faire une vraie V1.0 digne de ce nom. Mais plutôt que de coder à nouveau directement dans les roms, je me dis qu’il faut peut-être passer directement à l’étape finale : créer un script qui va aller modifier à ma place le code. Cela demande plus d’efforts au départ mais après la maintenance devient très facile et surtout je peux le partager car ce n’est qu’un simple patch !

Je me lance donc dans l’apprentissage express du Python qui semble le langage idéal pour ce job. C’est une entreprise fastidieuse mais une fois terminée, je suis enfin satisfait de mon travail !

Les traductions sont de meilleure qualité et n’importe qui peut facilement changer les textes. J’ai pour cela implémenté des codes de vérifications qui empêchent toute erreur de dépassement.

De plus si vous avez un programmateur d’eprom vous pouvez profiter du jeu traduit sur la PCB originale ! Il n’y a que 2 eproms à remplacer, toutes les instructions sont dans le fichier read me.

Voilà, j’espère que vous apprécierez ce super jeu dorénavant accessible à tous !

Vous pouvez vous procurer le script ici :

Valkyrie_to_english


Bonus : des découvertes dans le code !

En fouillant dans le code, j’ai fait quelques découvertes intéressantes. Il y a par exemple des dialogues qui n’ont pas été implémentés dans la version finale du jeu :

La déesse :

どうか、あなたの
ちからで
ひとびとを
すくってください

Please save the people with your strength (at 0x032AEE)

Il s’agit d’une variante de la deuxième bulle de la déesse au début du jeu qui demande de sauver les gens. Dans la version finale elle demande de sauver le monde.

Le mammouth :

さっさっといくがよい。

Go now/quickly (at 0x01F00C)

Vu son emplacement dans le code, il s’agit sûrement d’un phrase dites après que le joueur ait échoué au test mental (juste après « Terrible! Only a miracle can save us »). J’ignore pourquoi elle a été retirée.

ここでさんびきの
かいぶつと
たたかって
ちからをみせてもらおう!

Fight here against those three monsters and show me your strength! (at 0x033D46)

Cette phrase devait accompagner le joueur quand il entrait dans la salle du test de force. Mais le nombres d’ennemis a été revu à la hausse depuis !

よくここまできた。しかし きょうは
ここまでで おわりじゃ!
またつぎのきかいにあおう!
さらばじゃ!

Well done. But that’s all for today! We’ll meet again! Bye! (at 0x033CCE)

Une fois les ennemis du test de force vaincus, le mammouth devait sûrement dire cela.

Le marchand :

まいど
ありがとう
ございました。

Thank you very much (at 0x0336F4)

Le marchand devait à l’origine nous dire merci après chaque achat ! Mais je pense que cela devait un peu trop casser le rythme.

なんでも
あく かぎ だよ

This key opens everything (at 0x033888)

Les deux seules porte verrouillées du jeu sont dans le donjon du château. La clé se trouve dans un coffre à proximité mais peut être que les développeurs voulaient au départ nous la faire acheter…

やみよをてらす
ランプ
つかえるかもよ?

Maybe you can use a lamp to light the darkness? (at 0x0337F0)

Oho ! Un objet intéressant qui laisse supposer qu’un endroit devait être plongé dans le noir ! Je pense que l’endroit idéal devait être le marécage à la fin du Stage 5. Le jeu s’assombrit un peu à cet endroit d’ailleurs et j’imagine bien Namco faire un clin d’œil à The Tower of Druaga avec ce labyrinthe plongé dans le noir. En plus il y a un marchand juste avant…

スピ-ドアップする
スーパーシューズ
やすく しとくぜ

I’ll sell you those speed boost Super Shoes for a good price (at 0x033984)

Ça c’est dingue ! Des chaussures augmentant la vitesse de déplacement étaient prévues à l’origine ! Je ne sais pas pour quelles raisons elles n’ont jamais vu le jour dans la version finale mais j’aimerais bien les essayer:)

Enfin, grâce à l’outil qui permet de voir les Sprites j’ai trouvé d’autres choses plutôt cools :

Il y a beaucoup d’animations de personnage non utilisées, mais la plus marquante est sans doute Quarckman qui dispose de tout un panel d’attaque notamment ! Était il censé nous attaquer ? Nous aider au combat ?

On peut aussi voir ces lettres qui se lisent ougon no tane (The Gold Seed). Là ils ne sont pas bien colorés car certains Sprites voient leurs couleurs modifiées selon les besoins du jeu. Mais vu le travail porté sur ces caractères je me demande s’il ne s’agissait pas d’un sous titre du jeu finalement abandonné ? (Valkyrie no Densetsu – Ougon no Tane)

Enfin j’ai trouvé les Sprites de la clé, de la lampe et des chaussures que le marchand aurait pu nous vendre. Et il y a visiblement une arme qui n’a pas été implémentée. On dirait un boomerang et il ressemble fortement à ceux utilisés par certains monstres.

Voilà, c’est tout ce que j’ai trouvé. Si quelqu’un de doué et motivé arrive à voir si on peut activer les bottes de vitesse je suis preneur ! J’aimerais vraiment voir ce que cela aurait pu donner…

A.M. aka A-M

REPARATION PCB TAPPER

Après l’article sur Discs of Tron, voici Tapper, un autre jeu sur le système MCR3 de Bally Midway.

Ce jeu vous met dans la peau d’un barman qui doit servir le plus rapidement possible des bières à ses clients. C’est fun et le panel est vraiment sympa avec sa tireuse de bière siglée Budweiser.

La PCB a eu un gros accident. Lors de son premier test après achat, un composant a littéralement explosé sur le plateau son.

Il s’agit d’un condensateur au tantale. Ces condensateurs ont de nombreux avantages comparés à ceux en céramique et électrochimiques ; mais ils ont aussi un gros souci : leur explosion est beaucoup plus violente et dangereuse. On constate que cela a carrément fait un trou dans la plaque !

Par chance, il n’y avait aucune piste en dessous et celles d’à côté n’ont pas été coupé ; il ne reste qu’à remplacer le condensateur. Je change aussi le petit condo. céramique à proximité qui avait peut-être subit des dégâts lors de l’explosion.

Mais ce n’est pas le seul problème. De nombreux composants ont été endommagé un peu plus loin.

C’est un vrai massacre, la carte a dû être violemment cognée pour sectionner des composants de la sorte… Je les dessoude ainsi que tout ceux qui présentent la moindre faiblesse.

Je les remplace et la PCB est de nouveau prête à partir. Je branche le jeu et soulagement, il se lance sans encombre. Enfin presque, j’ai un souci de synchro. sur mon supergun.

Je tente de brancher le tout dans une borne générique et là l’image est stable. Le souci d’enroulement sur le côté vient d’un mauvais réglage de platine, rien de grave.

Je joue un peu pour voir si tout marche bien. Le son fonctionne mais les boutons « action » et « haut » ne répondent pas… Je vérifie à la sonde logique et ces inputs sont en effet flottants. Mais ce ne sont pas les seuls. Sur le connecteur J4, pas moins de cinq inputs sont flottants. C’est beaucoup et je suspecte le pack de résistances « pull up » d’être défectueux. En plus on peut voir un petit impact sur le dessus.

Je le dessoude et l’enlève du circuit. Mais à ma grande surprise je me retrouve avec seulement un bout du pack dans ma main !

Le « petit » impact avait dû être assez violent, suffisamment pour sectionner le pack de l’intérieur. Je ne veux pas savoir ce que cette pauvre PCB a enduré comme traitement. Je mets de nouvelles résistances et les inputs marchent tous à nouveau !

Par contre je remarque un petit détail qui m’avait échappé jusque-là : sur certains écrans il y a de tout petits artefacts graphiques sous la forme de points blancs qui apparaissent et disparaissent de manière aléatoire.

C’est ennuyeux. Je ne sais pas si cela vient de la borne ou de la PCB. J’essaie de relier l’alimentation directement au Jamma (au lieu d’utiliser une alim externe comme jusqu’à présent) ; mais le résultat est encore bien pire. Les sprites des personnages sont découpés « en tranches » et éparpillés n’importe comment sur l’écran.

Ne comprenant pas trop ce qu’il se passe, je rajoute un adaptateur Jamma pour essayer de capturer l’image du jeu sur un ordinateur. Le signal passe par un X-RGB mini puis une carte d’acquisition AverMedia Live Game Portable. Visiblement le X-RGB n’arrive pas à interpréter le signal vidéo, mais par contre l’image sur la borne s’affiche dorénavant parfaitement, sans aucuns artefacts !

Là je suis perdu !

Il s’agit peut-être d’un problème de masse… Je débranche le système d’acquisition et relie la masse vidéo à la masse général sur le peigne Jamma. Et là l’image s’affiche enfin comme il faut de manière stable. Ouf, il ne s’agissait donc pas d’un problème de la PCB.

Le jeu est maintenant prêt à rejoindre sa borne !

A.M. aka A-M & O.V. aka Olisan

RÉPARATION PCB TWIN COBRA

Aujourd’hui c’est une PCB Kyukyoku Tiger qui est sur le bench.

Connu sous le nom Twin Cobra en dehors du Japon, ce shmup est rigide et punitif mais agréable à jouer malgré tout. Malheureusement la plaque que nous avons là souffre d’un gros problème de positionnement de sprites. Les deux tiers supérieurs de l’écran n’affichent aucun sprite de premier plan et les tirs du vaisseau partent de tout en bas.

Il s’agit probablement d’un simple problème d’adressage mais je ne trouve aucun schéma de la PCB pour m’aider. Je n’ai pas d’autre solution que d’y aller à l’aveugle, je commence donc à sonder tous les composants à la sonde logique. En me servant des datasheets de chaque composant je regarde si leur comportement semble correct. Je note ceux qui me paraissent suspects et je finis par arriver sur le TTL 74LS74 en position D11.

Alors que les signaux en entrées sont bons, les quatre signaux de sorties sont bloqués à high. Ce n’est pas normal, de plus je remarque que certaines des pattes sont légèrement rouillées alors que les autres composants de la plaque sont nickels. Je tente la technique du piggybacking qui consiste à mettre un composant neuf à califourchon sur un autre supposé défectueux. Cela ne marche pas à tous les coups mais cela ne coûte rien d’essayer.

Je lance le jeu et le problème n’est plus là, tous les sprites sont au bon endroit !

C’est donc bien ce TTL qui ne marche plus, il ne reste qu’à le dessouder et à en mettre un neuf sur support.

Et voilà, le jeu est à nouveau pleinement fonctionnel !

A.M. aka A-M & B.H. aka Bat

RESTAURATION DISCS OF TRON

Pour ce premier article dédié à la préservation des bornes d’Arcade 100% authentiques de Coin-op Legacy, nous vous proposons la ‘résurrection’ de notre DISCS OF TRON (Bally Midway, 1983).

Comme vous pouvez le voir sur le flyer ci dessous, la borne existe également en version ‘environmental’, plus imposante, et qui a la particularité de ‘parler’ avec l’ajout de voix digitalisées du plus bel effet.

Nous ajouterons cette caractéristique dès que nous le pourrons. Pour l’instant, place à la restauration de cette magnifique borne ‘upright’ !

La borne a séjourné de longues années dans une grange, et malgré son apparence potable, un énorme travail de plus d’une centaine d’heures nous attend…

Par chance la PCB a été conservée à l’abri, nous avons donc bon espoir de redémarrer la borne.

 

01 – Le panel

Le sticker du panel étant trop abîmé, nous commandons une reproduction de l’overlay pour le remplacer, mais avant tout il faut enlever les contrôles. Le spinner est tellement rouillé qu’il tourne à peine, il est même impossible de le baisser ou le tirer. Étant une des spécificités du jeu (vous pouvez contrôler la hauteur de vos tirs à partir d’un certain niveau du jeu) il est important d’y remédier.

Le retirer a vite dégénéré en épreuve de force. Nous sommes obligés d’utiliser une masse pour l’extraire de son tube… On en  profite pour le nettoyer comme il se doit.

Le joystick se montre tout aussi récalcitrant. Les vis sont tellement rouillées et grippées que l’on défonce malheureusement la tête de deux d’entre elles. Après divers essais infructueux, nous utilisons la Dremel et attaquons minutieusement ces vis problématiques.

Pas moins de trois forets rendent l’âme pour extraire ces deux vis. La rouille du tube est ensuite enlevée. Vu l’état dégradé de celui-ci, la Dremel nous est vraiment utile. Au final l’aspect chromé est sympa et décidons de le conserver plutôt que de le peindre en noir.

Nous décapons ensuite l’overlay actuel. Le dessous du panel est en piteux état lui aussi.

Nous ponçons le tout, appliquons une couche d’anti-rouille et comblons les trous avec de la pâte spécial métal.

La pose du nouvel overlay est délicate, le panel comportant plusieurs angles à 90 degrés et quelques rebords très courts. L’overlay étant fabriqué dans un papier épais il faut bien le chauffer avant de pouvoir prétendre le plier.  De la glue dans certains coins récalcitrants permet de faire adhérer le tout.

Une fois l’overlay posé, les contrôles nettoyés et remontés, le panel a bien plus fière allure vous ne trouvez pas ?

 

02 – L’alimentation, partie 1/2

On se ensuite penche maintenant sur l’alimentation. Le bloc est complètement rouillé sur l’extérieur, l’intérieur étant lui resté très propre.

Par contre nous constatons une modification entre deux fils un peu hasardeuse et pas très sécurisée.

Nous soudons les fils proprement et isolons le tout. Notre problème maintenant est de savoir si la borne se branche en 110V ou  220V car le câble est coupé et il n’y a aucun indice à ce sujet. Nous savons que la borne a été en service en France, donc en toute logique elle devrait être en 220V. Les mesures des tensions en sortie confirment cette hypothèse. Côté transformateur pour l’écran et les néons, on a bien 110V en sortie, ou plutôt 125V pour être exact. C’est un peu beaucoup mais encore supportable. Par contre sur le second transformateur qui alimente le jeu nous n’avons aucune tension en sortie.  Ce n’est pas bien grave, on compte de toute façon mettre une alimentation à découpage récente pour avoir du -5V en plus. Cela nous permettra d’ajouter à l’avenir la carte électronique supplémentaire gérant les fameuses voix digitalisées. Par sécurité on déconnecte quand même les câbles du  second transformateur pour éviter que le courant n’aille dans cette partie défectueuse de l’alimentation.

Il reste à trouver où brancher la nouvelle alimentation à découpage. Afin de bénéficier du système de démarrage de la borne via l’interrupteur on/off, on cherche sur les borniers sous le bloc d’alimentation. Il y a deux bornes de libres, on peut y brancher nos câbles. Pour les faire sortir nous declipsons un connecteur désormais inutile (celui qui envoyait le courant à la carte de Power Supply) et nous le rangeons proprement dessous.

En plus de cet énorme bloc d’alimentation, il y a une carte  appelée Power Supply Board. Elle relie l’alimentation par deux câbles et reçoit divers courants. Elle sert à plusieurs choses : réguler le 15V et 8V  que lui envoie l’alimentation à des valeurs stables (5V et 12V pour le jeu), redresser le 12V alternatif pour alimenter l’ampli son externe au jeu, et fournir du courant en permanence à l’aide d’une pile pour assurer la sauvegarde des scores.

Malheureusement cette carte est réputée capricieuse et instable, nous décidons de la remplacer par cette petite carte développée par des passionnés il y a quelques années.

Cette petite PCB appelée Power Supply Adapter permet de connecter les câbles d’origines à une alimentation à découpage moderne. C’est plus stable et il n’y a plus à s’inquiéter de la pile de sauvegarde qui est encapsulée et ne risque donc pas de couler.

 

03 – Les néons

Maintenant que la borne est alimentée, on essaie de faire partir les quatre (!) néons. Celui du panel fonctionne, mais c’est malheureusement le seul.

Après changement des tubes et des staters, les néons au dessus de l’écran et dans le header finissent par s’allumer à leur tour.

Celui derrière l’écran reste désespérément éteint. On passe un long moment à chercher la raison. Tout est tenté : remplacer le tube, remplacer le starter, mettre un nouveau ballast, enlever le filtre, vérifier l’arrivée du courant dans le connecteur en amont du néon, vérifier les continuités au sein du néon… mais rien à faire. Après une pause repas nécessaire, nous reprenons tout depuis le début et le problème apparait enfin : le connecteur du coté du néon a un souci de continuité sur le neutre. Difficile de s’en rendre compte car on testait toujours en se reliant au neutre de l’autre coté du connecteur qui a un trou plus large pour mettre la sonde…

On remplace le connecteur et tous les néons s’allument enfin !

 

04 – L’écran et les vitres

Afin de travailler sur le moniteur en toute sécurité, il est important de le sortir de la borne. Mais accéder à l’écran demande d’abord du démontage. La borne utilise un système de miroir sans tain pour réfléchir l’image de l’écran vers le joueur et la superposer avec l’illustration dans le fond de la borne. Ajouté à cela, deux plaques en plexiglas avec des contours de couleurs viennent renforcer l’aspect de profondeur. Sortir ces plaques sans les abîmer n’est pas chose aisée étant donné le nombre d’éléments et l’exiguïté de l’espace. La quantité de poussière et de saleté entre ces plaques est juste hallucinante, à tel point au départ que l’on pensait qu’il manquait un des ‘calques’.

Nous nettoyons toutes les vitres et ‘réparons’ certains autocollants qui se sont fendus et décollés avec le temps. Du scotch noir d’électricien fait l’affaire pour stabiliser ces défauts et combler les trous.

L’écran est posé en biais sur deux rails en métal, une fois les vis enlevées il peut glisser et se retirer par l’arrière de la borne en faisant bien attention à ne pas cogner le tube.

Nous déposons l’écran sur notre banc test et bricolons un connecteur pour pouvoir alimenter l’écran. Nous ne savons pas s’il fonctionne. On l’allume de loin et un inquiétant crépitement retenti,, doublé d’étincelles au niveau du châssis en métal… Nos coupons rapidement l’alimentation et inspectons cela de plus près. Un câble   est en fait sectionné pour une raison inconnue et traîne entre le châssis et la platine… de quoi se prendre une sacrée châtaigne. Il faut toujours redoubler de précautions avec ce type de matériel, en portant bien entendu toujours des gants dignes de ce nom !

Nous réglons le souci et l’écran repart sans encombre à notre plus grande joie. Il ne reste plus qu’à le remettre dans la borne et à le brancher.

 

05 – La PCB

Grosse inconnue sur l’état de la PCB. Nous préférons s’assurer qu’elle fonctionne correctement avant de la tester dans la borne. Je me penche donc pour la première fois sur ce complexe système ‘MCR’ qui m’était jusque là inconnu, et je cherche la solution pour brancher la PCB sur mon supergun. D’un point de vue alimentation, le plus facile est clairement de prendre le câblage de la borne ainsi que le Power Supply Adapter. Dans un souci de rapidité j’utilise simplement une alimentation externe au supergun.

Pour récupérer le signal vidéo il faut que je me branche sur le connecteur J2.

Je n’ai pas de connecteur de ce format, je me débrouille donc avec des câbles de prototypage et une breadboard. La PCB sort deux synchros séparées (horizontale et verticale), hors le format péritel qu’utilise mon supergun n’a qu’une seule synchro combinée. Je tente donc de relier les synchro ensemble en espérant que cela fonctionne. Voici à quoi ressemble ce montage fait à la va-vite :

Ô joie, l’image apparaît ! Par contre, des glitches graphiques sont présents sur certains sprites. Je me vois donc obligé d’ouvrir ce mille-feuilles de PCB…

Le jeu ‘déplié’ dépasse de mon bureau, mais au moins j’ai accès aux trois plateaux côté composants.

Après inspection visuelle minutieuse, il y a déjà quelques soucis à régler à savoir :
– un petit condensateur céramique sectionné
– une patte d’eprom non raccordée
– les gros condensateurs électro-chimiques usés

Je remplace le condo céramique, remet l’eprom bien en place et j’en profite pour changer tous les condensateurs électro-chimiques.

Mais cela ne suffit pas à régler les glitches graphiques. C’est peut être une eprom corrompue, je ‘dumpe’ donc et compare les données des eproms graphiques avec celles de Mame. Au final, rien à signaler de ce coté.

Un composant est peut être mal enfoncé dans une socket. J’appuies sur tous les composants montés sur support puis remet le jeu en fonctionnement. Le résultat est encore pire qu’avant : des lignes rouges apparaissent sur toute la hauteur de l’écran et il manque une partie de sprites au premier plan.

Rien de grave, cela montre bien qu’il y a des soucis de connections au niveau de certains supports. Je retente l’opération en gardant le jeu allumé cette fois, afin de voir les éventuels changements à l’écran. Sur le plateau vidéo je trouve que les rams en position D7 et D10 souffrent de sérieux mauvais contacts et dans certaines positions j’arrive presque à ramener l’image à la normale. Sur le plateau CPU c’est le custom IC en position 11B2 qui est très sensible, le toucher légèrement suffit à faire complètement disparaître l’image. Il faut impérativement changer tout ça. En enlevant le custom IC de son support je comprend pourquoi il y a de nombreux soucis de contacts avec ces sockets d’origine : les connecteurs sont à lyres simples et sont enfouis tout au fond…

Je remplace cela par des supports à lyres doubles et règle ainsi le problème de contacts avec ce composant.

Concernant les sockets des rams je n’ai pas cette taille de support. Je fais avec cles moyens du bord, je sors la dremel et fabrique des supports sur mesure.

Grâce à ce remplacement de pièce l’image revient normale, sans aucun bug graphique !

Les plateaux CPU et vidéo sont maintenant ok. Je peux passer sur le plateau sound/IO pour vérifier si les inputs et le son fonctionnent.

J’utilise à nouveau des câbles de prototypage pour relier les inputs principaux ainsi que le son au peigne Jamma.

Les quelques inputs que je branche fonctionnent correctement, sauf pour la direction ‘avant’ qui reste maintenue en permanence.

En effet, après vérification avec ma sonde logique la broche de l’input up est flottante. Je suspecte d’abord les résistances ‘pull up’, mais une fois dessoudées et testées en dehors du circuit j’en conclue que ce n’est pas la source du problème. Je vérifie ensuite le TTL 74LS244 mais il fonctionne bien également. La dernière option réside dans le petit condensateur céramique en amont. Je le remplace et tout revient dans l’ordre.

Il était très probablement ‘fuiteux’ et laissait s’échapper juste assez de courant pour que l’état de l’input soit entre low et high (entre 1,4V et 2,4V environ).

Les inputs sont dorénavant opérationnels, mais par contre aucune trace de son… Vu que l’amplificateur est externe et que je ne l’ai pas sous la main, je comprend que je puisse ne pas avoir de son. Mais j’ai beau pousser à fond le potard de son de mon supergun et celui de l’ampli, je n’entend rien. De plus, à chaque démarrage, un inquiétant écran mentionnant la Sound Board apparaît…

Je commence par dumper les eproms sonores pour m’assurer que les données sont intègres. Malheureusement ce sont des 2532, de vieux modèles qui ne sont plus supportés par les programmateurs d’eproms depuis un moment. Je trouve cependant un schéma permettant de les faire passer pour des 2732 en recâblant certaines pattes. Je concocte un adaptateur un peu rustique mais qui me permet de lire les données des quatre eproms sonores.

Je compare avec les sources de Mame, tout est ok.

J’observe maintenant le CPU sonore. C’est un Z80 dont une patte est bien oxydée et cela ne laisse rien présager de bon. Vu que le plateau CPU utilise également un Z80, j’essaye tout simplement de les intervertir. Le jeu ne veut même plus booter… je remplace donc le CPU sonore par un autre pleinement fonctionnel, mais au final, toujours pas de son.

J’inspecte les composants intervenants dans la gestion du son avec ma sonde logique, et une chose me choque : le signal WR (write) est constamment high sur le CPU ainsi que le signal WE (write enable) sur la ram audio. Sans ordres d’écriture dans la RAM il ne peut pas y avoir de son. Je remplace cette RAM qui est elle aussi bien fatiguée physiquement.

Cette fois les signaux d’écriture pulsent comme il faut ! De surcroit je n’ai plus l’écran mentionnant la Sound Board au démarrage ; je suis donc confiant sur l’apparition du son cette fois… Mais non. Sceptique, je branche un petit adaptateur pour envoyer l’audio directement dans un casque et j’entend enfin le son !

Mais alors pourquoi ça ne fonctionnait pas sur mon supergun ? L’explication est que mon casque a une impédance de 32 ohms et les enceintes de mon supergun 8 ohms. Avoir une impédance trop forte ou trop faible implique que la membrane d’une enceinte ne vibre pas et ne produit donc pas de son. Je baisse simplement le son du supergun (augmentant ainsi l’impédance) pour entendre le son. Le jeu étant en stéréo, je teste les deux canaux et ils fonctionnent parfaitement.

Voilà, tout semble parfaitement fonctionner, il ne reste plus qu’à remonter les plaques ensembles et à tester la PCB dans la borne.

 

06 – Le premier démarrage

La PCB reliée aux différents faisceaux à l’intérieur de la machine, nous sommes fin prêt pour le premier test.

Le jeu démarre du premier coup ! Mission accomplie.

Nous sommes vraiment réjouis par ce résultat, si ce n’est qu’il nous est impossible de démarrer une partie, les deux boutons ‘Start’ ne donnant aucun signe de vie. Une fois le panel démonté et nous trouvons rapidement la cause : les lamelles créant le contact sont tout bonnement cassées.

Ayant vu bien pire, le problème est très vite résolu et nous profitons enfin du jeu ! Tous les inputs fonctionnent à merveille mais deux soucis subsistent : des petits sauts d’images horizontaux apparaissent et surtout, malgré le travail effectué, la borne reste muette.

Après inspection de l’ampli et vérification de son alimentation, nous découvrons que le pauvre ampli censé fonctionner en 12V recevait en fait 17.5V. Ouch !

C’est le bloc d’alimentation d’origine qui fournit cette tension et nous n’avons pas pensé à la vérifier avant. Les deux amplis MB3730 de la carte ayant un ‘absolute maximum power supply voltage’ de 18 volts, on les a peut être cramé…

On essaye de le brancher dans une borne Tron pour voir si à tout hasard il veut bien repartir, mais il ne donne aucun signe de vie…

 

07 – L’ampli son

Après quelques tests infructueux, nous remarquons une très forte perte de tension au sein du circuit d’amplification. Alors qu’il y a 12V en entrée, le courant chute à 1.7V quand on branche le circuit. Nous commençons par remplacer tous les condensateurs en se disant que l’un d’entre eux puisse fuiter (sauf les tantales qui ne servent qu’à filtrer le son en sortie).

Mais cela ne change rien. On craint de plus en plus la fin des amplificateurs. Pour s’en assurer nous les déssoudons pour tester le circuit sans eux.

On obtient cette fois une tension de 9,5V. C’est mieux mais pas suffisant… On remarque alors que les connecteurs en métal qui sont en bon état du côté extérieur sont couverts d’une fine couche de crasse/oxydation côté intérieur.

Nous nettoyons et remontons le tout sur une PCB de Tapper pour tester. L’ampli fonctionne implacablement : ces saletés suffisaient à faire résistance et empêchaient le courant de passer correctement.

Il est impensable de remettre l’ampli tel quel dans la borne sous peine de le voir partir en fumée. Il faut trouver un autre moyen de l’alimenter. Nous prenons alors simplement le 12V sur la nouvelle alimentation à découpage et les anciens câbles d’alimentation sont rangés dans un connecteur inutilisé.

Cette fois le son n’a d’autre choix que de retentir pour notre plus grand plaisir !

 

08 – Bezels et finitions esthétiques

Afin de cacher le vide autour du moniteur et d’assurer un noir complet, la borne dispose de trois bezels en cartons. Malheureusement ceux d’origine sont dans un état lamentable.

Quelques découpes de papier canson noir plus tard, les nouveaux caches sont prêts à être installés en lieu et place de leurs ainés.

Les décorations au dessus du panel sont quant à elles complètement décolorées. La faute revenant au néon à UV se trouvant juste derrière.

Au moment où nous écrivons ces lignes, aucune reproduction n’existe, nous essayons donc de lui redonner une seconde jeunesse à l’aide d’autocollants placés sur les zones colorées. Nous ajoutons la couleur à l’aide de feutres fluo pour raviver l’aspect coté joueur.

Le résultat est mitigé lorsque l’on observe d’un peu trop près. De plus, le reflet des autocollants apparaît dans le miroir situé sous le néon.

Une solution plus probante reste à trouver pour ce ‘détail’ esthétique.

La deuxième pièce ayant mal vieilli se situe au niveau du header. Nous utilisons la technique du ‘retrobright’ pour lui redonner un peu d’éclat. Mention spéciale pour notre installation ‘ghetto’ des lampes UV, mais le résultat est là.

 

09 – L’alimentation, partie 2/2

La borne est maintenant propre et fonctionnelle, mais subsiste le problème des sauts d’images. Alors qu’on essaye de trouver la cause de ce problème un petit bruit sourd résonne dans la borne, suivi d’un deuxième, puis d’un troisième… L’image finie par disparaitre tout bonnement. On ressort le multimètre… L’alimentation qui envoyait du 125V au début envoie maintenant du 135V à l’écran ! La platine n’a sûrement pas apprécié cette variation de tension inopinée.

On ressort l’écran pour tenter de réparer la platine. Après inspection de nombreux composants, nous constatons que trois diodes ne donnent plus signe de vie. On les remplace et l’écran repart, à notre plus grand soulagement.

Cette fois, nous nous penchons sérieusement sur l’alimentation de la borne. On étudie les plans pour comprendre son fonctionnement. Déjà, le fil coupé et relié sauvagement n’a rien à voir avec ce que l’on pensait (on suspectait une telle modification pour passer le transfo en 220V). Le bloc d’alimentation, bien que ressemblant comme deux gouttes d’eau à ses confrères américains, est en fait une alimentation prévue et fabriquée pour la France avec des transformateurs 220V. Et tout comme les américaines, il existe un sélecteur de tension en entrée pour assurer une tension en sortie la plus proche possible des 115V requis pour l’écran. Cette sélection se fait via un câble jumper rouge sur le connecteur qui comporte trois positions (105V, 115V et 125V aux US).

Cette alimentation a t elle servie dans une borne  ne comportant pas ce jumper, le propriétaire ayant ainsi modifié la borne pour que cela fonctionne ? Nous ne le saurons jamais. Toujours est-il que nous réalisons un nouveau câblage d’origine, et déplacons le jumper sur une valeur de tension d’entrée plus élevée (photo ci-dessus). Cette fois nous avons un joli 117V en sortie pour l’écran et du 12V pour le son. L’écran est remis en lieu et place, ainsi que les fils d’origine pour alimenter l’ampli son.

Cette modification était certes nécessaire mais elle ne nous dit pas pourquoi il y a eu une si grosse variation de tension. Nous vérifierons régulièrement la stabilité de cette alimentation.

On en profite pour fixer l’alimentation dans la borne. Le socle en métal qui permettait de la visser au fond étant absent, nous utilisons quatre équerres.

 

10 – Les sauts d’images

Ne reste plus qu’un dernier problème à régler : ces satanés sauts d’images horizontaux.

Le problème étant présent uniquement sur les stages avec deux ou trois plateformes, et seuls les sprites étant concernés, nous suspectant fortement la PCB. Connaissant le fort potentiel de faux-contacts des sockets sur ces plaques, nous décidons de remplacer tous les supports des rams et customs IC. Cela représente un sacré paquet de soudures.

Nous replaçons le jeu dans la borne et tout semble rentré dans l’ordre. Malheureusement, les sauts d’images ressurgissent. Le plus bizarre étant que le jeu fonctionne parfaitement sur supergun, et sur la borne moniteur sorti…

L’explication était au final relativement simple. Une idée ?
La conception de la borne implique un positionnement du moniteur à 45 degrés. En résulte une tension permanente du câble vidéo branché sur la platine…

Le connecteur du haut comprenant notamment les signaux de synchro bougeait petit à petit sous la traction du poids du câble. Les connecteurs étant de surcroit légèrement oxydés, la connection n’était pas franche. Nous nettoyons en profondeur les connecteurs mâles et femelles et plaçons un serre-câble pour soulager le tout.

Plus aucun saut d’image n’est apparu depuis. Le problème spécifique résultant de ce faux contact sur une synchro nous parait toujours aussi étrange, mais peu importe, la borne est maintenant pleinement fonctionnelle. Une partie dans de bonnes conditions s’impose enfin !

Discs of Tron is alive, mission accomplie !

 

BONUS STAGE – Sound board… again

Alors que l’on croit en avoir fini, une autre surprise nous attend. Après un test de stabilité du jeu de plusieurs heures en fonctionnement, le son commence à faire n’importe quoi. Chaque son est précédé d’un ‘tac’ et se termine par un autre ‘tac’, comme si quelqu’un branchait et débranchait l’enceinte sans cesse. De plus, certains samples sont déformés et difficilement écoutables… Retour donc de la PCB sur le plan de travail !

Nous suspectons rapidement un souci de type analogique. Le problème étant exactement le même sur les deux canaux du stéréo il devait s’agir d’un composant qui gérait les deux. Vu que nous n’avons pas d’oscilloscope à l’heure actuelle, il est impossible d’inspecter le circuit analogique du son, nous devons donc tâtonner. Nous commençons par remplacer l’ampli LM3900 ainsi que les condos en sortie mais rien ne change. Il ne reste plus que les bilateral switches 4016 comme suspects. Nous les dessoudons et testons avec le programmateur d’eprom mais ils semblent tous fonctionner…

Nous allons nous perdre dans les address bus et data bus mais pour vous la faire courte il s’agissait bien d’un 4016 défectueux.  En fait il marchait suffisamment bien pour que le programmateur le teste comme bon alors que ce n’était pas le cas. Ces programmateurs sont fait à la base pour du numérique et il semble que ce n’est pas le top pour tester de l’analogique. Tout est rentré dans l’ordre une fois le composant remplacé par un neuf.

Ouf ! Croisons les doigts pour que ce soit la dernière réparation sur cette plaque avant un moment !

Nous espérons que la lecture de ce ‘WIP’ complet vous a plu et que cet article sera utile pour d’autres possesseurs de cette incroyable machine.

À bientôt pour d’autres réparations périlleuses !