Gamoover

[move]Vous aimez le couscous-boulettes, le chorizo, la Force 4, et la mimolette ? Alors soyez les bienvenus sur Gamoover ! [/move]

SEGA Gee Bee

Démarré par f4brice, Mercredi 09 Juin 2010, 08:58:54 AM

f4brice

Bonjour.

J'ai commencé à m'occuper un peu de la borne Gee Bee récupérée durant ce road-trip.

Le plus urgent, c'est le nettoyage.
Ca commence par l'extérieur de la borne...

Avant :




Après :




Les sides n'étaient pas très sales, mais maintenant ils apparaissent comme neufs !

Le gros du boulot de nettoyage est dans le fond de la borne.
Ca pue l'urine de chat, le bois est gonflé par endroit et il y a même des cristaux dûs à l'évaporation de la pisse.
Je prends mon courage à 2 mains et je nettoie le tout...


Vous avez de la chance que gamoo ne soit pas en odorama !  :(x

Je suis même obligé de nettoyer les fils qui sont imbibés de pisse :




Il va falloir que je traite le fond de la borne avec un produit spécial anti humidité/champignons.
Si quelqu'un a un nom à me conseiller, je suis preneur !

Ayant fini cette corvée, je peux attaquer la partie sympa.  :)

Le tube fluo derrière le marquee a été vampirisé :




Vu qu'il me fallait un tube + son support + le starter + le ballast, j'ai acheté une daube complète 1er prix en grande surface spécialisée.
C'est de la truerie et on en a pour son argent (6,15 € l'ensemble).
Mais vu que c'est planqué derrière la vitre du marquee, c'est largement suffisant.

Et voilà :


Il reste encore un peu de nettoyage à faire au niveau du tube.

J'ai déjà jeté un oeil sur le PCB.
C'est un PCB original de chez Namco :




Il est assez simple et surtout j'ai son schéma électronique :
http://arcarc.xmission.com/PDF_Arcade_Manuals_and_Schematics/Gee Bee.pdf

J'ai déjà examiné le schéma et ce qui est particulier sur ce PCB, c'est qu'il est à mi-chemin entre un PCB purement TTL et un vrai PCB avec le CPU qui fait tout.
En effet, j'ai constaté par exemple que la balle qui se déplace est générée par de l'électronique TTL qui lui est dédiée.

Le dépannage n'aura pas lieu immédiatement, j'ai un autre WIP à finir avant.
Les éléments de la borne en question sont dispersés dans mon garage et je veux finir le WIP pour remonter la borne et la ranger à coté des bornes "ayé tout est fini".


À suivre...  ;)

Wil2000

Intéressant ce PCB mi-TTL mi-CPU, c'était une étape de transition pendant l'abandon des circuits uniquement composés de TTL?

zebassprophet

y' pas un condo de cramé en haut du pcb?
ou c'est un reflet

Wapata

En effet, il y a eu quelque chose au niveau du peigne. Je pense à un composant à côté du condo moi.
Hihihi, dépannage à l'oeuil !

ps: chouette borne, le jeu est bien lui aussi ?

gc339

Bonjour.

Citation de: f4brice le Mercredi 09 Juin 2010, 08:58:54 AM
Il va falloir que je traite le fond de la borne avec un produit spécial anti humidité/champignons.
Si quelqu'un a un nom à me conseiller, je suis preneur !

Je crois que la meilleure solution c'est encore de remplacer le fond de la borne par une planche de latté ou de contreplaqué d'épaisseur adéquate car l'odeur est entrée dans les particules de bois.
Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard





f4brice

Bonjour.

Citation de: Wil2000 le Mercredi 09 Juin 2010, 09:58:49 AM
Intéressant ce PCB mi-TTL mi-CPU, c'était une étape de transition pendant l'abandon des circuits uniquement composés de TTL?

A la fin des années 1970, les PCB purement TTL ont montré leurs limites en terme de complexité de conception et de nombre de composants.
La fiabilité d'un PCB dépend - entre autre - du nombre de composants (mais c'est loin d'être le seul facteur).
Plus il y a de composants, moins il est fiable car le risque est plus élevé qu'un de ces composants tombe en panne.
A cette même période, les CPU sont devenu moins chers donc plus intéressants qu'une floppée de composants TTL.
Mais les ingénieurs en électronique ont conservé leurs habitudes de conception, et certaines fonctionnalités de jeu sont beaucoup plus facile à réaliser avec une dizaine de composants TTL plutot qu'avec du logiciel complexe.
Il faut penser aussi qu'à cette époque, les EPROM ou les grosses PROM devaient coûter encore cher.

Donc je ne suis pas surpris de voir un PCB qui mélange à la fois du TTL et à la fois du "CPU".

