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

LA CULTURE DE LA PIÈCE

Au début vint le jeu et surtout le plaisir de jeu! En arcade, le plaisir de jeu vient par l’accomplissement: en allant le plus loin possible. On ne peut parler d’accomplissement sans parler de franchissement d’obstacles, d’entraînement et inévitablement d’échecs.

Dépasser ses propres performances, s’améliorer pour gagner en maîtrise, ça veut dire avoir été confronté à la frustration, à ce sentiment d’être désarmé. En un mot, avoir dû « recommencer ». Certains pourront y voir du sadomasochisme… tout à fait!

Personne ne finit un jeu d’arcade du premier coup. Tout simplement parce que ce n’est pas le but du développeur, et qu’un jeu se doit d’apporter de la nouveauté, de l’imprévue. Pour le développeur, votre mort est son fond de commerce; et il fera tout pour ça. Si vous mourrez rapidement : c’est NORMAL.


Personne ne naît superplayer! Nos dons génétiques n’interfèrent pas dans la strate du commun des mortels. Nous partons tous de la même base, certains iront juste plus loin. On aura tendance à penser qu’un joueur qui finit tous les jeux avec un crédit aura plus de satisfaction que nous qui ne passons pas le stage 2. Ceci est faux. Je dirais même qu’à lutter plus longtemps à passer un niveau on en savoure que mieux la victoire.


Mais taillons dans le gras directement: le plaisir ne viendra JAMAIS en pressant le bouton CONTINUE! Il ne viendra jamais car « continuer » ça veut dire zapper l’échec, accéder à la simplicité, la passivité, l’ennuie… et on ne prend pas de plaisir dans l’ennuie. On prend du plaisir à sortir de l’état de légume, mais pas à l’entretenir. C’est précisément ça que vous faite en cochant YES, vous jardinez votre état anémique. BRAVO!

C’est vrai qu’aujourd’hui les salles d’arcade ne sont plus à chaque coin de rue. Les jeux de bar, de café, de forains se sont invités dans nos intérieurs. Jouer à l’arcade sur une borne ou un supergun chez soi est devenu accessible à qui s’en donne les moyens. Toute une génération de frustrés de la pièce de 1, 2, 5 et 10 Francs peuvent jouer chez eux GRATOS. Et forcément, quand c’est gratuit, ça ne coûte rien de faire Continue.


On va faire quelques calculs simples, presque du niveau de « j’ai 5 carambars j’en retire 1 combien m’en reste-il? ».

Imaginez-vous, 1987, on vous a filé une pièce de 5Fr pour aller jouer au café, celle-ci vient s’ajouter à celle de 5Fr que vous aviez déjà piqué dans le porte-monnaie de vos parents.

Si vous ne voliez pas d’argent à vos parents c’est que vous n’aviez jamais joué à l’arcade!


Vous arrivez dans le bar, il y a un flipper, deux bornes d’arcade. Vous êtes jeune et con mais vous n’êtes pas bête, vous n’avez pas encore eu de cours d’Économie mais vous savez que vos deux pièces il va falloir en profiter.


Vous vous dirigez donc vers les bornes. Vous choisissez un jeu d’ « avion », l’autre est un jeu de foot. Vous êtes déjà dans la peau du pilote, savez déjà que vos crédits seront intégralement lâchés dans cette borne, il vous faudra au moins ces deux pièces pour mener à bien votre mission : car rappelons le, vous ne naissez pas avec la science du ALL CLEAR dès le premier crédit.

Vous sortez votre pièce, votre main tremble et ordonne une dernière fois à votre cerveau si ce choix est le bon. Après un bref coup d’oeil à droite et à gauche il vous donne son accord. Vous introduisez la pièce… elle revient! Une pièce de 5Fr dans l’emplacement pour 10Fr… Mettons ça sur le coup du stress. C’est la première fois que vous jouez à l’arcade après tout.

Ça y est, c’est parti, vous avez mis votre crédit, la musique vous tabasse les oreilles, vous sentez presque le vent, vous et le pilote. NON ! VOUS ÊTES le pilote!

Le premier crédit se termine. Pas mal, vous avez tenu 1min30, vous n’avez découvert qu’à la fin qu’il y avait un bouton pour tirer. Du coup, déconcentré, vous avez regardé vos mains pour savoir d’où ça venait, mettant par la même fin à votre dernière vie.

