Gamoover

[move]Le staff Gamoover vous souhaite la bienvenue ;)

[WIP] Midway Gun Fight (1975)

Démarré par f4brice, Jeudi 21 Janvier 2021, 22:16:49 PM

Michel Maeva

Citation de: f4brice le Vendredi 05 Février 2021, 20:19:09 PM
Désolé, c'était évident pour moi alors je ne l'ai pas expliqué.
Les composants "AM25S10" sont exotiques et obsolètes, ce qui les rend pas très facile à acheter aujourd'hui à prix raisonnable.
L'idée, c'est de dessouder les 4 composants lorsque l'un ou plusieurs des quatre sont morts.
Ils sont remplacés par cette carte :


La carte reprend l'emplacement et l'espacement des 4 composants pour s'y fixer à leur place. Elle les substitue par des composants plus faciles à trouver.
Elle a besoin de 8 composants 74HCT151 qui ne sont ni obsolètes ni exotiques.

Merci f4brice pour les explications  :-*
Sauvegardons notre patrimoine arcade !!!
Président du Celtic Arcade Museum (Musée de l'arcade à Quimperlé (29))
https://www.facebook.com/CelticArcadeMuseum

Franzy2121

Je n'y connais pas grand chose à ces PCB Bally.
Ces shifters font-ils la même chose que le MB14241 sur la Space Invaders?
(je n'ai pas vérifié : à tous les coups, il y a un post hyper détaillé de Little Rabbit là-dessus  :D)

Little_Rabbit

Salut,

Citation de: Franzy2121 le Samedi 06 Février 2021, 21:43:56 PM
Ces shifters font-ils la même chose que le MB14241 sur la Space Invaders?
(je n'ai pas vérifié : à tous les coups, il y a un post hyper détaillé de Little Rabbit là-dessus  :D)

Sur le coup, je n'ai pas compris ta question, et j'avoue tout ignorer de ce MB14241 :).

Du coup j'ai rapidement Googlé, et les deux premiers liens sont très intéressants :

- un site qui décrit ce MB14241 comme historiquement le 1er shifter ou assistant "graphique" (GPU :-\) => mais je ne comprenais pas ce qu'ils voulaient dire, car tous les schémas et PCB que j'ai pu voir de Sea Wolf, Gun Fight ou Space Invaders, n'utilisent pas de MB14241 ! :-\

- et ici quelqu'un qui a fabriqué un substitut au MB14241 => là c'est très intéressant car sa substitution de MB14241 est en effet exactement le même shifter que celui que F4brice a reproduit, avec la différence que celui de F4brice s'enfiche sur un PCB sans MB14241, et celui du lien ci-dessus sur un PCB qui utilise un MB14241 !

J'en déduis que Taito dans les révisions de ses PCB a dû optimiser cette partie, en utilisant un composant intégré qu'est ce MB14241, quand Midway a continué à utiliser des composants discrets :).

J'ai aussi un PCB Taito de Space Invaders Part II à dépanner (issu de la borne récupérée dans ce roadtrip), il sera intéressant que je regarde dessus comment est fait son shifter!

Merci Franzy2121 pour cette tranche d'histoire du jeu vidéo que j'ignorais :).

Cela dit, qualifier ce MB14241 de premier GPU me semble aller un peu vite en besogne :D. J'aurais plutôt dit que c'est le 1er chip à combler les carences d'un processeur Intel, qui dans le cas du 8080 en matière de décalage et rotation de bits ne propose que des instructions mal foutues ;).

A+
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room

Franzy2121

#51
J'ai une PCB Space Invaders Cocktail Deluxe ou les 8 74157 sont effectivement remplacés par ce MB14241.

Voilà les 2 types (images eBay)

CLASSIQUE


MB14241


D'où ma question naïve sur les shifters de Gun Fight car la petite carte designée par f4brice m'a mis la puce à l'oreille.
:)
Et qui m'intéresse fortement car mon MB14241 est tombé en miettes quand j'ai regardé ma carte.

Little_Rabbit

Salut,

Ah c'est intéressant ! Midway a donc également exploité ce composant !

Je n'en ai jamais vu : 6 PCB Midway de cette génération me sont passés entre les mains (3 Gun Fight et 3 Space Invaders), et aucun d'entre eux n'avait ce circuit Fujitsu MB14241 ! :)

Citation de: Little_Rabbit le Samedi 06 Février 2021, 22:19:03 PM
J'ai aussi un PCB Taito de Space Invaders Part II à dépanner (issu de la borne récupérée dans ce roadtrip), il sera intéressant que je regarde dessus comment est fait son shifter!

J'ai jeté un œil à mon PCB Taito Space Invaders Part II, et à ma grande surprise, là aussi, point de MB14241, mais encore des 74151 x 8 :).