Citation de: zebassprophet le Mercredi 09 Juin 2010, 09:59:45 AM
y' pas un condo de cramé en haut du pcb?
ou c'est un reflet

Une résistance a chauffé et le condo a bronzé.
Les 2 sont OK.

Citation de: Wapata le Mercredi 09 Juin 2010, 10:10:07 AM
En effet, il y a eu quelque chose au niveau du peigne. Je pense à un composant à côté du condo moi.
Hihihi, dépannage à l'oeuil !
ps: chouette borne, le jeu est bien lui aussi ?

Deux diodes de redressement ont été soudées près du connecteur de bord de carte.
L'alim utilisée par SEGA est un poil différente de celle de Namco.
Le jeu en lui-même est moyen. C'est un casse-brique assez dur pour ce que j'ai pu tester avec Mame.

Citation de: gc339 le Mercredi 09 Juin 2010, 10:12:11 AM
Je crois que la meilleure solution c'est encore de remplacer le fond de la borne par une planche de latté ou de contreplaqué d'épaisseur adéquate car l'odeur est entrée dans les particules de bois.

Ouch !
Grosse opération, car le fond de la borne est complètement collé et ne doit pas avoir envie de se laisser retirer facilement.
Je me pose la question d'appliquer un produit durciceur/anti-fongique/miraculeux (rayer les mentions inutiles), puis d'appliquer 5 ou 6 couches de vernis...


supercarotte

T'as essayé la méthode du bol de lait au fond de la borne ?
Le lait absorbe bien les odeurs, c'est assez efficace il me semble.
Bornes: Out Run DX, Super Hang On DX, ThunderBlade DX, Enduro Racer DX, RoadBlasters DX, Space Invaders, Discs of Tron, SuperSprint, Hang On, Pacmania, Rolling Thunder, Marble Madness, Blasteroids, Super Off Road, Rampage, NBA Jam TE, Operation Thunderbolt, Power Drift, Street Fighter, twin Sega Rally, CrazyTaxi, Harley Davidson + Aero City, Jaleco Pony // Cocktails : Missile Command, Galaxian, Nintendo DK // Flip : Creature FTBL, Revenge from Mars, Funhouse, The Machine BOP, Elvira ATPM, Swords of Fury, Xenon

Bal

#7
tsss nooobs !!

http://fr.hg.eu/wizard-shop/index/id/28422/productId/5588

http://fr.hg.eu/wizard-shop/index/productId/5686/id/28425/HG_contre_les_mauvaises_odeurs

HG y'a rien de tel, ca décape tout, ca rattrape tout, jamais vu des produits aussi efficaces, pour vous dire, j'ai failli l'utiliser sur un pote qui pue la charogne, mais j'ai eu peur qu'il disparaisse...

Bref, HG, l'essayer, c'est l'adopter, et y'a pas mal de produits bien spécifiques sur le site, suffit de chercher, après ca se trouve pas en boulangerie mais bon, si t'as un magasin de bricolage dans le coin (leroy merlin, brico ou autre) en général ils ont/peuvent avoir !

Bref, que du bonheur !



f4brice

Citation de: supercarotte le Vendredi 11 Juin 2010, 13:00:26 PM
T'as essayé la méthode du bol de lait au fond de la borne ?
Le lait attire bien les chats, c'est assez efficace il me semble.