CONTINUE YES – NO ?

YES : PouAHhh c’est clairement mieux en tirant! Mais bon, bouger et tirer en même temps c’est quand même pas évident, d’autant que le jeu devient vraiment dur. Bref, vous mourrez au bout d’une nouvelle minute.

NO : Vous avez décidé de refaire une partie de ce jeu depuis le début. Ou peut-être n’avez vous tout simplement pas eu le temps de sortir la deuxième pièce de votre poche surpris par ce message « Continue ». C’est bon ce coup-ci vous avez compris : vous mourrez néanmoins au bout de deux minutes.

Pourquoi, dans le cas ou je mets un continue, je joue moins longtemps ?

Tout simplement car le jeu, de par sa nature d’être un jeu, devient forcément de plus en plus dur au fur et à mesure que vous progressez. Quel serait l’intérêt pour un exploitant de vous présenter un jeu complètement linéaire et répétitif qui vous laisserait jouer pendant vingt à quarante minutes avec un seul crédit ? Aucun ! Si on considère que tout le monde joue 1min30, il y a une différence entre gagner 5Fr et un joueur de 20min et 65Fr avec treize joueurs de 1min30.

Et si l’exploitant n’y gagne pas, il n’achètera pas le jeu et le développeur ne se fera pas d’argent. Tout est lié et au final on peut dire que tout le monde travail contre vous.

Si nous comptons bien, avec le continue vous auriez joué 1min30 plus une nouvelle minute. Nous arrivons à 2min30 au total. Chose indéniable, pendant ces 2min30, vous avez pris du plaisir !

Sans le Continue vous auriez joué la même 1min30 plus deux nouvelles minutes. Ce qui pousse à un total de 3min30.

Il est fort probable que vous seriez arrivé moins loin qu’en ayant mis une continue mais vous avez battu votre précédent record! Vous n’êtes pas mort au même endroit mais 30sec après. Et ça, ça vous file encore plus de plaisir.

Ce que je dis ce serait pareillement appliqué si vous aviez choisis le flipper et à mon grand regret également pour le jeu de foot. En ne mettant pas de continue vous gagnez à tous les points! Vous jouez plus longtemps, vous vous améliorez et donc fatalement vous prenez du plaisir à battre vos records.


Je ne suis pas le premier à parler du plaisir de ne pas « Continuer ». Mais il faut bien avouer, qu’en Occident, les pratiques de l’arcade ont évolués.

Si à l’époque nous pouvions dans une salle d’arcade regarder les autres jouer pour ne pas refaire les même erreurs, à la maison il devient très compliqué de trouver quelqu’un jouant mieux que nous. Avec les sites web, il est super simple de trouver une vidéo d’une personne qui retourne le jeu. Ce n’est pas les conditions du « live », car on sait que le type va finir le jeu en 1 crédit, et on sait qu’il ira plus loin que nous à un moment donné. Ceci dit cela ne remplace en rien l’expérience de voir de visu. En effet ces vidéos ne vous donnent pas toujours accès à une vidéo montrant les mains sur le panel. C’est cette démonstration qui dans la plupart des cas vous aurait aidé à visualisé l’action à l’écran ET l’action à réaliser.

Afin de garantir votre plaisir de jeu, ne regardez que par petites tranches ces vidéos. Sous entendu ne vous « spoiler » pas tout. Vous mourrez au bout de 2min, regardez jusqu’à 2min30 par exemple. Mais par pitié, si vous consentez à adopter les règles des jeux d’arcade… ne filez pas voir une vidéo au premier échec. Laissez-vous le temps d’essayer, de perdre, de recommencer. Certes ça sera moins rapide, mais votre plaisir n’en sera que décuplé.

J’ai quelques PCB d’arcade à la maison, et pour la majorité d’entre-elles je ne dépasse pas le niveau 2; et je n’ai pas non plus regardé sur internet la tête qu’avait le niveau 3. Tout ceci dans l’idée de prolonger le plaisir de la découverte, de recréer l’excitation que j’aurais pu avoir à la sortie du jeu.


On ne joue pas à un jeu d’arcade pour voir une cinématique de fin, on joue pour battre le jeu. Heureusement d’ailleurs car il n’y en a quasiment Jamais !