@Franzy2121 : tu devrais contacter le gars qui avait designé le substitut de MB14241, peut-être lui reste-t-il des PCB, ou peut-être pourrait-il te filer le Gerber de son projet pour faire tirer une nouvelle série d'une dizaine de plaques :).

A+
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room

f4brice

Bonsoir.

Aujourd'hui le facteur a déposé une petite enveloppe dans ma boîte à lettre :


Elle contient 2 CPU clones de l'Intel 8080 :


C'est la classe, c'est vraiment écrit en cyrillique sur la puce.  :-*
Je ne reconnais que "CCCP" qui se traduit en "URSS"...
Comme mon russe est un peu rouillé faute de l'exercer régulièrement, je tente un Gogole translate avec le mode caméra du téléphone portable...
C'est Gogole translate qui incruste la traduction en "réalité augmentée" :


J'adore !!!

Il est temps de tester le clone de technologie made in URSS :


Bon, ben c' est nickel tout ça !
Les 2 CPU fonctionnent parfaitement.
J'ai maintenant 2 CPU en spare qui sont en plus très atypiques !

Little_Rabbit

Salut,

C'est cool que tes 8080 Ruskoff fonctionnent bien  ^-^.

Tu as de la chance, en plus d'être électroniquement et logiquement viables, ils ont l'air en bonne forme physique !

Sur les deux que j'avais commandés, j'en avais un qui était un peu estropié !...



Il avait les pattes de travers, et surtout une plus courte que les autres !  :-[

Mais pour autant il fonctionnait parfaitement 8).

J'aimerais bien connaître l'histoire derrière ces clones de 8080 fabriqués derrière le rideau de fer !...

Étaient-ils fabriqués sous licence ? S'agissait-il de copies issues de reverse engineering ? Ou bien carrément issues d'espionnage industriel ? :)

A+
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room

f4brice

Bonsoir.

Il est temps de faire avancer ce WIP un petit peu.

Vendredi 19/02, le facteur a glissé cette lettre dans ma boîte à lettres :


Elle contient ça :


Je commençais à m'inquiéter pour cette commande.  :'(
Elle a été passée le 31/01 via ibé à un vendeur situé en Pologne, qui a été très rapide à faire l'envoi.
Elle aura mis quand même presque 3 semaines pour arriver...  >:D

Il s'agit de 5 composants "DS2510DC" fabriqués par "RFT MIKROELEKTRONIK", une usine située en ex Allemagne de l'Est !
Je les ai achetés dans l'espoir qu'ils soient effectivement le substitut fonctionnel des AM25S10 de chez AMD.
En tout cas, ils étaient présentés comme tels.

J'en installe un en B3 à la place du composant AMD que j'ai identifié comme KO :


En même temps, mon aide de camp (qui est toujours dans la place) a demandé à réparer une carte électronique, et a tenu à la choisir elle-même.
Elle a pris dans ma caisse de cartes donneuses d'organes une carte d'éval inconnue mise au rebus et récupérée par mes soins.
Elle a aussi choisi le "fer à souder" qu'elle voulait (un petit tournevis Philips) :


Elle ballade le tournevis un peu partout, le retire et souffle doucement. Je me demande qui elle peut bien imiter ?  :D
De mon côté, je démarre le PCB avec la Spectro-ROM de test...
Pas d'étincelles, pas de flammes, pas de fumée...
Au moment du test du shifter, je n'ai pas de tableau de chiffres, mais l'indication "SHIFTERS OK" :


Vouééééééé !  :-)=
C'est tout bon. Le test des shifters passe sans problème !  8)
L'échange est donc tout à fait valable !

L'aide de camp a elle aussi réparé sa carte :


À suivre : la prochaine étape, c'est la partie audio du PCB.
Cette partie n'est pas numérique, mais analogique.
L'audio de Gun Fight est biphonique : 2 hauts-parleurs (1 pour chaque joueur) mais pas stéréo.
Chaque côté audio peut sortir 2 sons :

  • tir
  • joueur touché

f4brice

Bonsoir.

Encore une mise à jour de ce WIP.
Maintenant que la partie "shifter" est opérationnelle, je m'attaque à la partie audio du PCB.

Pour ce jeu, l'audio est relativement pauvre :