:-((  ;)

gc339

Bonjour.

Citation de: f4brice le Vendredi 11 Juin 2010, 12:53:01 PM
Ouch !
Grosse opération, car le fond de la borne est complètement collé et ne doit pas avoir envie de se laisser retirer facilement.

T'es pas obligé d'enlever complètement le fond. Il suffit de le découper à la scie sauteuse tout en laissant un rebord de un à deux centimètre(s) par rapport aux parois internes de la borne. La nouvelle planche sera collée/vissée à l'intérieur de la borne sur ce rebord.
Faudra peut être coller des planchettes sous la planche au niveau de la fixation des vérins ou des pieds afin de rattraper l'épaisseur disparue de l'ancien fond .
Le repos, c'est fait pour les jeunes. Ils ont toute la vie devant eux. J. Gabin/M. Audiard





Bal

Sérieux, un bon coup de fébreze, au pire un coup de javel et hop, ca va rouler... :p



f4brice

#11
Bonjour.

Voici une mise à jour de ce WIP.

En attendant de trouver une solution pour la pisse de chat, je me suis penché sur le PCB.
Mais pour pouvoir investiguer dans des conditions optimales, j'ai besoin d'être installé à mon bureau.
Ca me permet d'être bien installé et d'avoir à portée de clic tout document nécessaire.

Le problème, c'est que ce PCB Namco a une alim un peu spéciale : il a besoin de 2 alims distinctes en alternatif. Le redressement et la régulation de tension sont sur le PCB.
Je pourrais quand même alimenter en continu le PCB, mais il a besoin d'une alim de 16 V ~ et je n'ai pas ça.
Finalement, le plus simple est de sortir le câblage de la borne pour l'intaller à mon bureau.
Ca nécesssite la mise en place de quelques connecteurs :


Vive la 3e main !


Connecteur en place


J'ai sorti l'alim et le câblage ; j'ai refait un câble 220V
et j'ai adapté un connecteur pour la sortie vidéo

Le PCB peut prendre place sur son lit d'examen :


Après les vérifications habituelles (et importantes), je constate que les 3 alims intégrées au PCB fonctionnent parfaitement (+5V, -5V, +12V).

Je peux commencer les investigations détaillées.
Finalement, la 1ère panne est triviale à trouver.
La PROM qui contient le code du jeu a un problème : elle n'est plus capable d'assurer un niveau correct sur son bus de données.
Ce problème peut être dû à un autre composant qui ne se déselectionne pas, mais ce n'est pas le cas ici.
La PROM étant sur support, j'ai facile de la retirer et de mettre en place un résistance de "pull-up" puis de "pull-down" pour vérifier que le bus est bien libre quand la PROM est sélectionnée.


En haut : maman fait du gâteau le signal /CS de la PROM
En bas : papa fait du chocolat un des bits de données de la PROM

Grosso-modo, le carré du signal du bas ne monte que de 2,5 graduations alors qu'il en faudra environ 4.

La PROM en question est une NEC D2332C. Impossible de trouver sa datasheet...
Heureusement, j'ai l'affectation de ses broches sur le manuel du jeu.
C'est une PROM de 32 kbits (4096 x 8 bits) dont le brochage est très proche d'une EPROM 2732.
Ayant le dump de la PROM, je décide de la remplacer par une EPROM.

Je flashe une 2732 avec le dump de la PROM :


105 secondes pour flasher 4096 octets, c'est abusé !

Ensuite, je lance la procédure de substitution.
Sur les 24 broches, il y en a 21 qui tombent pile au bon endroit.
Pour les 3 autres, tel le colonel Hannibal Smith, j'ai un plan :


En bas : la PROM malade
En haut : la remplacante déjà flashée


Les 3 broches qui ne tombent pas comme il faut sont volontairement pliées pour ne pas faire contact sur le support tulipe


Du fil à wrapper est soudé pour relier correctement les 3 broches concernées.
Note : sur la photo, c'est une EPROM Fujitsu alors qu'avant c'était une Hitachi. J'ai soupçonné le composant Hitachi d'être malade...

Bon, maintenant il est temps de tester...


Il y a un peu de mieux.

  • je n'ai plus les gros blocs à l'écran
  • j'ai des carrés noirs là où il devrait y avoir les logos Gremlin et un élément du jeu
  • des points blancs placés sur une ligne horizontale se baladent de haut en bas

Je soupconne les points blancs d'être la balle du jeu.
Le placement vertical semble bon. Le placement horizontal déconne certainement.
Quand au fond, je devrai m'intéresser à la RAM vidéo ainsi à la CGROM (character generator ROM).

Heureusement que j'ai les schémas électroniques du PCB...


À suivre...

f4brice

Bonsoir.

Suite de ce WIP.

La dernière fois, j'avais réussi à changer la bouillie de blocs en un truc moins moche, mais tout aussi buggé.
Avec un peu d'imagination, on pouvait voir un ersatz de balle vaguement gigoter à l'écran...
Je me suis donc intéressé cette fois à la gestion de cette balle.

Grâce aux schémas électroniques, j'identifie immédiatement la partie du PCB qui gère l'affichage de la balle.
Il y a 2 registres 8 bits 74LS273, chacun contrôlé par un signal /BHD et /BVD.
On va dire que ça veut dire "Ball Horizontal/Vertical Data" ou un truc dans ce sens.
Le registre de position verticale est comparé par rapport au numéro de scan-line et génère un simple signal qui va bloquer ou laisser passer le signal en provenance de la partie horizontale.
Le registre horizontal, lui, est chargé dans 2 compteurs 74LS161 à chaque début de ligne.
Les compteurs sont clockés à 6 MHz (fréquence pixel) et le tout génère le signal horizontal de la balle mais avec un retard égal à la valeur chargée dans les compteurs.
C'est assez simple dans son principe et très efficace par raport à une gestion lourde de l'affichage qui pourrait être faite par le CPU...

A l'oscillo, je détecte assez vite qu'un des compteurs de la gestion de la partie horizontale déconne plein pot.
Coup de chance, il est sur un support :


Compteur 74LS161 malade

Grâce à mon habitude d'acheter à chaque fois quelques composants de plus que mon besoin, j'ai ce composant en stock chez moi...

Le changement s'est fait en 5 secondes chrono !  ;)


Nouveau composant en place

Allez, on teste le résultat :


Et la balle fut !

Bon, maintenant j'ai la balle qui se déplace...
Des fois elle disparait (?). Des fois elle réapparait (!). Des fois je suis obligé de reseter le PCB pour qu'elle revienne.
Bon, ça ne respire pas trop la fiabilité pour le moment.

Je vais m'attaquer maintenant au générateur de caractères.
Ce truc, c'est l'ancêtre des "tilemap" (lien Wiki).
Avec les sprites, je crois que les tilemap font parties des principes de programmation les plus utilisés dans l'histoire des jeux vidéos...

Le principe est extrêmement simple et puissant.
Soit une image de jeu vidéo de 320 x 200 par exemple.
Elle peut être divisée arbitrairement en petits blocs de 8 x 8 par exemple. Dans ce cas, j'ai 40 x 25 blocs à l'écran, soit en tout 1000 blocs.
Imaginons que je dispose d'une armada de petits blocs différents, stockés dans des EPROMs, chacun constituant un petit bout d'un décor.
Si je numérote tous mes blocs de 1 à N, je peux décrire un décor de fond uniquement avec les numéros des blocs à afficher :
1ère ligne : bloc n°3, puis bloc n°7, etc jusqu'au 40° bloc de la 1ère ligne
2e ligne : même principe.
Et ainsi de suite jusqu'à la 25e ligne de blocs...

Voilà, c'est ça le principe d'une tilemap. On peut ajouter à ça des infos genre le perso peut passer à travers ou pas, etc...

Ce PCB Gee Bee utilise une tilemap pour son décor de fond.
Le numéro de chaque bloc est stocké dans une RAM. Cet index permet d'aller chercher dans une EPROM (appelée pour l'occasion "CGROM" = character generator ROM) les graphismes d'un bloc.
Les données en sortie de la ROM servent à générer le signal vidéo.