Tout simplement car une cinématique c’est du temps de perdu, et comme nous l’avons vu avec mes deux crédits : le temps, c’est de l’argent (et du plaisir).

Alors retirez les modes Free-play, réglez votre jeu sur CONTINUE OFF, rebranchez vos monnayeurs et redécouvrez vos jeux!

DIE AND RETRY as way of life!

T.P. aka Dracoel

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

COMMENT BIEN JOUER A… ATARI A.P.B. All Points Bulletin

Avant les épisodes canoniques de Gran Theft Auto que tout le monde connait il y avait les premiers épisodes en 2D. Mais bien avant il y avait déjà un précurseur qui avait tout inventé : A.P.B. Un univers loufoque et parodique dans un monde ouvert avec des criminels digne des meilleurs vignettes «les crados ».

En tant que policier, votre mission consiste à atteindre ou dépasser les objectifs quotidiens fixés en début de journée. Le joueur dirige la voiture de police en vue aérienne et dans toutes les directions, et vous avez à votre disposition sur la borne les commandes suivantes : un volant, une pédale d’accélérateur et deux boutons SIREN et FIRE (doublé pour gaucher ou droitier).

Vous devez donner un ou plusieurs coups de gyrophare (SIREN) sur les contrevenants pour les arrêter, voir leur tirer dessus pour gagner du temps (FIRE). Vous aurez tout une panoplie de délits tels que les « Litt’bugs » qui jettent des détritus, les « Dopers » qui fument de la marijuana ou les « Honkers » qui klaxonne à tout va. Et bien sûr un paquet de malfrats. Vous devrez aussi aider les « Helps » qui sont en panne ou les « Hitchers » qui font du stop. Une fois le quota journalier atteint, vous devez rentrer au commissariat pour mettre tout le monde au trou et refaire le plein d’essence.

Chaque faute tel que heurter ou tirer sur un véhicule innocent, être trop gentil au confessionnal, tomber en panne d’essence, heurter le décor, ne pas atteindre les objectifs journaliers, etc… vous coutera des points de DEMERITS. Vous perdez lorsque la jauge est pleine.

DAY #01 Vous commencez par un entrainement sur le parcours du commissariat-école. Vous devez utiliser votre gyrophare sur un maximum de plots (avec un minimum de deux) et ne pas les écraser, tout en faisant le tour du circuit. Lorsque vous avancez, une cible situé devant votre véhicule se déplace en suivant vos mouvements et votre allure. Habituez-vous à gérer l’interstice de cette cible qui s’adapte à vos accélérations pour bien maitriser le jeu.

DAY #02 Pour votre premier jour sur le terrain, vous devez signaler huit « Litters ». Vous reconnaitrez ces jeunes délinquants de mauvais gouts à bord de voitures roses. Tout au long du jeu, vous verrez que chaque infraction correspondra graphiquement à un seul type de véhicule.

DAY #03 Par la suite, des fugitifs aux infractions diverses apparaitront tous les deux jours. Pour les arrêter, vous devez les neutraliser. Votre premier suspect, Freddy Freak, se rendra après quelques coups de sirène ou si vous arrivez à le virer de la chaussée.

Le jeu a été conçu et programmé par Dave Theurer,
l’auteur des hits Missile Command et Tempest.
A.P.B a par la suite été adapté notamment
sur la console portable Atari Lynx.

LE CONFESS-O-METER

Après arrestation, vous devez rentrer au commissariat pour interrogatoire. Et il va être musclé ! Afin d’obtenir ses aveux avant que votre chef arrive, vous devez le secouer le plus rapidement possible en martelant alternativement les boutons FIRE et SIREN pour remplir la jauge de « Confess-O-Meter ».

Vous perdez lorsque la jauge DEMERITS est pleine. Chaque faute tel que heurter ou tirer sur un véhicule innocent, être trop gentil au confessionnal, tomber en panne d’essence, heurter le décor, ne pas atteindre les objectifs journaliers, etc… vous coutera un point.

Astuce #1 : Vous pouvez obtenir des Tickets bonus en secourant les automobilistes en panne et les autostoppeurs.

Astuce #2 : Vous pouvez arrêter les criminels plus rapidement si vous avez le pistolet en tapotant à la fois la sirène et le pistolet en même temps.