En fait, il n'existe que 2 sons différents "tir" et "joueur touché", et ce pour chacun des 2 joueurs.
Les sons sont démarrés depuis la partie CPU, mais tout est fait en électronique analogique ensuite dans la partie "Sound Generator".
Plus tard, les concepteurs de PCB utiliseront des puces spécifiques "PSG" Programmable Sound Generator, qui produisent ces sons si spécifiques (et que j'adore).
Mais on n'en est pas encore là...

Déjà, je complète mon banc de test pour alimenter les 2 amplis audio, et brancher 2 hauts-parleurs :


J'alimente les amplis audio en 12V, au lieu de 16,5V d'après les schémas Midway.
J'ai regardé le datasheet des amplis, et ils acceptent du 12V.

Ensuite, je modifie la Spectro-ROM de test pour lui faire jouer en boucle les 4 sons possibles.
Je ne connais pas le port utilisé pour commander les sons.
Certes je pourrais regarder le driver Mame, mais le schéma électronique me donne l'info :


Il faut que le signal mauve soit actif (entrée CLOCK du latch 74175 en F6).
Ce signal mauve est la sortie d'une porte AND.
Il faut donc que le signal vert AND le signal rouge soient actifs.
Le signal vert s'active quand on écrit sur un port (peu importe lequel).
Le signal rouge correspond au bit d'adresse A8 du CPU.
En conclusion, il suffit d'écrire sur n'importe quel port impair. Le port 0x01 fera l'affaire.

Maintenant, quelles valeurs écrire ?
Il faut regarder comment est pilotée la partie analogique, et de progresser en marche arrière :


Si je veux le son "L. SHOT", je dois avoir la sortie #1 (pin #2) du 7442 en G6 active (signal rouge).
Pour que cette sortie #1 soit active, je dois avoir en entrée du 7442 A=1 B=0 C=0 D=0 (signaux verts).
Ces signaux verts sont issus des sorties complémentées du latch 74175 en F6 (signaux magenta).
Je dois donc présenter en entrée du latch D4=0 D5=1 D6=1 D7=1.

En résumé, je dois compter de 1 à 4 sur le nibble de poids fort, et envoyer dans le port 0x01 le complément.
Voilà ce que ça donne en assembleur :


Je commence avec 0x10 pour le 1er son.
Je fais un XOR avec la constante 0xFF pour avoir le complément.
La valeur est écrite dans le port 0x01 => le son doit être joué.
J'écris 0xFF dans le port 0x01 => le son s'arrête ?
Je continue ainsi avec les autres valeurs.
Arrivé à 0x50, c'est la fin de la boucle.

Il est temps de tester...
Je me rends compte que tout ce qui concerne le joueur "LEFT" fonctionne très bien.
Par contre, je n'ai absolument aucun son pour le joueur "RIGHT".
C'est une situation qui me facilite la vie.
Les circuits "LEFT" et "RIGHT" sont totalement identiques.
Je peux donc comparer à l'oscillo "LEFT" et "RIGHT" un peu partout et tenter de trouver là où ça coince.

Finalement, je ne trouve pas grandes différences à part quelques pouillèmes assez peu significatifs.
Je décide de changer les aiguillages, et d'échanger les signaux LEFT / RIGHT un peu avant les amplis audio :


Maintenant, j'entends le son correct dans le haut-parleur "LEFT" quand on commande les sons "RIGHT".
J'en conclus que toute la partie analogique LEFT et RIGHT est OK jusqu'à ce point.

J'avance encore un peu plus le point de permutation, cette fois exactement au niveau des inputs des amplis audio :




Toujours le même résultat.
L'ampli audio "RIGHT" semble donc en panne.
Je démonte le dissipateur thermique qui est vissé sur les 2 amplis audios :


Vu qu'ils sont sur support, j'en profite pour les permuter.
C'est confirmé, maintenant j'ai la partie "RIGHT" qui fonctionne, mais plus la partie "LEFT".
L'ampli HS est un TAA-621.
Il se trouve, par je ne sais quel hasard improbable, que j'ai ça en stock...


Je n'ai que 4 références de composants TAA<kekchose>, et le TAA621 en fait partie :


Ouch, il y a un problème, les dissipateurs intégrés à la puce n'ont pas la même forme :


Un coup d'œil sur le datasheet et je comprends :


Midway utilise un TAA621A11 (à gauche), tandis que j'ai dans mon stock un TAA621AX1 (à droite).
D'ailleurs, si on regarde de près le schéma Midway, c'est bien précisé :


Il est indiqué aussi "LM354", mais je n'ai pas réussi à trouver le datasheet de celui-là...
Pour le moment, j'installe mon TAA621 bossu à la place de son collègue kaput :


C'est bon, tout fonctionne.
J'ai les sons corrects à la fois pour LEFT et pour RIGHT.
C'était bien l'ampli audio qui était mort, et en plus mon composant est OK.
Reste à trouver un TAA621A11...

Je vais faire un tour sur ibé...


Bon ben voilà : 3,00 € le composant + 1,08 € de frais de port.
Y'a rien à dire, c'est plus qu'honnête !
Hop ! J'ai commandé les trois disponibles. Comme ça j'aurai un peu de stock.

À suivre : changement de l'ampli audio, test du jeu complet avec les ROM d'origine