C'est ce qu'on voit quand un PCB déconne et qu'il y a plein de blocs à l'écran.
La présence de ces blocs indique déjà que le générateur basé sur une tilemap fonctionne !

Avantages :

  • ultra simple électroniquement
  • ultra simple à utiliser d'un point de vue logiciel

Inconvénients :

  • graphismes limités au nombre de blocs présents dans la ROM

Sur le PCB Gee Bee, la réalisation de la tilemap est assez simple.
Grâce à l'oscillo, je vois que la ROM est bien accédée et sort bien quelque chose.
Je n'ai pas la preuve que ce quelque chose soit correct, mais je devrais au moins avoir mieux qu'un écran gris.

J'examine la circuiterie en aval de l'EPROM. Il y a 2 registres à décalage clockés à la fréquence pixel.
Bingo ! Le 1er déconne complètement et sort sur une de ses sorties directement la même chose que la clock en entrée. Ca explique donc pourquoi j'ai du gris à l'écran !


Registre à décalage mourru


Dessoudage


Le remplaçant

Je crois que je peux à nouveau re-tester le PCB...


=:))


Bon, ce n'est pas fini...
Le jeu déconne à mort.
Il ne démarre que sur une certaine configuration de DIP-switches (?), la balle fait vraiment n'imp, des fois l'image clignote à mort, il ne crédite pas, etc...


A suivre !

Baddy

Comme toujours : Clair, précis, et passionant  ^-


MOOAAAAAARRRRRR !

speedsterharry

Superbe, une fois de plus. La petite touche "papy qui raconte comment étaient faits les jeux vidéos dans les années 80", je suis méga fan  ^-

PS: Bizarre que tu n'aies pas placé un support sous le 74xx194. Si jamais tu en as besoin un jour, fais moi signe, j'en ai quelques sacs.

f4brice

Citation de: speedsterharry le Mardi 15 Juin 2010, 06:33:42 AM
Superbe, une fois de plus. La petite touche "papy qui raconte comment étaient faits les jeux vidéos dans les années 80", je suis méga fan  ^-

Merci de m'appeler "papy" !  :-((  ;)

Citation de: speedsterharry le Mardi 15 Juin 2010, 06:33:42 AMPS: Bizarre que tu n'aies pas placé un support sous le 74xx194. Si jamais tu en as besoin un jour, fais moi signe, j'en ai quelques sacs.

J'ai aussi du stock, mais quand je suis sûr que le composant que je retire est en panne et que celui que je vais souder est bon (j'ai un testeur de composants TTL), je ne mets pas de support.
Je trouve aussi que ça défigure les vieux PCB !  :-[
Quand j'aurai fini les réparations, je vais dessouder les 2 supports blancs qu'on voit sur une photo et souder directement les composants sur le PCB.
Je reconnais à 100% que c'est du pignolage et j'assume.  :D

Je vous ai fait une vidéo qui montre que le PCB n'est pas encore réparé :