LES LIEUX CLÉS A NE PAS NÉGLIGER

SHOP & GAS STATION > Passez à travers ces bâtiments pour effectuer des mises à jour de votre véhicule (armure, radar, armes, freins, etc…). Vous pouvez acheter un item un par jour, à valider en appuyant avec un bouton lorsque vous passez dessus.

GAS STATION > Vous pouvez remplir votre réservoir à la station essence, ou profiter des dépanneuses pour vous faire tracter quelques instants (et ainsi économiser du gasoil, mais au détriment du temps).

HIGHWAY > Vous pouvez maintenir la sirène enfoncée pour vous dégager le passage lorsque vous voulez tracer mais du coup les contrevenants ne commettront plus d’infractions.

DONUT SHOP > Passez à travers la boutique pour gagner un Extra time. Vous pouvez aussi ramasser des donuts aux petits distributeurs le long de la route.

PLUS D’EXCUSES MAINTENANT, OSEZ JOUER À CETTE PÉPITE !

O.V. aka olisan & T.M. aka Zamoth

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

LEXIQUE ARCADE

Afin de bien débuter dans l’arcade et de vous y retrouver parmi le jargon et les termes techniques , nous vous proposons un peu de vocabulaire Arcade ! Après cela, vous n’aurez plus d’excuses pour être dans le gaz et surtout, vous pourrez vous la jouer en employant des mots savants pour déstabiliser l’adversaire.

C comme… CPO
CPO est l’abréviation de Control Panel Overlay. Le Control Panel ou panneau de contrôle (parfois aussi appelé « bandeau » chez les papys exploitants) est la partie constituant l’ensemble des moyens de contrôle de la borne : joysticks, boutons, manche à balai, ou encore volant, etc… Le Control Panel Overlay est la décoration (souvent un autocollant) du pupitre de contrôle d’une borne. En général, l’Overlay de bon goût est en accord avec le thème de la borne (couleurs, dessins…).

C comme… Capkit
Il s’agit d’un kit de condensateurs destiné à redonner une première jeunesse aux platines de nos chers écrans. Il contient tous les condensateurs électrolytiques à remplacer. L’opération de changement est un peu longue mais donne la plupart du temps de très bons résultats, sans pour autant être la solution miracle à tout les maux. Il est parfois nécessaire de se confectionner soit même le Capkit pour son écran car tous ne sont pas disponibles tout faits et les différentes révisions de platine font qu’il manque toujours quelques condensateurs…

D comme… Dédiée
Se dit d’une borne d’arcade destinée à un seul et unique jeu. Elle possède donc un décor particulier en rapport avec le thème du jeu, porte le nom du jeu, et peut même parfois posséder des contrôles non standards, ou un format électronique ou technique unique.

D comme… Dip switch
Petit composant, le D.I.P. « Dual In-line Package » comporte plusieurs petits interrupteurs. Il permet sur certaines PCB de configurer mécaniquement les réglages du jeu, comme par exemple de régler les crédits, la difficulté, le nombre de vies, etc…

F comme… Flyer
Carton ou papier publicitaire, souvent chiadé, vantant les performances et la qualité d’un produit… On y trouve souvent au recto une photo ou une illustration du produit ainsi qu’un titre accrocheur aux promesses de revenus mirobolants; et au verso les caractéristiques techniques…

G comme… GDROM
Format d’une partie des jeux Naomi de SEGA, et par extension nom du lecteur associé. Il s’apparente au format CDROM mais celui-ci ayant la particularité d’avoir une capacité de 1Go (au lieu de 650 Mo pour un CD-ROM). Autre particularité, les données sont écrites de l’extérieur vers l’intérieur.

H comme… Hitbox
Appelé aussi masque de collision, il désigne une zone spécifique d’un Sprite que le jeu va identifier comme point de contact. Ce point correspond à la zone valant collision avec un Sprite adverse ou les tirs ennemis par exemple. Le masque de collision couvrait généralement l’intégralité du vaisseau du joueur dans les années 80. Afin de faciliter l’esquive et d’accroitre le nombre de tirs ennemis, les développeurs l’ont par la suite considérablement diminué afin d’accroitre chez le joueur la sensation d’être un as du Game.

J comme… Jamma
JAMMA signifie « Japan Amusement Machinery Manufacturers Association ». C’est une norme de connexion utilisée pour brancher les systèmes de jeux dans les bornes d’arcade. Grâce à ce standard, une borne pouvait accueillir différents jeux, ce qui était rarement le cas auparavant, du fait des nombreuses différences entre les connectiques existantes. Par extension, il désigne le connecteur lui-même.

M comme… Marquee
Le Marquee (appelé aussi light box) est l’enseigne d’une borne, située en haut de celle-ci. Elle est souvent lumineuse, éclairée par derrière, et comporte soit le nom du jeu jouable dans la machine, soit la marque du fabricant.

R comme… Roadtrip
Fait de partir d’un point A pour rejoindre un point B dans l’espoir de rafler du matos arcade à l’arrivée… Vous serez à priori accompagné de votre fidèle C15, magnifique utilitaire taillé pour l’aventure dont les dimensions sont adaptées au transport de bornes d’arcade et son confort qui laisse sérieusement à désirer. Obligatoirement accompagné de photos pour valider l’exploit, un Roadtrip est souvent synonyme d’aventure.

O.V. aka Olisan & G.C. aka MrRiddler

COIN-OP TABLE

Vous avez peut-être vu passer quelques images sur le net, il semblerait qu’un restaurant aux couleurs de Coin-op Legacy vienne d’ouvrir sur Paris…

Et bien oui ! Thomas, membre fondateur et actuel vice-président de l’association Coin-op Legacy ouvre un restaurant en plein cœur de la capitale ! Intitulé Coin-op Table, ce lieu a pour vocation de faire cohabiter cuisine de qualité et jeux Arcade. De quoi réjouir bon nombre d’entre nous !

Niveau cuisine, vous aurez le choix entre des plats du jour franco-taïwanais, des salades, des planches de charcuterie/fromage, des desserts, etc. Tout est préparé sur place avec des ingrédients de qualité. Quant au boissons, les bons vins sont à l’honneur ainsi que des bubbles tea fait avec les ingrédients originaux de Taïwan.

Dans le fond du restaurant c’est le coin jeu. Quelques bornes permettent de s’amuser dans une ambiance cosy. Tout est en free-play, le deal est bien sûr de consommer quelque chose sur place pour pouvoir profiter de cet espace. Les jeux tourneront régulièrement, et il y aura sûrement des soirées thématiques qui s’organiseront. Coin-op Table reste avant tout un restaurant, il sera demandé de rester calme afin de ne pas déranger les personnes qui mangent et le voisinage.

Enfin, précisons que ce restaurant est le projet personnel d’un membre de l’association et n’est nullement une branche commerciale de Coin-op Legacy. L’association continue de manière totalement indépendante et Thomas continue d’ailleurs d’y participer. Maintenant on ne vous cache pas que les membres s’y retrouveront régulièrement pour passer de bons moments, et tout le monde est convié bien sûr !

En espérant vous y voir nombreux.

 

Photos © Nicolas Garel


Adresse : 17 Rue de Maubeuge, 75009 Paris


Facebook : @coinoptable

Instagram : @coinoptable

Contact : [email protected]

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

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

PARIS GAMES WEEK 2017

Cette année encore, COIN-OP LEGACY sera présent sur Paris Games Week, le plus grand salon français dédié au Jeu Vidéo !

« Les bornes d’Arcade ont peut-être disparu de notre quotidien, mais elles n’en restent pas moins un pan majeur du jeu vidéo. Véritable vitrine technologique à l’époque, les jeux d’Arcade sont bien souvent des exemples de jouabilité et ont inventé beaucoup de mécanismes encore utilisés de nos jours »

COIN-OP LEGACY est une association qui a pour but de préserver et promouvoir le patrimoine vidéo-ludique Arcade. Cela passe notamment par l’acquisition et la restauration de bornes d’Arcade que nous présentons ensuite lors d’événements publics ou privés.

Au Hall 1 avec un stand composé de véritables bornes génériques et dédiées 100% originales, l’équipe de COIN-OP LEGACY vous proposera de venir découvrir ou redécouvrir en famille et entre amis les sensations Arcade !

Plus d’informations sur le site officiel du salon.

Venez sur notre stand pour nous rencontrer, discuter, découvrir ce patrimoine quasi disparu et jouer aux classiques de l’Arcade !

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

Arcade Preservation & More

X