Gamoover

Forums " WORKSHOP" => Moniteurs et platines, écrans & Lcd, rétroprojecteurs => Discussion démarrée par: f4brice le Jeudi 31 Décembre 2009, 16:57:03 pm

Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Jeudi 31 Décembre 2009, 16:57:03 pm
Bonjour.

Voici le WIP de réparation de ma borne vectorielle Sega Space Ship.
J'ai acheté cette borne le 29 novembre 2009 au sieur Wanou. Le topic du road-trip est là (http://www.gamoover.net/Forums/index.php?topic=20455.0).

0. Mises à jour

31/12/2009 => création

1. Recherche de documentation

C'est carrément la misère absolue pour trouver un milli-octet de doc sur le net à propos de cette borne.
Il n'y a que très peu d'informations :

Je n'ai trouvé aucune information sur :

J'ai quand même une feuille A3, même si les informations qu'elle contient auraient été faciles à retrouver :

(http://img1.uplood.fr/free/a4uw_20091129_100312_6717_img.jpg) (http://www.uplood.fr)

Il s'agit du plan de câblage de la borne, sur lequel est présent le schéma électronique de la partie alimentation.
C'est mieux que rien, mais ce n'est pas un document clé !

2. Nettoyage, état des lieux

Dès que la borne est arrivée dans mon sous-sol, je me suis dépéché d'aspirer toutes les arraignées qui ont fait le voyage avec la borne, avant qu'elles ne colonisent mon sous-sol.
J'en ai assez comme ça sans en apporter d'autres !

(http://img1.uplood.fr/free/ph9p_20091128_222748_6707_img.jpg) (http://www.uplood.fr)

Celle-là n'est plus vivante, mais c'était un beau spécimen :

(http://img1.uplood.fr/free/u79c_20091128_224250_6709_img.jpg) (http://www.uplood.fr)

Ce n'est pas la première fois que je trouve ça au fond d'une borne, mais celle-la aussi a reçu la visite de rongeurs :

(http://img1.uplood.fr/free/iqr7_20091229_224348_6811_img.jpg) (http://www.uplood.fr)

Il semble que le rongeur de gauche ait moins bien mangé que celui/ceux de droite !  :D

La borne souffre d'un manque, pour moi qui suis tout seul pour la déplacer : elle n'a absolument aucune roulette...
Ce n'est pas un problème : j'ai réalisé un petit support avec 4 roulettes :

(http://img1.uplood.fr/free/86fm_20091205_120914_6727_img.jpg) (http://www.uplood.fr)

Après un coup de baguette magique, la borne est posée sur son tapis roulant :

(http://img1.uplood.fr/free/n5ll_20091205_121550_6729_img.jpg) (http://www.uplood.fr)

Ca ne parait pas, mais ce fut une prise de tête monstrueuse pour la placer seul sur le support.
Le support ne demande qu'à rouler (il est prévu pour) et la borne possède 4 pieds qui doivent venir se placer dans les 4 angles du support.

Pfiouuuuu, ayé :

(http://img1.uplood.fr/free/9h9b_20091205_121600_6730_img.jpg) (http://www.uplood.fr)

Lorsque j'avais acheté la borne, Wanou m'avait signalé que le tube était marqué en son centre, qu'il y avait comme une goute d'étain.
Je pensais que le spot avait méchamment marqué le tube en son centre, faute de mouvement demandé par un PCB en panne.

J'ai retiré la vitre et finalement il en est autrement :

(http://img1.uplood.fr/free/s0mo_20091229_194554_6802_img.jpg) (http://www.uplood.fr)

Il s'agit simplement d'un genre de gomette décorative collée sur le tube.
D'une part il est impossible qu'elle soit arrivée là pile au centre par hasard, et d'autre part, je m'autorise à penser qu'on peut deviner comme un truc identique sur l'unique photo existante de cette borne.
Je décide donc de ne pas retirer ce truc pour le moment.
Ayant passé l'aspirateur sur le tube, on dirait qu'il est sale :

(http://img1.uplood.fr/free/5fs7_20091229_195106_6803_img.jpg) (http://www.uplood.fr)

Petit test :

(http://img1.uplood.fr/free/ah6x_20091229_195212_6804_img.jpg) (http://www.uplood.fr)

Hum, je pense que l'écran n'a pas été nettoyé depuis 32 ans...

Mieux :

(http://img1.uplood.fr/free/zqlu_20091229_201732_6805_img.jpg) (http://www.uplood.fr)

Voila, la borne a été nettoyée.
Je vais pouvoir passer aux choses sérieuses sans me dégeulasser les pattes à chaque fois.

3. Examen de l'écran

L'écran est un écran monochrome X-Y fabriqué par SEGA :

(http://img1.uplood.fr/free/i614_20091128_230510_6715_img.jpg) (http://www.uplood.fr)

La référence "96076X-P" est totalement inconnue...
Le numéro de série comporte 7 chiffres ! Je ne pense pas que le 1er écran sorti de ce type ait porté le numéro de série 0000001 !

Un écran "X-Y" dispose d'un principe de fonctionnement radicalement différent d'un écran standard.

Avec un écran standard, le PCB génère un signal qui représente la luminosité de chaque ligne (ou des composantes RVB), en partant du haut.
L'électronique de l'écran se synchronise à la fois sur la fréquence ligne et trame du PCB pour générer les courants des bobines de déviation ligne et trame.
L'image est balayée ligne par ligne de manière linéaire.
La fréquence ligne est utilisée en interne pour faire fonctionner la THT.

Avec un écran X-Y, c'est le PCB qui peut déplacer le spot à l'écran où bon lui semble pour dessiner des formes géométriques.
L'électronique de l'écran intègre 2 gros amplis pour piloter correctement les bobines de déviation à partir des signaux X et Y envoyés par le PCB.
Le PCB peut aussi contrôler la luminosité du spot pour faire un saut à l'écran sans laisser de trait visible ou pour apporter à l'image des dégradés de luminosité.
Pour la génération de la THT, il existe un oscillateur libre qui n'est pas synchronisé avec le PCB car c'est inutile.

En lisant la doc de certains écrans X-Y (Electrochrome), j'ai vu qu'il existait des protections pour ne pas brûler le tube si le PCB ne fait pas déplacer le spot.
Sur l'écran Electrochrome en question, la luminosité du spot est forcée à 0 en cas d'absence de mouvement demandé par le PCB.

Sur cet écran SEGA, j'ignore si une telle protection existe, et si elle existe comment elle procède.


(http://img1.uplood.fr/free/f02v_20091128_230348_6712_img.jpg) (http://www.uplood.fr)

Sur la vue d'ensemble, on peut constater :

J'ai été un peu surpris dans un 1er temps de trouver autant de fils entre l'écran et le PCB.
Mais finalement, vue la présence de 2 de ces composants :

(http://img1.uplood.fr/free/ng8i_20091230_170246_6820_img.jpg) (http://www.uplood.fr)

Il s'agit d'un convertisseur numérique => analogique sur 12 bits.
Il y en a 2, donc ça fait déjà 24 fils...
Je pense (en fait, j'en suis sûr) que l'interface de pilotage de l'écran est de type parallèle, probablement TTL.
En gros, le PCB ne fournit pas 2 tensions (par exemple de -10V à +10V) pour déplacer le spot en X et en Y, mais 2 mots de 12 bits.
J'en déduis une information sur l'image du jeu (image totalement inconnue).
Le PCB peut placer le spot en X à 212 = 4096 endroits différents, et même chose en Y.
Du coup, on peut dire que la "résolution" de l'image est de 4096 x 4096.
Pas mal pour un jeu de 1978, non ?

4. Examen du PCB

Voici le PCB du jeu :

(http://img1.uplood.fr/free/hw5l_20091229_184220_6795_img.jpg) (http://www.uplood.fr)

La partie gauche du PCB (avec les 2 transistors TO3 sur radiateur) est la partie audio.
Pour le moment, je la mets de coté. Son tour viendra bien plus tard.

Il y a 4 zones intéressantes, que j'ai entouré en rouge.

La zone 1, c'est 3 composants de RAM à la con de chez à la con de marque NEC.
Pourquoi à la con ? Il s'agit de puces référence µPD2101AL-2, 256 mots de 4 bits.
Cette puce a la particularité d'avoir des broches séparées pour les données en entrée et en sortie !

(http://img1.uplood.fr/free/df5o_a.jpg) (http://www.uplood.fr)

Les puces de la zone 2 sont des ROM : 1024 mots de 4 bits par composant.

(pas de photo)

Les puces de la zone 3 ont une fonction assez particulière : Il s'agit de composants 74LS181. Chacun est une "ALU" (Arthimetic Logical Unit) de 4 bits.
En gros, c'est un composant capable de faire l'opération que l'on veut (il en existe 16) sur 2 mots de 4 bits.
Je suppose que SEGA a eu besoin d'une fonction logique spéciale que ce composant sait faire.
C'est une bonne idée car ça évite l'utilisation d'un composant type PAL/GAL et on reste dans du composant générique.

(http://img1.uplood.fr/free/cv93_b.jpg) (http://www.uplood.fr)

Et enfin, les 3 composants de la zone 4 sont réliés à l'écran.
Il s'agit de 74LS377. Ce sont des latches 8 bits.
En gros, ils assurent que les 2 mots de 12 bits envoyés à l'écran pour déplacer le spot sont stables pendant que le PCB calcule le mot suivant.

Ca me confirme que l'entrée de l'écran est TTL.

(http://img1.uplood.fr/free/xotr_c.jpg) (http://www.uplood.fr)

Avant d'aller plus loin, je constate qu'il y a des résidus oranges de soudure à de nombreux endroits.
Ormis l'aspect estétique moche, ce n'est pas gênant sauf que ça peut masquer une soudure décollée ou oxydée.

(http://img1.uplood.fr/free/k3xi_20091229_184548_6797_img.jpg) (http://www.uplood.fr)

Je verse quelques gouttes d'alcool à brûler, puis je frotte avec une vieille brosse à dent.

(http://img1.uplood.fr/free/tqzg_20091229_184716_6798_img.jpg) (http://www.uplood.fr)

Les résidus sont dilués dans l'alcool, qu'il faut récupérer dans un chiffon avant évaporation (sinon, y'a re-dé-po-si-tion !).

Et voilà :

(http://img1.uplood.fr/free/6wpp_20091229_191536_6800_img.jpg) (http://www.uplood.fr)

5. Test de l'alim

L'alim est assez triviale.
Il y a un transfo 220V => 110V, puis un 2e transfo qui donne diverses tensions.
Ensuite, y'a du gros pont de diode, du gros condo et un régulateur 7805 pour le 5V du PCB.
Il y a un relais de protection anti-surchauffe ; en cas de surchauffe, le relais vient ni plus ni moins couper l'alim de l'écran !

(http://img1.uplood.fr/free/svk5_20091229_224200_6806_img.jpg) (http://www.uplood.fr)

Détail sur la partie régulation du +5 V :

(http://img1.uplood.fr/free/4owu_20091229_232248_6817_img.jpg) (http://www.uplood.fr)

Le radiateur est de travers ; je ne sais pas si c'est moi qui l'ai bougé ou pas.
S'pas bien grave de toute façon.

Le PCB est retiré, le connecteur d'alim de l'écran est débranché.
Il est temps de mettre sous tension pour tester dans un 1er temps la partie alimentation.

Je teste dans un 1er temps les alimentations à vide (sans charge).
Je re-contrôlerai les alims lors d'un essai futur avec l'écran et le PCB branché.

Le +5V du PCB est bon :

(http://img1.uplood.fr/free/tfky_20091229_232112_6816_img.jpg) (http://www.uplood.fr)

Je vérifie également toutes les autres alimentations, bonnes elles aussi.

Le néon derrière le marquee fonctionne lui aussi :

(http://img1.uplood.fr/free/gh7c_20091229_231354_6813_img.jpg) (http://www.uplood.fr)

Par contre la petite merde à gauche du néon (le ballast) émet un grésillement insuportable.
Je débranche le marquee qui est inutile pour mes tests (merci Sega pour les nombreux connecteurs).

(http://img1.uplood.fr/free/aiu6_20091229_231412_6815_img.jpg) (http://www.uplood.fr)

6. Envoie l'pâté, Simone !

Bon, on a bien fait joujou avec l'aspirateur, toussa, il est temps de brancher...
Finalement, à part un gros bruit dans le haut-parleur (que je n'ai pas pu prendre en photo), il ne se passe rien. Aucune image à l'écran.
Je note que la base du tube est orangée, mais comme pour ma Shark Jaws (http://www.gamoover.net/Forums/index.php?topic=20226.msg292020#msg292020), ça n'indique pas grand chose.

Je m'en doutais un peu, il est temps de sortir l'artillerie.

Voici le champ de bataille :

(http://img1.uplood.fr/free/aha9_20091230_213248_6826_img.jpg) (http://www.uplood.fr)

Je me suis installé ainsi car je n'ai pas de connecteur 80 broches qui irait sur ce PCB.
Je pense que je vais récupérer un vieux connecteur JAMMA que je vais scier et je pourrai ainsi travailler sur mon établi à une hauteur normale, et avec mon banc de test.

Sur une feuille de papier, j'ai recopié le pinout de composants clés que je veux examiner.

(http://img1.uplood.fr/free/g3if_20091230_213316_6827_img.jpg) (http://www.uplood.fr)

Je teste les sorties des 3 puces de latch du PCB, normalement reliées à l'écran. Effectivement, il y que d'alle.
Par contre, là ou c'est intéressant, c'est qu'en entrée des latches, il y a de la vie :

(http://img1.uplood.fr/free/8wg1_20091230_213410_6828_img.jpg) (http://www.uplood.fr)

Voici le signal qui active les sorties du latch :

(http://img1.uplood.fr/free/n57a_20091230_213506_6829_img.jpg) (http://www.uplood.fr)

Il est moche, parasité à mort. C'est une 1ère panne.
En suivant des yeux la piste, je me rends compte que ce signal est généré par... une ROM !!!
J'ai l'impression que les électroniciens SEGA ne se sont pas fait iéch' du tout dans la conception. Ils génèrent certains signaux particuliers à partir d'une ROM.
C'est un peu comme du papier à musique perforé : on déroule et ça se démerde.

Argl, ça c'est une mauvaise nouvelle, ça veut dire que j'ai une (ou plusieurs) ROM de morte(s).
La ROM en question est IC138, que je dessoude :

(http://img1.uplood.fr/free/d23g_20091230_230412_6831_img.jpg) (http://www.uplood.fr)

Après avoir mis un support, je remets la ROM en place tout en isolant la broche concernée.
Peut-être est-ce un autre composant qui superpose du parasitage (IC73 et IC75 sont concernés)...
Malheureusement non, c'est bien la ROM qui semble malade.

D'après mes tests, j'ai plusieurs bits sur plusieurs ROM qui sont malades :


Argl... Enfer et putréfaction de chacal barbare...  :'(
Sans le contenu de ces ROM, la réparation s'avère... diffficile...

Que faire ?

Je pourrais adapter et flasher une EPROM, mais encore faut-il savoir quoi mettre dedans !  :'(

Peut-être que si j'isole chaque ROM sur une plaque d'essai et que je la lis lentement, j'ai une chance de trouver la valeur des bits qui me manquent ?
Peut-être qu'avec l'âge, l'accès est plus lent et que certains bits n'ont pas le temps de "sortir" avant que l'adresse de lecture ne change déjà...
J'ai essayé de givrer la ROM malade, mais sans aucun succès.


À suivre...

Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Jeudi 31 Décembre 2009, 17:07:37 pm
raisairvaide
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: zebassprophet le Jeudi 31 Décembre 2009, 17:33:38 pm
up : et bien ca commence bien quand même
:)
j'adore voir tes wip
je comprend pas grand chose
mais on sens que tu maitrise le sujet, ca ... rassure un peu :D
bonne chance, chuis curieux de voir ca tourner :)
bye
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: funkycochise le Jeudi 31 Décembre 2009, 17:45:01 pm
çà va être coton pour pecho le contenu des roms.
Une fois de plus, merci pour ce récit haletant.
Bon courage  ^-
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: wanou le Jeudi 31 Décembre 2009, 18:33:33 pm
Impressionnant  :o  décidément s'il y a bien quelqu'un de la réanimer c'est bien toi.

Pour les roms c'est une sacrée bad news.

Espérons qu'un miracle arrive  :-*
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gottlieb le Jeudi 31 Décembre 2009, 18:47:44 pm
Superbe ce debut de wip ^-^ je voudrais bien avoir ce niveau en electronique cela supprimerais bien des galères avec certaine pcb >:D
:-* vivement la suite
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: madyoyo le Vendredi 01 Janvier 2010, 18:38:22 pm
question con: les specialistes du dump de carte arcade, genre the guru ne poutraient t'il pas t'aider à au moins essayer de dumper les roms de la carte, aprés il restera à retrouver un moyen de les remplacer par des eproms plus recentes.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: Wil2000 le Vendredi 01 Janvier 2010, 20:29:48 pm
Comme le dit Funky, c'est déjà tendu de trouver de la doc sur la borne, alors le contenu des roms c'est carrément hardos à dégotter, mais on commence à s'y faire avec toi, ça semble foutu dans la 1ère moitié de l'épisode, puis la A-Team (Arcade Team) nous sort 3 rouleaux de papier essuie-tout, deux planches et un bout de ficelle et ça t'en fait un delta plane avec un lance roquettes intégré  :D
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Vendredi 01 Janvier 2010, 20:59:46 pm
Bonjour.

Les puces de la zone 3 ont une fonction assez particulière : Il s'agit de composants 74LS181. Chacun est une "ALU" (Arthimetic Logical Unit) de 4 bits.
En gros, c'est un composant capable de faire l'opération que l'on veut (il en existe 16) sur 2 mots de 4 bits.
Je suppose que SEGA a eu besoin d'une fonction logique spéciale que ce composant sait faire.
C'est une bonne idée car ça évite l'utilisation d'un composant type PAL/GAL et on reste dans du composant générique.

Sega a plutôt constitué, sur cette carte, un calculateur dédié à base de ce qui était disponible à l'époque, les premiers µP comme le 8080 ou le 6800 ne devaient pas encore être disponibles ou devaient coûter horriblement cher à l'époque.
En principe le noyau du calculateur devrait posséder ses propres PROM's fusibles dédiées à son micro-programme interne réalisant le séquencement nécessaire à chaque instruction lue dans un autre groupe de PROM's fusibles qui constitueraient la mémoire programme proprement dite.
Le micro-programme séquence au 1er niveau les échanges entre les ALU's, les registres de travail internes au noyau, la mémoire extérieure au noyau, les entrées/sorties ...
La mémoire programme contient les instructions qui sont lues et exécutées par le noyau du calculateur.

Et enfin, les 3 composants de la zone 4 sont réliés à l'écran.
Il s'agit de 74LS377. Ce sont des latches 8 bits.
En gros, ils assurent que les 2 mots de 12 bits envoyés à l'écran pour déplacer le spot sont stables pendant que le PCB calcule le mot suivant.

Les 3 ALU's de 4 bits, ainsi que ces 3 registres semblent montrer que le calculateur de la carte a une largeur de bus de 12 bits.

Avant d'aller plus loin, je constate qu'il y a des résidus oranges de soudure à de nombreux endroits.

Ne serait-ce pas plutôt la signature du remplacement de certains boîtiers lors d'une précédente tentative de réparation de la carte ?

Il est moche, parasité à mort. C'est une 1ère panne.
En suivant des yeux la piste, je me rends compte que ce signal est généré par... une ROM !!!

Ces ROM's sont des mémoires à sorties 3 états, le signal est peut-être multiplexé avec d'autres sorties à 3 états provenant d'autres boîtiers ? Est-ce que la mémoire en question est validée en permanence : broche CE/ (15) au niveau logique 0 permanent ?

Il est moche, parasité à mort. C'est une 1ère panne.


Peut-être qu'avec l'âge, l'accès est plus lent et que certains bits n'ont pas le temps de "sortir" avant que l'adresse de lecture ne change déjà...
J'ai essayé de givrer la ROM malade, mais sans aucun succès.

Ce sont des PROM's à fusibles, elles sont bien plus rapides en temps d'accès que des EPROM's même plus récentes.

Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Samedi 02 Janvier 2010, 02:23:01 am

Bonsoir.

Sega a plutôt constitué, sur cette carte, un calculateur dédié à base de ce qui était disponible à l'époque
[couic]

C'est intéressant comme idée ! :)
Je détaille plus bas comment les PROMs sont organisées.

Ne serait-ce pas plutôt la signature du remplacement de certains boîtiers lors d'une précédente tentative de réparation de la carte ?

C'est bien possible. Toutes les PROMs avaient des traces de soudures, ainsi que quelques boîtiers 74LSxxx.
J'ai noté que les 3 boîtiers 74LS377 avaient eux aussi des traces de soudures.

Ces ROM's sont des mémoires à sorties 3 états, le signal est peut-être multiplexé avec d'autres sorties à 3 états provenant d'autres boîtiers ? Est-ce que la mémoire en question est validée en permanence : broche CE/ (15) au niveau logique 0 permanent ?

Pour la PROMs concernée, son /CS est toujours à l'état bas : le boîtier est sélectionné en permanence.
Le bit que j'accuse d'être malade est relié à :

  • A quel endroit as tu raccordé la masse de ton oscilloscope ? Il est préférable de la raccorder au plus près du connecteur de la carte.
  • As tu remplacé les condensateurs chimiques de la carte et ceux de l'alimentation, est-ce que le +5 volts est propre quand il est zieuté à l'oscilloscope.

Bien évidemment, j'ai fait l'erreur de connecter la masse de mon oscillo "loin" de la carte...
Elle était pile à la sortie de l'alim, au niveau du départ des fils qui vont au connecteur du PCB.

Dans l'alim, il y a 3 monstrueux condensateurs que j'appelle "bombones".

Sur la carte, il n'y a que très peu de condensateurs chimiques. Il y en a exactement 4 :
Aucun n'a été changé pour le moment, mais je le ferai.

Ce sont des PROM's à fusibles, elles sont bien plus rapides en temps d'accès que des EPROM's même plus récentes.

La maigre doc que j'ai pu trouver pour les PROM MMI 6331-1J indique :
L'un des deux est le temps d'accès (adress valid to output valid), et effectivement 30 ou 50 ns, c'est très rapide.
Une EPROM classique est plutot dans les 80 ns, je crois.


Voici la suite des investigations sur le PCB.


J'ai compté exactement 14 boîtiers de PROMs :

(http://img1.uplood.fr/free/rjhf_20091229_184220_6795_img.jpg) (http://www.uplood.fr)

Les 6 PROMs des zones 1, 2 et 3 ont toutes leur broche /CS reliée en permanance à la masse. Ces boîtiers sont donc sélectionnés en permanence.
Mon hypothèse est qu'ils ne contiennent pas de code/gfx au sens habituel du terme, mais n fonctions de transfert logiques à m arguments (n étant le nombre de bits du bus de données de la PROM, et m le nombre de bits du bus d'adresse)

Les 8 PROMs de la zone 4 travaillent différement. Elles ont toutes 2 broches "chip select" nommées /CS0 et /CS1.
Pour toutes, /CS1 est à la masse en permanence.
En revance /CS0 est dynamique.

(http://img1.uplood.fr/free/5ixf_20091229_184230_6796_img.jpg) (http://www.uplood.fr)

Chaque PROM faisant 1024 mots de 4 bits, j'ai l'impression que ces 8 PROMs forment l'équivallent de 2 PROMS de 1024 mots de 16 bits.


J'utilise maintenant mon banc de test pour dépanner le PCB.
Je ne connecte que la masse et le + 5 V TTL.
Il manque le +25 V / -25 V mais ces 2 tensions ne servent que pour la partie analogique audio du PCB.
Pour le moment, je n'investigue pas de ce coté.

Sur les conseils de GC339, j'ai examiné la tension d'alimentation à différents endroits sur le PCB, d'une part quand il était alimenté par la borne SEGA, et d'autre part quand il est alimenté par l'alim à découpage de mon banc de test.
Dans les 2 cas, les mesures sont très semblables.
Tous les oscillogrammes suivants ont été relevés avec le PCB connecté au banc de test.

Voici la composante alternative de VCC mesurée à 2 endroits différents :

(http://img1.uplood.fr/free/9xc3_ic138_vcc.png) (http://www.uplood.fr)(http://img1.uplood.fr/free/sv5u_ic029_vcc.png) (http://www.uplood.fr)
broche 16 de IC138
(la PROM que j'accuse d'être malade)
broche 16 de IC29
(un 74LS151 éloigné de IC138)

Dans un cas, j'ai plus de 800 mV d'amplitude de parasites.
Dans l'autre cas, j'ai environ 300 mV d'amplitude de parasites

Voici maintenant des bits du bus de données de la PROM accusée d'être malade :

(http://img1.uplood.fr/free/wq5z_ic138_d0.png) (http://www.uplood.fr)(http://img1.uplood.fr/free/6hli_ic138_d2.png) (http://www.uplood.fr)
bit D0
bit D2

(http://img1.uplood.fr/free/4eqy_ic138_d3.png) (http://www.uplood.fr)(http://img1.uplood.fr/free/vh0r_ic138_d6.png) (http://www.uplood.fr)
bit D3
bit D6

Pour moi, les bits D0 et D6 sont bons, mais les bits D2 et D3 seraient malades.
Mais vue la sale tronche du +5 V reçu par la PROM, peut-être qu'avec un condo céramique et un chimique entre masse et VCC au plus près de la PROM, les choses pourraient s'améliorer ?

J'ai aussi réussi a "dumper" le contenu de IC138 : c'est une PROM de 32 mots de 8 bits.  8)
Pour ça, je me suis réalisé un petit montage où les 8 bits de données de la PROM commandent chacun un transistor NPN, lequel transistor commande une LED.
Pour dérouler les adresses sur le bus, j'utilise un strap sur le bit de poids fort, 3 interrupteurs sur les bits intermédiaires et un bouton poussoir pour le bit de poids faible :

(http://img1.uplood.fr/free/yeni_20100101_210534_6840_img.jpg) (http://www.uplood.fr)

(http://img1.uplood.fr/free/znas_20100101_210546_6841_img.jpg) (http://www.uplood.fr)

Pour chacune des 25 = 32 adresses possibles, je note dans un tableau l'état des 8 sorties.

Je pense avoir confirmé le fait que la PROM réalise en fait 8 fonctions logiques à 5 arguments.
En effet :


À suivre : filtrage de VCC !
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: HerosSuperMan le Samedi 02 Janvier 2010, 09:13:12 am
superbe
 ^-^
je panne pas tout mais c'est superbe  :D
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: Darth Nuno le Samedi 02 Janvier 2010, 10:52:59 am
Yeps, concernant la 'pastille', tu as bien fait de la laisser à sa place :

(http://img1.uplood.fr/free/s0mo_20091229_194554_6802_img.jpg)

Sans connaître le jeu, il est certain qu'il s'agisse d'un simple 'masque' servant à coloriser un élément du jeu. Procédé courament utilisé sur les premières bornes B&W (Break Out, Space Invaders, SuperBug ... ), un peu comme les caches de la Vectrex dans le genre.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: aganyte le Samedi 02 Janvier 2010, 15:50:45 pm
Chapeau bas  <:) , de la vrai bonne bidouille d'électroniciens  ^-^

Ps: ça me fait penser à l'époque ou on ce tapé le décodage d'adresse à la main.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Samedi 02 Janvier 2010, 18:36:32 pm
Bonjour et meilleurs voeux pour 2010 à tous ceux qui liront ce post.

Dans l'alim, il y a 3 monstrueux condensateurs que j'appelle "bombones". [couic] Sur la carte, il n'y a que très peu de condensateurs chimiques. [re-couic] Aucun n'a été changé pour le moment moment, mais je le ferai.

Il est important de ne pas les remplacer par n'importe quel condensateur que ne manquerait pas de refourguer le crémier le plus proche.
Les "pots de confitures" doivent être remplacés par des condensateurs de filtrage équivalents prévus pour supporter le courant périodique qui les traverse. Il faut le vérifier sur le datasheet du fabriquant, c'est parfois indiqué sur leur boîtier, exemples :Les condensateurs de découplage sur la carte doivent être remplacés par des modèles à "low ESR" pour plus d'efficacité. Ils sont plus difficiles à approvisionner, Conrad en vend sur son site n°2, sinon voir Farnell.  

(http://img1.uplood.fr/free/9xc3_ic138_vcc.png)      (http://img1.uplood.fr/free/6hli_ic138_d2.png)
broche 16 de IC138
(la PROM que j'accuse d'être malade)
            
bit D2 de la même PROM

Ces deux oscillogrammes me font penser à ceux que l'on pourrait observer sur les broches d'une mémoire rapide dont les adresses seraient connectées à un compteur asynchrone genre CD4040 ou 7493.
L'horloge qui pilote le compteur n'étant pas distribuée sur tous les bascules du compteur, mais uniquement sur la 1er, elles ne changent pas d'état simultanément mais les unes après les autres. Ce qui induit des états transitoires sur le bus d'adresse, donc des commutations intempestives sur les sorties des données et par conséquent des pointes de courant sur l'alimentation.
Ce comportement peut être aussi le fait d'une broche d'adresse "en l'air" ou à un niveau logique intermédiaire. As tu vérifié à l'oscilloscope le signal sur chacune des broches d'adresse de ces mémoires ?

Mais vue la sale tronche du +5 V reçu par la PROM, peut-être qu'avec un condo céramique et un chimique entre masse et VCC au plus près de la PROM, les choses pourraient s'améliorer ?

Non, il faut voir les choses autrement, ce sont les appels de courant intempestifs de la PROM qui parasitent le + 5 volts, c'est pour cela que la perturbation de l'alimentation, constatée sur l'oscilloscope, est plus importante au voisinage de ce boîtier.
Pour être sûr du bon fonctionnement de la PROM ( mais malheureusement pas de l'intégrité de sa programmation initiale ), il faudrait réaliser un petit montage :

A+
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Dimanche 03 Janvier 2010, 15:54:46 pm
Petite mise à jour intermédiaire...

Je suis en plein reverse-engineering sur le chassis vidéo de l'écran X-Y.  8)
Alors que j'étais dans l'exploration autour du 1er convertisseur numérique/analogique, je suivais une piste de cuivre qui devait normalement être "-VCC", soit du -15 V régulé.

J'arrive sur ce composant, que j'ai examiné un peu vite :

(http://img1.uplood.fr/free/e53q_20100103_154152_6849_img.jpg) (http://www.uplood.fr)

Ayant lu la sérigraphie entourée en rouge, je m'étais dit que c'était un régulateur positif 14 V.
Déjà, 2 choses très louches :

En fait, la référence du composant est entourée en vert. C'est bien un régulateur négatif -15 V.
La sérigraphie "7814" correspond à la date de fabrication : 14e semaine de 1978...

Arf, le gros piège à noob, et je suis tombé dedans !  ;D

Bon, j'y retourne...  :-)=
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: zebassprophet le Dimanche 03 Janvier 2010, 17:24:38 pm
je viens de regarder mes flips (et faire un peu de la merde d'ailleurs) et quand je vois la facilité avec laquel tu trouve et resoud certains probleme dans l'ordre
j'en reste pantois  :-)=
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: funkycochise le Dimanche 03 Janvier 2010, 17:24:58 pm
La sérigraphie "7814" correspond à la date de fabrication : 14e semaine de 1978...
Putain, avril 1978...
ca nous rajeunit pas !
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Dimanche 03 Janvier 2010, 20:52:37 pm
Pfiouuuuuu....

Ayé, je viens de terminer une grosse partie du reverse-engineering sur le chassis vidéo du moniteur X-Y de la borne !  :-)=


Voici la pré-version du schéma électronique du pilotage de la bobine de déviation X du tube, à partir des données envoyées par le PCB (connecteur J1 à gauche sur mon schéma).
C'est un brouillon amélioré. J'ai réussi à ne pas faire se croiser trop de lignes.

Le pilotage de la bobine Y est totalement similaire. Seules changent des valeurs de résistances autour de IC4.

(http://img1.uplood.fr/free/thumbnails/fazv_deviation-x.png) (http://www.uplood.fr/visu.php?url=http://img1.uplood.fr/free/fazv_deviation-x.png)

J'ai mesuré les résistances ohmiques des bobines de déviation :
La mesure tient compte de la résistance des fils du multimètre ; elle a été faite au plus près des bobines, au niveau du support blanc où les fils de cuivre sont soudés.

Mes commentaires :

1.

2.

3.

4.


À suivre : reverse-engineering sur la partie THT...  8)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: nicolas-le-jardinier le Dimanche 03 Janvier 2010, 22:14:08 pm
Toujours admiratif de tes travaux, j'ai un space wars en rade (bien en rade), j'ai faillis bener le moniteur mais en voyant des gars (enfin 1 gars :D) qui s'atarde sur des trucs comme ca :-* bah je le garde ca pourra servir qui sait  :)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Dimanche 03 Janvier 2010, 22:51:13 pm
L'ampli-op IC4 (un LF351N) réalise un filtrage, mais je suis incapable de dire lequel...

IC4 est cablé en amplificateur pseudo logarithmique, le gain Vsortie/Ventrée n'est pas constant, il diminue quand l'amplitude de la tension de sortie augmente.

(http://pagesperso-orange.fr/michel.hubin/physique/elec/sv5185195.gif)
Principe de l'amplificateur logarithmique

Dans le cas présent, la courbe de transfert peut être assimilée à une suite de 3 segments de droite ayant des inclinaisons différentes.
Il n'y a pas moins de 11 transistors pour l'étage de commande de la bobine de déviation

Il faut se représenter chaque amplificateur comme un amplificateur opérationnel de puissance réalisé avec des composants discrets.

TR18 semble avoir un rôle de protection, mais je ne saurais dire exactement lequel ; il est commandé par le courant qui traverse la bobine de déviation si le courant est trop fort, il se sature et tend à bloquer TR17 en augmentant la tension de son émetteur ?

TR17 et TR18 constituent un étage d'entrée différentiel, les transistors sont couplés par leur émetteurs et ils se partagent la source de courant constant constituée par TR16.
La base de TR17 est l'entrée "+" de cet amplificateur opérationnel de puissance et la base de TR18 est l'entrée "-"

Je n'ai pas trop compris à quoi servent TR12 et TR13 ; ce sont 2 "petits" transistors (boîtier TO92) ; protection en cas de destruction de TRX1 ou TRX2 ? amorçage du circuit

TR12 et TR13 servent à limiter le courant dans les transistors de puissance TRX1 et TRX2. Ces deux transistors de puissance sont associés respectivement à TR11 et TR10 pour constituer un assemblage nommé 'transistor darlington".
 
(http://www.awatronic.com/images/uploads/GammeE1020.jpg)

L'ensemble se comportant comme un super transistor dont le gain en courant est égal au produit des gains de chacun des transistors qui le constitue.

La tension aux bornes de la résistance R19 est aussi la tension appliquée à la jonction base / émetteur de TR12, de même pour TR13 avec la résistance R21, dés que cette tension atteint les 0,6 / 0,7 volt, le transistor impacté se met alors à conduire et à court-circuiter la jonction base / émetteur du transistor darlington qu'il protège. Le courant collecteur du transistor de puissance s'auto-limite alors à 0,7 ÷ 0,18 soit 3,9 ampères.

il y a un truc louche avec TR12 et TR13 ; ce sont respectivement des "C815" et "A539" [couic] à supposer que ce sont des 2SC815 et 2SA539, leur brochage diffère de la doc que j'ai trouvée sur le net ; la doc dit que la base est la broche du milieu alors que la sérigraphie SEGA la place sur un coté mon schéma est conforme à la sérigraphie SEGA.

Cela arrive parfois selon avec certains constructeurs. Un test à l'ohmmètre devrait permettre de vérifier une fois pour toute s'ils sont correctement montés.

Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Dimanche 03 Janvier 2010, 23:12:24 pm
Merci pour ces explications !  <:)
J'ai maintenant compris la fonction des transistors TR12 et TR13.  :)

Que penses-tu de mon commentaire n°1 ? J'ai vu juste ou j'ai fumé ?

Sinon, j'ai bientôt fini de tracer le schéma de la partie "THT".
Il faut que je le redessine pour qu'il soit plus compréhensible.
J'ai l'impression que l'oscillateur nécessaire pour faire fonctionner la THT réside dans le PCB de jeu...
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Lundi 04 Janvier 2010, 00:15:11 am
Que penses-tu de mon commentaire n°1 ? J'ai vu juste ou j'ai fumé ?

Il me semblait correct, c'est pour cela que je n'ai rien ajouté. Mais à bien y réfléchir :

Ne s'agirait-il pas plutôt d'un dispositif connexe à l'extinction de trace :

J'ai l'impression que l'oscillateur nécessaire pour faire fonctionner la THT réside dans le PCB de jeu...

Pourquoi pas ! Puisque la production de THT n'a pas besoin d'être asservie au balayage ligne, celui-ci n'étant pas cyclique.

A+
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: Vany le Lundi 04 Janvier 2010, 01:54:52 am
 ((:s

Hey les gars, vous faites quoi dans la vie comme boulot ? ;)

J'ai la sensation d'être devant un tableau de Milo largement incompréhensible et donc forcément fascinant.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Lundi 04 Janvier 2010, 02:05:35 am
Voici le schéma de la partie "THT".

(http://img1.uplood.fr/free/thumbnails/rix1_tht.png) (http://www.uplood.fr/visu.php?url=http://img1.uplood.fr/free/rix1_tht.png)

Commentaires :

Voici le transfo THT :

(http://img1.uplood.fr/free/b0o4_20100103_125420_6846_img.jpg) (http://www.uplood.fr)

La sérigraphie de ce gros truc gris indique "voltage tripler".
J'imagine que c'est un transfo noyé dans de la résine.
Il est entre la sortie latérale de la THT et la tétine.

(http://img1.uplood.fr/free/wh5b_20100103_125548_6847_img.jpg) (http://www.uplood.fr)


Bonne nuit.  :D
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Lundi 04 Janvier 2010, 09:17:51 am
je commence à scotcher à ce WIP, même si je comprends que-dalle  :-* <:)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: zebassprophet le Lundi 04 Janvier 2010, 09:47:20 am
elle a l'air en bon état la platine
c'est deja un bon debut
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Lundi 04 Janvier 2010, 10:15:13 am
Bonjour.

Help ! je n'arrive pas à enregistrer une image au format png sur le site d'upload.fr alors que les formats gif et jpeg sont OK, impossible même en direct.
J'obtiens systématiquement le message "Type de fichier invalide". Quelqu'un a la solution ?
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Lundi 04 Janvier 2010, 10:46:03 am
Bonjour.

Help ! je n'arrive pas à enregistrer une image au format png sur le site d'upload.fr alors que les formats gif et jpeg sont OK, impossible même en direct.
J'obtiens systématiquement le message "Type de fichier invalide". Quelqu'un a la solution ?

Bizarre, car je confie souvent des images png à upload.fr (mes schémas par exemple).
Peut-être tes png ont une particularité qui ne plait pas à upload.fr ?
Mes images sont travaillées avec l'outil Gimp (http://www.gimp.org/) :

As-tu vérifié la taille (octets) du fichier ?
Peut-être sont-ce les dimensions de l'image (pixels) qui ne plaisent pas à upload ?
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: supercarotte le Lundi 04 Janvier 2010, 10:47:33 am
Va l'héberger sur www.imageshack.us, il me semble que ça prend le .png ;)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Lundi 04 Janvier 2010, 10:52:11 am
je n'ai pas compris comment TR22 est commandé

TR22 et deux des enroulements du transformateur THT réalisent un auto-oscillateur à surcouplage connu sour le nom "d'oscillateur blocking".
Désolé, je n'ai trouvé que cette explication en anglais : http://en.wikipedia.org/wiki/Blocking_oscillator
La phase des enroulements doit être respectée pour que le système puisse osciller, je l'ai représentée par des points noir sur le schéma modifié :

(http://img1.uplood.fr/mamu/kdlm_rix1_tht.small.jpg) (http://img1.uplood.fr/mamu/etns_rix1_tht.jpg)

Les composants RC ainsi que les deux diodes sont ajoutés pour améliorer les temps de commutation du transistor TR22 et/ou le protéger des surtensions.

La sérigraphie de ce gros truc gris indique "voltage tripler".
J'imagine que c'est un transfo noyé dans de la résine.

Non, ce n'est pas un transformateur mais un dispositif redresseur constitué de cellules diodes/condensateurs :
 
(http://retro-forum.com/download/file.php?id=43682)

Voir cette explication sur le tripleur pour THT : http://dede92dubois.free.fr/alacouleur/21/21alacouleur.htm paragraphe : "B) Le redressement par multiplication de tension"

Ce dispositif tripleur était majoritairement utilisé dans les années 70/80 pour produire la THT des téléviseurs et moniteurs couleurs à transistors. Il a progressivement disparu dés que l'on a su produire des transformateurs à enroulements fractionnés voir le paragraphe "C) Le redressement fractionné" du même document.

A+
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: High_Cobra le Lundi 04 Janvier 2010, 10:54:00 am
Va l'héberger sur www.imageshack.us, il me semble que ça prend le .png ;)

Pas besoin d'aller voir ailleurs, uplood gère très bien le png et a une persistance de contenu bien meilleure que imageshack.us... Et en plus, son créateur est membre gamoover :D

Après, même supposition que f4brice, sans doute un png "bizarre"...
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: emilealpi le Lundi 04 Janvier 2010, 10:59:52 am
J'apporte ma modeste pierre à l'édifice, même si elle n'a rien de technique (toute façon vu le niveau je crois pas qu'il y ait besoin d'en rajouter  :D)

Ton jeu est un "Space Wars" et le "Soleil" central a bien sa raison d'être ! Il ne faut surtout pas le retirer, il matérialise le "trou noir" gravitationnel central qui perturbe la combat que se livrent les deux vaisseaux.

Not a valid youtube URL name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src=" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>[/youtube]

plus d'info ici : http://en.wikipedia.org/wiki/Space_Wars (http://en.wikipedia.org/wiki/Space_Wars)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: liodel le Lundi 04 Janvier 2010, 11:33:38 am
C'est pas la doc ça ?
http://arcarc.xmission.com/PDF_Arcade_Manuals_and_Schematics/Space%20Wars.pdf

plein d'autres infos ici :
réparation écran, rom eproms, art...
http://andysarcade.de/spacewars.html
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: keube le Lundi 04 Janvier 2010, 11:42:14 am
ça avance on dirait ^-
Bon courage tu vas réussir à nous à la ressuisciter cette borne qui a maintenant un nom!
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Lundi 04 Janvier 2010, 12:18:15 pm
Ton jeu est un "Space Wars"

C'est pas la doc ça ?
http://arcarc.xmission.com/PDF_Arcade_Manuals_and_Schematics/Space%20Wars.pdf

plein d'autres infos ici :
réparation écran, rom eproms, art...
http://andysarcade.de/spacewars.html

Ouergl !  :-)=

Mon jeu est la version SEGA de Space Wars.
Le schéma de l'écran correspond à mon écran SEGA (mais SEGA utilise des composants japonnais).
Pour celui du PCB, ça a l'air d'être le même schéma. Il faut que je regarde en détails.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: Wapata le Lundi 04 Janvier 2010, 13:21:09 pm
Ben les gars...
Vous êtes épatants.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Lundi 04 Janvier 2010, 13:29:40 pm
Pour celui du PCB, ça a l'air d'être le même schéma. Il faut que je regarde en détails.

C'est aussi ma première impression, il faudra compter avec des adaptations mineures causées par l'emploi d'EPROM ou de ROM de capacité supérieure.

Il y a aussi le dump de ces ROM dans le lien donné par liodel, donc possibilité de vérification si les contenus sont identiques.

A+
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: Darth Nuno le Lundi 04 Janvier 2010, 13:41:49 pm
Ouergl !  :-)=

Mon jeu est la version SEGA de Space Wars.
Le schéma de l'écran correspond à mon écran SEGA (mais SEGA utilise des composants japonnais).
Pour celui du PCB, ça a l'air d'être le même schéma. Il faut que je regarde en détails.

Yeps, indice déjà indiqué lors de la vente, juste ici (http://www.gamoover.net/Forums/index.php?topic=20430.msg293539#msg293539)  ;)

Sinon, j'ai trouvé une photo de cette borne dans mon livre reprenant toutes les bornes SEGA... allez, hop, à l'arrache avec l'i-phone  :fleche:

(http://www.arcadelifestyle.net/forforum2/segaspace.jpg)

Je ferai un scan high res. si tu veux...et histoire que quelqu'un puisse te traduire le texte  ;)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: supercarotte le Lundi 04 Janvier 2010, 13:45:15 pm
Je peux lui prêter le Sega Arcade History que j'ai aussi si besoin, mais je pense pas qu'il contienne des infos extraordinaires :)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Lundi 04 Janvier 2010, 13:55:23 pm
Un scan me suffit.  <:)
J'ai 2 collègues de boulot qui devraient, à eux deux, peut-être me décrypter ça !  :D

EDIT: bon, y'en a un des deux qui se dégonfle devant le document !
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Lundi 04 Janvier 2010, 14:36:25 pm
wahaaa !

une space wars à gamoover!

champagne!!!! ((:s :10:

manquerai plus que la pcb de sega soit très proche voir identique à la doc , et la rénov' est dans la poche!
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: nicolas-le-jardinier le Lundi 04 Janvier 2010, 16:50:05 pm
J'ai une notice du moniteur trouvée dans ma space wars, je l'avait transmise an andréa de http://andysarcade.de/ (http://andysarcade.de/)
Si ca t'interesse fais moi signe, je crois que c'est un vectorbeam
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Lundi 04 Janvier 2010, 21:41:22 pm
Bonsoir, juste une petite aparté ...

Help ! je n'arrive pas à enregistrer une image au format png sur le site d'upload.fr alors que les formats gif et jpeg sont OK, impossible même en direct.
J'obtiens systématiquement le message "Type de fichier invalide". Quelqu'un a la solution ?

Depuis j'ai essayé plusieurs browsers dont IE7, IE8 et Firefox, avec deux d'entre eux il m'est effectivement impossible d'enregistrer un png sur le site d'upload.fr, quelque soit le pc ou son système d'exploitation (XP ou Vista). Avec le 3èm browser, pas de soucis, le png est bien accepté.
Je vous laisse deviner lesquels de ces browsers sont incompatibles ...

Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Lundi 04 Janvier 2010, 22:14:22 pm
Bonsoir, juste une petite aparté ...
[couic]

J'utilise Opera (http://www.opera.com/).  ^-
C'est sûrement pour ça que je n'ai jamais eu ce problème !



Je viens de regarder la notice du jeu Space Wars de chez Cinematronic.
Ouergl, gc339 avait vu juste : c'est bien un CPU spécifique qui est réalisé en logique TTL.  :o

Voici un extrait (traduit par mes soins) de la page 9 de cette notice, à propos de ce CPU dédié :

Citation de: Notice
Les désavantages principaux d'un point de vue "SAV" sont que le système est lourdement contrôlé par le logiciel avec son propre language machine et op-codes, et qu'il y a un nombre de "boucles" au sein des circuits de signaux qu'il est virtuellement impossible de localiser une panne en utilisant des moyens et des techniques ordinaires.

Eh bé...
Les journées soirées nuits vont être longues !  :D

La 1ère chose que je vais faire, c'est reporter sur les schémas Cinematronic les n° de circuits (IC1, IC2, ... jusqu'à IC151) choisis par SEGA.
Je devrais ainsi m'y retrouver moins m'y perdre.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mardi 05 Janvier 2010, 01:04:17 am
Bonsoir.

Voici une mise à jour de ce WIP.

Je me suis précipité pour télécharger les 2 archives zip contenant le dump des ROMs :
Le lien pour récupérer ces 2 archives est dispo sur cette page (http://andysarcade.de/spacewars.html), indiquée par liodel.

Déjà, chose bizarre, l'archive qui contient les PROMs du micro-cadenceur du CPU possède 6 fichiers dump + 1 fichier texte :

(http://img1.uplood.fr/free/jll1_a.png) (http://www.uplood.fr)

Je pensais que les PROMs de la région 4 étaient le micro-cadenceur :

(http://img1.uplood.fr/free/rjhf_20091229_184220_6795_img.jpg) (http://www.uplood.fr/)

En fait, pas du tout...
Ce sont les PROMs des régions 1, 2 et 3 qui sont le micro-cadenceur du CPU.
Dans les PROMs de la région 4 sont stockées les données spécifiques au jeu (instructions assembleur, données de graphisme, ...)

Cinematronic utilise une référence "ligne/colonne" pour désigner un circuit intégré sur le PCB de jeu.
On devine la sérigraphie "A B C..." de droite à gauche en bas du PCB sur cette photo :

(http://img1.uplood.fr/free/5jtl_spacewars.pcb.jpg) (http://www.uplood.fr)
[source : Crazy Kong (http://www.crazykong.com/pcbs/P%20-%20S/index02.html)]

De son coté, SEGA désigne les circuits intégrés avec une référence que j'appelle dans mon jargon une référence "itérative" : "IC1", "IC2", ... "IC151".
Mais dans la pratique, SEGA a placé ses composants au même endroit que Cinematronic, à quelques exceptions près.

J'ai donc pu recouper ainsi que la PROM SEGA "PR-17", référencée "IC138" sur le PCB SEGA correspond à la E14 chez Cinematronic.

C'est comme ça que j'ai pu comparer le dump que j'avais fait moi-même avec le dump de l'archive proposée par Andreas (http://andysarcade.de/) :

Mon relevé : chaque ligne est une adresse de lecture de la PROM.
J'avais préparé une feuille vide avec un tableur :

(http://img1.uplood.fr/free/wne4_dump_fab.png) (http://www.uplood.fr)

Contenu du dump trouvé sur le net :

(http://img1.uplood.fr/free/hkom_editeur_hexa.png) (http://www.uplood.fr)

Les 2 contenus sont totalement identiques. Il n'y a aucun bit de différence.
Le contenu de ma PROM est donc correct.

Grâce à l'aide de la doc, je vais pouvoir aborder le problème différemment.
Par exemple, page 12, il est indiqué - si j'ai bien compris - qu'une condition de reset sera atteinte si un foirage sur n'importe lequel des 90% des signaux du PCB est détecté.

Je vais donc examiner en 1er ce signal reset.

Par contre, il est indiqué qu'une conséquence est l'absence de commandes envoyées à l'écran et donc la rupture d'un fusible de l'alim, pour protéger l'écran.
Or d'après mes 1er tests, rien n'est envoyé à l'écran et pourtant je n'ai pas de fusible grillé.

J'avais déjà investigué, sur les conseils de gc339, les 5 bits d'adresse que la PROM que j'accusais d'être moisie.
Voici les relevés :

(http://img1.uplood.fr/free/wlm0_a0.png) (http://www.uplood.fr)(http://img1.uplood.fr/free/ce6g_a1.png) (http://www.uplood.fr)(http://img1.uplood.fr/free/9zj4_a2.png) (http://www.uplood.fr)
a0
a1
a2
(http://img1.uplood.fr/free/7z7h_a3.png) (http://www.uplood.fr)(http://img1.uplood.fr/free/3m3a_a4.png) (http://www.uplood.fr)
a3
a4

Mes relevés ne permettent pas de détecter l'asynchronisme de commutation des signaux du bus d'adresse. Il faut que je sorte la 2e sonde pour ça.
Déjà, il n'y a aucun bit "en l'air".
Les signaux ne m'ont pas l'air d'être exagérément parasités.
Sur a3, dans la 6e division de temps, il y a un glitch qui n'est pas constant (le trait épais).
Mon relevé a été fait alors que le glitch était bien visible.


À suivre : endoscopie du CPU Cinematronic !  :D
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mardi 05 Janvier 2010, 01:35:26 am
J'ai une notice du moniteur trouvée dans ma space wars, je l'avait transmise an andréa de http://andysarcade.de/ (http://andysarcade.de/)
Si ca t'interesse fais moi signe, je crois que c'est un vectorbeam

J'ai trouvé cette notice (http://arcarc.xmission.com/PDF_Monitors/Keltron%20Monitor%20new.pdf) en pdf, donc je n'ai pas besoin de ton document.
Par contre, si tu as la notice du jeu avec les schémas électroniques, ça m'intéresse.
Le scan que j'ai trouvé sur le net, sans être mauvais, n'a pas la précision nécessaire à certains endroits.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: philougames le Mardi 05 Janvier 2010, 08:35:59 am
salut f4brice ,c'est un vrai plaisir de te relire  =:))
tu es calé dans le domaine ,
en tous cas bravo ,grâce a des gens comme toi il y aura des bornes de collection qui seront sauvé  ^-^ ^-^
de plus tu nous aide beaucoup dans nos réparation
je vais suivre ton wip de très près
bonne chance
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: BadGuigui le Mardi 05 Janvier 2010, 10:13:23 am
Oui tes travaux sont vraiment agréables à lire car tu nous explique vraiment pas à pas ce que tu fais et c'est vraiment top.

Vraiment top  ^- bon courage!!!
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: nicolas-le-jardinier le Mardi 05 Janvier 2010, 13:38:07 pm
J'ai trouvé cette notice (http://arcarc.xmission.com/PDF_Monitors/Keltron%20Monitor%20new.pdf) en pdf, donc je n'ai pas besoin de ton document.
Par contre, si tu as la notice du jeu avec les schémas électroniques, ça m'intéresse.
Le scan que j'ai trouvé sur le net, sans être mauvais, n'a pas la précision nécessaire à certains endroits.


Oui je vais regarder je pense l'avoir.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Mardi 05 Janvier 2010, 14:22:44 pm
Bonjour.

Je ne sais pas comment tu comptes t'y prendre pour dépanner cette carte, mais en analysant les schémas pages 25 et 26 de la notice "space wars" on se rend vite compte que tous les bus internes se "mordent la queue" à travers ALU et latches. Je ne parle pas du micro-séquenceur qui ajoute encore en complexité. C'est infernal à dépanner même avec les meilleurs outils.

La meilleure des solutions dans ce cas la est la méthode "bourrin" qui consiste à dessouder les circuits intégrés un par un ou par grappe pour :
- Vérifier le contenu de toutes les ROM.
- Vérifier les RAM.
- Vérifier les circuits TTL en les regroupant par fonction : ceux du compteur programme, ceux des accumulateurs, ceux de chaque multiplexeur 12 fois X vers 1 ... et en vérifiant le fonctionnement de la carte à chaque fois que les boîtiers d'une fonction ont été vérifiés et remis en place (sur supports tulipe ). Cette méthode a plus de chance d'aboutir rapidement qu'un test désordonné des circuits TTL.

Si l'on trouve par exemple un boîtier avec une de ses broches d'entrée/sortie en court-circuit ou qui impose une tension bâtarde, il est nécessaire d'aller vérifier tous les autres boîtiers ayant une ou des broches entrée/sortie connectées avec celle-ci.
 
Il y a bien la solution de remplacer les circuits TTL à chaque fois que l'on en dessoude un par un neuf, mais rien ne garantie que le neuf est 100% OK. C'est pour cela qu'un testeur de CI (IC tester) te serait des plus utile surtout si tu comptes dépanner tout le lot de cartes récupérées.
Ce genre d'équipement permet en plus de programmer et/ou de vérifier tout un tas de mémoires, voir par exemple les modèles VP280 et TOP2049 en vente sur un site d'enchères très connu.

A+
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: aganyte le Mardi 05 Janvier 2010, 14:24:43 pm
Ça sent bon le WIP de malade ici...Moi j'aime bien  :-)=
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mercredi 06 Janvier 2010, 01:39:03 am
Bonsoir.

Je ne sais pas comment tu comptes t'y prendre pour dépanner cette carte, mais en analysant les schémas pages 25 et 26 de la notice "space wars" on se rend vite compte que tous les bus internes se "mordent la queue" à travers ALU et latches. Je ne parle pas du micro-séquenceur qui ajoute encore en complexité. C'est infernal à dépanner même avec les meilleurs outils.
[couic]

N'ayons pas peur des mots : cette carte est une parfaite usine à gaz d'une complexité inimaginable !

(http://img1.uplood.fr/free/ey90_raffinerie.jpg) (http://www.uplood.fr)

Je me demande combien de temps et de prototypes il a fallu aux gens de chez Cinematronic pour pondre cette carte...

Pour le dépannage, j'avais dans l'idée de procéder à reculons.
J'ai déterminé (voir plus bas) que le CPU est reseté sans arrêt.
Mon idée, c'est de remonter progressivement tous les signaux qui provoquent cette condition de reset affin d'en déterminer la raison.
Pour le moment, j'ignore si cette méthode est réaliste.

Le problème avec l'idée d'un systématisme dans le dessoudage + test + soudage support + remise en place du composant, c'est que je vais certainement me retrouver avec un grand nombre de supports sur le PCB, ce que j'aimerais éviter pour une raison purement esthétique. Oui je sais, c'est une raison débile, mais idéalement j'aimerais garder ce PCB au plus proche de son état d'origine, avec ses composants d'origine (pour ceux qui veulent bien encore fonctionner en 2010).

J'ai bien conscience que cette contrainte purement subjective complique le dépannage.

Cependant, en cas d'échec de ma méthode, je me rabattrai certainement sur la tienne, dans l'ordre que tu as décris car cet ordre me semble assez logique.

[couic]
C'est pour cela qu'un testeur de CI (IC tester) te serait des plus utile surtout si tu comptes dépanner tout le lot de cartes récupérées.
Ce genre d'équipement permet en plus de programmer et/ou de vérifier tout un tas de mémoires, voir par exemple les modèles VP280 et TOP2049 en vente sur un site d'enchères très connu.

Ca tombe bien, car je pensais justement acheter un progammateur d'EPROM.
J'avais vu le modèle G540 (USB, bleu) sur le même site d'enchères.
Le TOP2049 me semble pas mal.
Le test de composants TTL & RAM me sera utile.
Quel est le meilleur modèle, sachant que je ne suis pas à 40 € près pour cet achat ?
Autre point, aucun ne semble pouvoir lire & programmer les PAL (mais ils savent faire les GAL). Une idée du pourquoi ?
On trouve souvent des PALs sur les PCB de jeux, et ce serait bête de ne pas pouvoir les lire/copier.



Sinon, petite mise à jour de ce WIP d'endoscopie de CPU Cinematronic...

J'ai examiné la clock principale du PCB (environ 20 MHz), et je trouve le signal pas très rectangulaire :

(http://img1.uplood.fr/free/yphk_a.png) (http://www.uplood.fr) (http://img1.uplood.fr/free/80rr_ic011-broche10.png) (http://www.uplood.fr)

Le signal observé est entouré en rouge sur le schéma (extrait de la page 24).
Le 0 V de mon oscillo est à 2 divisions en partant du bas (repère entouré en rouge).
Heureusement que mon oscillo a suffisamment de bande passante (100 MHz) pour ces mesures.


J'ai également examiné le signal /RESET (extrait de la page 27) :

(http://img1.uplood.fr/free/3sgb_b.png) (http://www.uplood.fr) (http://img1.uplood.fr/free/load_ic070-broche05.png) (http://www.uplood.fr)

Donc il est sûr que le CPU est constament reseté.
Je n'ai pas pu mesurer la périodicité du reset.
Quand je ralentis la base de temps, l'oscillo perd de vue le pic à 0 V du signal avant que je ne puisse voir 2 signaux en même temps.
J'ai encore une carte à jouer avec la synchro (je peux synchroniser l'oscillo sur un front non visible à l'écran), mais je n'ai pas encore testé.

La partie "reset à froid" (power up) n'est pas en cause. Le signal est fixe à +5 V.

Une idée qui vaut ce qu'elle vaut :
Là, soit le CPU est reseté avant de lire le 1er op-code du jeu, soit il est reseté après N op-codes.
Peut-être que je pourrai déterminer quel op-code le fait planter et examiner les composants impliqués.
Le reverse-engineering des op-codes du CPU Cinematronic est totalement réalisé sous Mame.


EDIT: orthographe
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Mercredi 06 Janvier 2010, 11:01:31 am

Autre point, aucun ne semble pouvoir lire & programmer les PAL (mais ils savent faire les GAL). Une idée du pourquoi ?


et bien tout simplement un pal n'est pas réinscriptible. selon wiki un Gal est Un PAL réinscriptible. cqfd

je cite:
"An innovation of the PAL was the generic array logic device, or GAL, invented by Lattice Semiconductor in 1985. This device has the same logical properties as the PAL but can be erased and reprogrammed."

 :D
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Mercredi 06 Janvier 2010, 12:00:13 pm
N'ayons pas peur des mots : cette carte est une parfaite usine à gaz d'une complexité inimaginable ! [couic ]Je me demande combien de temps et de prototypes il a fallu aux gens de chez Cinematronic pour pondre cette carte...

Je pense surtout que c'est le micro-programme qui a du demander le plus de compétences pour la mise au point. L'architecture de la micro-machine est somme toute relativement standard.
Un seul prototype a du suffire s'il a été réalisé en mini-wrapping, il est très facile de modifier le câblage, d'ajouter/supprimer/remplacer une porte ou une fonction. Par contre il a peut-être fallu retoucher le circuit imprimé à plusieurs reprises pour éliminer des dysfonctionnements (temps de propagation du aux longueurs de pistes, équipotentialité des masses, parasites sur le + 5 volts ...) qui n'existaient pas avec le prototype en mini-wrapping.

Pour le dépannage, j'avais dans l'idée de procéder à reculons.
J'ai déterminé (voir plus bas) que le CPU est reseté sans arrêt.
Mon idée, c'est de remonter progressivement tous les signaux qui provoquent cette condition de reset affin d'en déterminer la raison.
Pour le moment, j'ignore si cette méthode est réaliste.

Pourquoi pas, tu peux dans 1er temps voir quelle est la cause qui fait aboyer le chien de garde, eh oui ce dispositif de réinitialisation n'est pas autre chose qu'un chien de garde.
Entre parenthèses : il n'est pas exclus qu'il soit malade et réinitialise intempestivement la carte !
Puis avec de la chance et de la réflexion voir quel est le circuit défaillant. Même en cas d'insuccès tu auras toujours progressé dans la compréhension du fonctionnement de cette carte.

Le problème avec l'idée d'un systématisme dans le dessoudage + test + soudage support + remise en place du composant, c'est que je vais certainement me retrouver avec un grand nombre de supports sur le PCB, ce que j'aimerais éviter pour une raison purement esthétique. Oui je sais, c'est une raison débile, mais idéalement j'aimerais garder ce PCB au plus proche de son état d'origine, avec ses composants d'origine (pour ceux qui veulent bien encore fonctionner en 2010).
J'ai bien conscience que cette contrainte purement subjective complique le dépannage.

Alors dans ce cas, je ne vois que deux solutions :
Puis tu achètes une vitrine en verre pour exposer la carte et commencer ta collection de cartes originales ...

J'avais vu le modèle G540 (USB, bleu) sur le même site d'enchères.

J'ai zieuté ses caractéristiques, apparemment il ne réalise que la fonction programmation.

Le TOP2049 me semble pas mal.
Le test de composants TTL & RAM me sera utile.
Quel est le meilleur modèle, sachant que je ne suis pas à 40 € près pour cet achat ?
Autre point, aucun ne semble pouvoir lire & programmer les PAL (mais ils savent faire les GAL). Une idée du pourquoi ?
On trouve souvent des PALs sur les PCB de jeux, et ce serait bête de ne pas pouvoir les lire/copier.

Je ne sais pas quel est le meilleur modèle sur les deux que j'ai cité.
Ils programment bien certains PAL, il suffit de rechercher avec le mot clef "PAL" dans la liste dont le lien est donné dans chaque annonce.
Par contre il n'y a pas de liste concernant les références des boîtiers TTL qu'ils peuvent tester.

J'ai examiné la clock principale du PCB (environ 20 MHz), et je trouve le signal pas très rectangulaire :

C'est tout à fait normal, les inverseurs fonctionnent en régime pseudo linéaire grâce aux résistances de 330 ohms disposées entre entrée et sortie, sinon le montage ne pourrait pas entrer en oscillation. Le flip-flop qui suit est là pour symétriser le signal en le divisant par deux et obtenir des flancs plus raides dignes d'un signal TTL.

Une idée qui vaut ce qu'elle vaut :
  • mesurer le temps entre la fin du reset et le démarrage du CPU (fliquer les accès à une PROM du micro-ordonnanceur)
  • mesurer le temps entre le démarrage du CPU et le reset suivant
  • en déduire combien d'instructions assembleur le CPU a exécuté (fliquer les lectures dans la ROM de code du jeu)
Là, soit le CPU est reseté avant de lire le 1er op-code du jeu, soit il est reseté après N op-codes.
Peut-être que je pourrai déterminer quel op-code le fait planter et examiner les composants impliqués.

Pourquoi pas, je ne crains qu'une seule chose : que tu progresses plus vite dans la compréhension du fonctionnement de la carte que dans son dépannage effectif !

J'ai déjà vu se faire le dépannage de ce genre de carte :

Le reverse-engineering des op-codes du CPU Cinematronic est totalement réalisé sous Mame.

Donc les gens qui ont réalisés cette émulation devaient avoir des informations de bonne source, ou alors ont du investir pas mal de temps à décortiquer la carte pour les obtenir.

A+

Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Vendredi 08 Janvier 2010, 10:11:37 am
je redéterre ce topic (j'en suis fan  :-*)

alors ? du neuf? ;)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Vendredi 08 Janvier 2010, 12:05:48 pm
alors ? du neuf? ;)

Mise à jour ce soir !  ;)

Hier soir ce matin, j'ai arrêté à 02h00 et mon lit était plus attirant que le clavier du PC.

Je pense avoir démontré un défaut sur au moins une PROM à fusibles.
La PROM ne supporte plus les lectures rapides, les glitches (http://fr.wikipedia.org/wiki/Glitch) sur le bus de donnée ne sont pas dûs à un asynchronisme de commutation du bus d'adresse.

Ad'taleur.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: Vany le Vendredi 08 Janvier 2010, 12:55:57 pm
Un scan me suffit.  <:)
J'ai 2 collègues de boulot qui devraient, à eux deux, peut-être me décrypter ça !  :D

EDIT: bon, y'en a un des deux qui se dégonfle devant le document !

Tu veux que je m'en occupe ?
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Vendredi 08 Janvier 2010, 13:11:09 pm
Tu veux que je m'en occupe ?

Vi beaucoup !  :-*

La 2e personne est d'origine chinoise, et ne décrypte que très très partiellement le japonnais.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: Vany le Vendredi 08 Janvier 2010, 19:01:15 pm
Dès que tu as le scan tu me le transmet. :)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Vendredi 08 Janvier 2010, 19:02:10 pm
Je viens de solliciter mister Nuno par MP.  :)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: Darth Nuno le Vendredi 08 Janvier 2010, 21:35:12 pm
et voilou... pas grand chose mais mieux que rien  ;)  :fleche:

(http://www.dragonslairfans.com/forforum2/spaceship_sega.jpg)

Pour rappel, l'image original fait max 5cm, d'où la qualité moyenne une fois agrandie  :-\
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Vendredi 08 Janvier 2010, 22:23:32 pm
et voilou... pas grand chose mais mieux que rien  ;) 

Merci !  <:)
Pourquoi avoir ajouté des "$" ?
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: Darth Nuno le Vendredi 08 Janvier 2010, 22:40:59 pm
Merci !  <:)
Pourquoi avoir ajouté des "$" ?

LOL... j'ai installé à l'arrache le scanner sur mon iMac, mais je n'ai qu'un soft en mode 'trial' qui ajoute lui même les $ ...

Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Samedi 09 Janvier 2010, 01:28:14 am
Bonsoir.

Voici la mise à jour d'hier soir, non faite hier soir pour cause d'yeux qui se fermaient tous seuls...  :D

J'ai commandé sur le site d'enchères mondialement connu un programmateur d'EPROM.
Mon choix s'est arrêté sur le VP280 (http://www.weilei.com/VP-280e.htm), sans réel argument très fort pour ce modèle plutôt qu'un autre.
Google m'a trouvé la liste des composants TTL qu'il sait tester, en plus de la programmation standard d'EPROMs : liste (http://www.weilei.com/VP-280list.htm#TTL & CMOS TEST).
Il semble très complet dans cette liste.
Le manuel d'utilisation que j'ai téléchargé indique que l'on peut, moyennant programmation, tester des composants non connus de l'appareil.

Au passage, est-ce que quelqu'un connait un genre de "catalogue" des composants TTL 74xxx ?
Je recherche un document PDF présentant le résumé du datasheet de tous les 74xxx, à raison par exemple d'un composant par page.
Je n'ai besoin que du brochage et de la description résumée du composant (table de vérité, etc...)
Aujourd'hui, à chaque nouveau 74xxx rencontré, je dois récupèrer sa datasheet que je sauvegarde sur mon disque dur, mais j'ai rarement besoin de tous les détails.
Un résumé me suffirait.

À propos de planche à clous, j'ai déjà vu des collègues électroniciens s'en servir pour tester des cartes.
Il y a un système avec un levier monstrueux (gros comme un levier de frein à main) pour insérer/retirer les connecteurs.
Des sondes en forme de "clous" positionnées avec précision viennent effectivement mesurer un signal.

[3615 MYLIFE]
Étant môme, j'avais 2 souris (l'animal, pas le périphérique) dont une souris albinos (http://fr.wikipedia.org/wiki/Albinisme).
C'est vrai que les yeux de souris albinos, selon l'éclairage, fond bien penser à des LEDs rouges !  ;D
[/3615 MYLIFE]


Hier soir, j'ai suivi la méthodologie expliquée dans un message précédent.
J'ai investigué le pourquoi du comment du signal "reset".

Voici le schéma de la génération du signal reset, extrait de la page 27 :

(http://img1.uplood.fr/free/4cks_schema_reset.png) (http://www.uplood.fr)

En 1, j'ai un signal qui passe à l'état bas toutes les xxx millisecondes.
Je n'ai pas pu mesurer la périodicité du signal : il passe à l'état bas seulement quelques dizaines de nanosecondes avant de retourner à l'état haut.
C'est normal car il est issu d'une bascule JK (http://fr.wikipedia.org/wiki/Bascule#Bascule_JK) dont la clock est la CLOCK principale (environ 5 MHz) du PCB.
Pour voir 2 passages à l'état bas, je dois extrêment ralentir la base de temps de mon oscillo et ce dernier ne voit plus du tout le signal passer à l'état bas car c'est bien trop rapide par rapport à la base de temps.
D'après moi, la périodicité du signal reset serait soit celle du signal "/PROCEED", soit le double.

En 2, j'ai le signal "POWER_UP" à l'état haut. Il est issu d'un montage à 2 transistors + 1 porte inverseuse. Aucun problème ici.

En 3, j'ai le signal "/PROCEED". Ce signal est un signal périodique à environ 38 Hz généré exclusivement à partir de nombreuses divisions de la clock principale.
D'après moi, ce signal sert à 2 choses :
Aucun problème ici.

En 4, j'ai le signal "/RESET" inversé ; c'est normal quand on considère que le signal "OPERATING" est à 0

En 5, le signal "OPERATING" est en permanance à 0.
Je pense que c'est la conséquence d'une panne détectée par l'électronique du PCB.
J'observe sur le schéma que si ce signal venait à passer à 1 avant l'arrivée du front montant de /PROCEED, alors il ferait passer le signal de la flèche 4 à 0 et viendrait donc bloquer le fonctionnement de la bascule JK de gauche.
Le chien de garde serait muselé.

La porte NOR (http://fr.wikipedia.org/wiki/Fonction_NON-OU) à 3 entrées dont il est issu semble fonctionner, mais je n'ai pas encore investigué en détail là pour le moment.

L'une des 3 entrées de cette porte NOR est le signal "/COLD_START".
Ce signal est généré directement par la PROM IC138 (32 × 8 bits).
Mon oscillo montre les monstrueux glitches présents sur ce signal.
Ces glitches ne sont pas la cause directe de mon problème sur le signal de la flèche 5.
Mais ils sont bien le fruit de la PROM elle-même, car ils sont présents même quand j'isole la broche (le composant étant sur support, il me suffit de plier à peine la broche pour ne pas qu'elle soit insérée dans son contact tulipe quand je remets le composant en place).

(http://img1.uplood.fr/free/jsgv_cold_start.png) (http://www.uplood.fr)
signal "/COLD_START", broche 6 de IC138

Du coup, et c'est ce que j'ai fait hier soir, j'ai décortiqué méticuleusement les signaux autour de cette PROM.
GC339 avait indiqué à juste titre qu'un asynchronisme de commutation sur le signal du bus d'adresse pouvait être la raison de ces glitches.
En effet, supposons 2 signaux X et Y qui doivent par exemple passer de X=0,Y=0 à X=1,Y=1.
Si X change un micro-chouilla avant Y ou inversement, alors de manière très fugitive, on aura X=0,Y=1 (si Y a commuté avant X) ou bien X=1,Y=0 (si X a commuté avant Y).
Cette valeur fugitive parasite peut tout à fait expliquer un glitch de lecture : la PROM voit une demande de lecture à une certaine adresse et a le temps de trouver la donnée avant que tous les signaux aient fini de prendre leur valeur voulue.
Les PROMs à fusible étant des composants très rapides, ce scénario est tout à fait plausible.

C'était l'objet de mes investigations de hier soir.

Mon problème est que je ne dispose d'un oscillo qui ne possède "que" 2 voies.
Il peut lire 2 signaux en même temps mais moi, je voudrais en lire 9...
Un analyseur logique TTL à 9 canaux (ou plus) coûte la peau des glaouis.
J'ai donc synchronisé le déclenchement de mon oscillo sur un signal précis : le front montant du signal "/RESET" qui me gêne tant.
Ainsi toutes mes mesures vont être synchronisée sur une référence commune ; je peux donc faire autant de mesures que je veux, il me suffit ensuite d'assembler les captures d'écran avec un logiciel de dessin (http://www.gimp.org/).

Voici le fruit de pas mal de boulot :

(http://aquafab.free.fr/gamoover/all.png)

En 1er, j'ai mis le signal /RESET, source de synchro.
Ensuite viennent les 4 bits du bus d'adresse.
Les signaux "/COLD_START", "/VECTOR" et "/PAR2" sont 3 des bits du bus de données.

Chaque trait vertical rouge correspond à un changement sur un bit du bus d'adresse.
Entre les zones 2 et 3, le trait est épais car a2 et a3 n'ont pas commutés pile-poil en même temps. C'est a3 qui a commuté un micro-chouilla avant a2. La mesure n'est pas précise, mais l'ordre de grandeur est inférieur à 16 ns (ça fait 16 milliardièmes de secondes).

D'après le dump de la PROM, voici ce que j'aurais dû trouver sur le bus de données :

Zonea4/a3/a2/a1/a0/COLD_START/VECTOR/PAR2
11/1/1/1/1111
21/1/0/1/1110
2 bis1/0/0/1/1111
31/0/1/1/1111
41/1/1/1/0111
La zone 2 bis est la zone qui correspond au court instant où a3 a déja changé alors que a2 ne l'a pas encore fait.

Observations :

Conclusion :
De mon point de vue, je dirais que cette PROM est malade. Je ne pense pas qu'il soit normal que des bits du bus de données bagottent sur certaines transitions du bus d'adresse, alors que ces transitions n'affectent pas les valeurs à lire d'après le contenu de la PROM.
N'ayant pas un 2e PCB qui fonctionne, je ne peux pas tester les PROM accusées d'être malades sur un PCB témoin.
N'ayant pas la spécification technique détaillée de la PROM à fusible, je ne peux pas dire si son fonctionnement est en-dehors des spécifications :

Finalement, je ne suis pas sûr que la PROM soit réellement malade...
J'ai vérifié que pour la génération du signal "OPERATING" (voir flèche 5 de mon 1er schéma), les glitches de /COLD_START n'ont pas d'effet sur la porte logique NOR.


À suivre : suite des investigations en marche arrière. Je vais tenter de trouver pourquoi le signal "OPERATING" reste à 0, faisant aboyer le chien de garde.

EDIT : orthographe
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Samedi 09 Janvier 2010, 09:56:25 am
Bonjour.

Au passage, est-ce que quelqu'un connait un genre de "catalogue" des composants TTL 74xxx ?
Je recherche un document PDF présentant le résumé du datasheet de tous les 74xxx, à raison par exemple d'un composant par page.
Je n'ai besoin que du brochage et de la description résumée du composant (table de vérité, etc...)

Ce qu'il te faut c'est une bible imprimée par le meilleur éditeur en la matière :

(http://img1.uplood.fr/mamu/s4pu_dscf4102.small.jpg) (http://img1.uplood.fr/mamu/m312_dscf4102.jpg)

C'est un document papier qui rassemble tous les TTL produits par cette marque, il y a toutes les informations dont tu as besoin.
Tu peux en trouver sur le site d'enchères mondialement connu.
Préfères une édition des années 80..85 à une édition plus vieille : ces dernières ont l'épaisseur d'un dictionnaire car elles sont moins condensées et il y a moins de type de boîtiers, surtout ceux numérotés à partir de 200 comme le 74244.
Celle que j'ai prise en photo est une édition de 80 et elle pèse bien son poids ...

A+
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: AsPiC le Samedi 09 Janvier 2010, 12:19:08 pm
Lut' tout d'abord bravo pour ton travail <:)

Je ne sais pas si cela peux t'aider mais je viens de voir que arcadechips propose des ROM 6331 a la vente. Voici le liens au cas ou cela pourrai te dépanner :
http://www.arcadechips.com/product_info.php?products_id=64&osCsid=5272ddcda4fc1e08d25d9555afbbcf02

 :)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Samedi 09 Janvier 2010, 14:50:49 pm
Bonjour.

De mon point de vue, je dirais que cette PROM est malade. Je ne pense pas qu'il soit normal que des bits du bus de données bagottent sur certaines transitions du bus d'adresse, alors que ces transitions n'affectent pas les valeurs à lire d'après le contenu de la PROM.
N'ayant pas un 2e PCB qui fonctionne, je ne peux pas tester les PROM accusées d'être malades sur un PCB témoin.
N'ayant pas la spécification technique détaillée de la PROM à fusible, je ne peux pas dire si son fonctionnement est en-dehors des spécifications :
  • soit le constructeur indique qu'après une transition sur le bus d'adresse, tous les bits de données peuvent bagotter pour finalement se stabiliser à la valeur devant être lue ; dans ce cas le composant est conforme
  • soit seuls les bits de données affectés par la transition sur le bus d'adresse doivent changer ; dans ce cas le composant est non-conforme

Il ne faut pas oublier que tous les bus sont rebouclés à travers des latches sensibles non pas à un niveau logique mais à une transition sur leur entrée d'horloge, ce qui oblitère pas mal de phénomènes transitoires.

Prenons par exemple ce cas bien particulier :
Les données en sorties des latches seront certes accessibles 1/2 période d'horloge plus tard, par contre elles seront "glitches-free" car les données en sortie de PROM fusible auront eu le temps de se stabiliser bien avant le front montant du signal d'horloge.

Donc prudence, il faut bien connaître le séquencement interne des transferts entre tous les circuits avant de tirer une conclusion trop hâtive.

A+
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: High_Cobra le Samedi 09 Janvier 2010, 16:22:52 pm
Bonjour.

Ce qu'il te faut c'est une bible imprimée par le meilleur éditeur en la matière :

(http://img1.uplood.fr/mamu/s4pu_dscf4102.small.jpg) (http://img1.uplood.fr/mamu/m312_dscf4102.jpg)

C'est un document papier qui rassemble tous les TTL produits par cette marque, il y a toutes les informations dont tu as besoin.
Tu peux en trouver sur le site d'enchères mondialement connu.
Préfères une édition des années 80..85 à une édition plus vieille : ces dernières ont l'épaisseur d'un dictionnaire car elles sont moins condensées et il y a moins de type de boîtiers, surtout ceux numérotés à partir de 200 comme le 74244.
Celle que j'ai prise en photo est une édition de 80 et elle pèse bien son poids ...

A+

J'ai une dizaine de docs comme ça aussi, de plusieurs fabricants, pour plusieurs types de composants, je peux jeter un oeil dedans si tu veux...

Et encore bravo pour ce topic de fou ^-^ ^-^
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Lundi 11 Janvier 2010, 00:39:10 am
Bonsoir.

Mise à jour de ce WIP d'endoscopie du CPU Cinematronic.

Samedi et dimanche matin, j'ai fait un gros boulot sur la documentation.
Vu qu'elle est assez peu lisible par endroit, j'ai repris le schéma Cinematronics et j'ai ajouté pour la plupart des composants :

Y'a pas à dire, le "CCPU" (Cinematronic CPU) est une sacrée usine à gaz.
Il a été conçu par le sieur Larry Rosenthal, diplômé du MIT (http://web.mit.edu/)... Quelques infos sur cette page (http://cinematronics.org/index_files/Page350.htm) pour les curieux.

Déjà, j'ai compris un premier truc en regardant le code de l'émulateur du CCPU dans Mame.
Pour ceux qui ont les sources de Mame, regardez dans le fichier src/emu/cpu/ccpu/ccpu.c.
Il existe une instruction assembleur appelée "CST" (opcode $7F $F7) qui reset le watchdog. Sans cette instruction exécutée périodiquement, le CCPU est automatiquement reseté.
Il suffit au développeur du jeu de placer cette instruction à la fin de la boucle principale du jeu et le tour est joué.
Si le jeu ne démarre pas ou plante, alors le watchdog fera son boulot.

J'ai décidé, dimanche après-midi, d'arrêter de me peler les glaouis dans mon sous-sol et d'avoir les extrémitées engourdies.
J'ai temporairement déplacé mon banc de test de PCB dans mon bureau, chauffé :

(http://img1.uplood.fr/free/ghk5_20100110_210254_6860_img.jpg) (http://www.uplood.fr)

Je peux bosser assis confortablement, j'ai toute la doc que je veux sous la main ou à portée de clic, et j'ai chaud !

Mes investigations ont continué en marche arrière sur le watchdog du PCB, pour être sûr qu'il n'est pas lui-même en panne et reset anormalement le PCB.
J'ai contrôlé à l'oscillo toutes les portes logiques impliquées dans le watchdog et je n'ai rien trouvé d'anormal.
Je n'ai pas cherché plus loin la raison d'aboiement du watchdog, car je sais maintenant que c'est une instruction assembleur non périodiquement exécutée qui en est la raison.

J'ai ensuite décidé de jetter un coup d'oeil d'oscillo sur les 3 puces de RAM.
Je me suis rendu compte qu'elles étaient assez peu sollicitées : leur bus d'adresse ne bouge presque pas.
J'ai alors essayé de comparer les données en entrée et les données en sortie, vue que les broches sont séparées.
C'est un peu blairométrique, mais je me suis dis que si je voyais un signal en entrée toujours à 0 ou à 1 ou bagotter (http://fr.wiktionary.org/wiki/bagotter) et que la sortie correspondante n'avait jamais la même tête, alors peut-être que je devrais gratter un peu plus là.

Finalement, j'ai découvert que 3 des bits de donnée en entrée de la RAM avaient un niveau TTL fixe.
Je trouve que c'est assez peu plausible pour être honnête.

(http://img1.uplood.fr/free/g84d_ram.png) (http://www.uplood.fr)
Extrait de la page 25

En rouge, ce sont les 3 entrées des puces de RAM qui ne bagottent pas K1, K3 et K10.
C'est peut-être un hasard, mais je n'y crois pas.
Entouré en vert, on voit 2 petites inscriptions "(2)". J'ai heureusement compris depuis un moment ce qu'elles signifient.
Elles indiquent que le composant qui génère ces signaux est situé page 2 des schémas.
Croyez moi, cette modeste information est particulièrement précieuse pour s'y retrouver.

Voici IC016 ("N2" chez Cinematronics), un des 3 composants qui génère le bus "K" dont 3 bits sont louches.
Celui-là est chargé de générer K0 à K3 :

(http://img1.uplood.fr/free/3itr_257.png) (http://www.uplood.fr)
Autre extrait de la page 25

Le composant en question est un 74LS257. Grosso modo, c'est un switch qui permet soit d'avoir K=A ou K=B selon la broche SELECT (entourée en bleu).
J'ai vérifié que cette broche SELECT est en permanance à l'état haut.
A priori, il semble que ce soit normal vu le fonctionnement dégradé du PCB actuellement.
La broche 15, entourée en vert, est la broche "/OUTPUT_CONTROL".
Il faut qu'elle soit à l'état bas pour que la sortie du composant soit valide. C'est bien le cas.

D'après le datasheet du composant, dans ces conditions (SELECT=1, /OUTPUT_CONTROL=0), je devrais avoir K1 (broche 9) = PA1 (broche 10).

Or voici ce que mon oscillo renifle :

(http://img1.uplood.fr/free/z3vz_broche_10.png) (http://www.uplood.fr)
Broche 10 : PA1
(http://img1.uplood.fr/free/2m00_broche_09.png) (http://www.uplood.fr)
Broche 9 : K1

 :-)=

Il y a plusieurs conclusions possibles, qui ne sont pas mutuellement exclusives :

À suivre :
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Lundi 11 Janvier 2010, 10:06:41 am
Bonjour.

Déjà, j'ai compris un premier truc en regardant le code de l'émulateur du CCPU dans Mame.
Pour ceux qui ont les sources de Mame, regardez dans le fichier src/emu/cpu/ccpu/ccpu.c.
Il existe une instruction assembleur appelée "CST" (opcode $7F) qui reset le watchdog. Sans cette instruction exécutée périodiquement, le CCPU est automatiquement reseté.
Il suffit au développeur du jeu de placer cette instruction à la fin de la boucle principale du jeu et le tour est joué.
Si le jeu ne démarre pas ou plante, alors le watchdog fera son boulot.

Cette information à piqué ma curiosité et j'ai donc sollicité Google avec les mots clefs suivants "ccpu mame cinematronics". Quelle ne fut pas ma surprise de voir que ce CCPU était parfaitement connu et bien doccumenté, il y a tout ce qu'il faut et dont on aurait pu rêver :

Le lien miraculeux : http://zonn.com/Cinematronics/

Les liens annexes :
Pour exemple : le synoptique du CCPU
(http://img1.uplood.fr/mamu/t9jk_ccpu.small.gif) (http://img1.uplood.fr/mamu/w3gk_ccpu.gif)

Tous ces documents devraient aider à la compréhension du fonctionnement du CCPU et permettre de faire une recherche de la ou des panne(s) qui soit un peu moins à l'aveuglette.
Un homme averti en vaut deux !

A+
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mercredi 13 Janvier 2010, 00:00:29 am
Bonsoir.

Voici une mise à jour de ce WIP.

Suite à ce message (http://www.gamoover.net/Forums/index.php?topic=20677.msg298991#msg298991) de gc339, j'ai récupéré les documents cités et je les ai parcourus.
Pour un CPU implémenté en portes TTL, les possibilités sont certes modestes, mais quand même assez puissantes.
La compréhension des possibilités du CPU a facilité celle du schéma électronique.
Ainsi je vois dans les grandes lignes à quoi servent certains signaux, la raison de l'agencement de certains composants, etc...

Depuis la dernière mise à jour, je me suis inscrit sur une liste de diffusion dédiée aux jeux d'arcade vectoriels : vectorlist (http://www.vectorlist.org/).
Respectant les règles élémentaires de courtoisie, je me suis présenté et j'ai expliqué que j'étais en train de dépanner un PCB SEGA qui implémente un CPU Cinematronics.
Des gens très sympas m'ont acceuilli.
Leur compétence technique sur les CCPU est inimaginable.
L'une des personnes vend (je pense à titre privé) :
Une autre personne a répondu aussi à mes questions de manière extrêment précise et m'a conseillé pour la suite de mon dépannage.
Il s'agit de Mark SHOSTAK.
Cette personne travaille chez CineLabs (http://www.cinelabs.com/), une société spécialisée dans... le dépannage des cartes à base de CCPU (entre autres) !

On m'a proposé de dépanner ma carte, mais j'ai décliné cette offre pour le moment, préférant le faire moi-même.
La personne de CineLabs a été très surprise de voir un CCPU sur un PCB SEGA.
J'ai donné le lien vers ce WIP, même si je pense que la langue restera un obstacle.
Il a été constaté sur les photos que mon PCB SEGA ne dispose pas des emplacements prévus par Cinematronics pour la mise en oeuvre d'un dépannage avec l'Exorciser.
On se demande donc comment les techniciens SEGA pouvaient bien faire pour dépanner ces cartes...
Les photos ont permis aussi de voir à quoi ressemble la borne SEGA.



Je reprends l'endoscopie du CCPU...

La dernière fois, j'avais identifié un problème majeur au niveau du bus "K", où 3 de ses bits étaient mauvais.

J'ai fait l'hypothèse que c'était la puce de RAM qui imposait l'état du signal via l'une de ses broches d'entrées.
J'ai donc dessoudé ce composant :

(http://img1.uplood.fr/free/ktht_20100111_205952_6873_img.jpg) (http://www.uplood.fr)

Notez que j'ai collé sur le PCB plein de petites étiquettes afin de retrouver instantanément un composant à partir de sa référence sur le schéma Cinematronics.

Ensuite, j'ai mis un support à la place, pour pouvoir remettre et retirer le composant à ma guise.
Problème : ce composant a un écartement entre ses 2 rangées de broches de 0,4 pouces, ce qui est assez peu courant (0,3 pouces est largement plus courant) :

(http://img1.uplood.fr/free/bu3u_20100111_231736_6875_img.jpg) (http://www.uplood.fr)

N'ayant que des supports de 0,3 ou 0,6 pouces de large, j'ai utilisé le système D...

Déjà, il faut 2 × 22 = 44 broches, ce que je n'ai pas.
Donc, je prends un support de 14 broches et un autre de 8 :

(http://img1.uplood.fr/free/isrq_20100111_231818_6876_img.jpg) (http://www.uplood.fr)

Puis je sépare les rangées avec une pince coupante :

(http://img1.uplood.fr/free/uln7_20100111_231840_6877_img.jpg) (http://www.uplood.fr)

Pour pouvoir tout souder tranquillement, je joue aux Légos avec d'autres supports.
Les autres supports apportent un maintient mécanique et le bon écartement :

(http://img1.uplood.fr/free/9mua_20100111_232112_6878_img.jpg) (http://www.uplood.fr)

Et voilà :

(http://img1.uplood.fr/free/eo0n_20100111_232944_6879_img.jpg) (http://www.uplood.fr)

Ensuite, je refais la mesure, avec le composant absent.
Si c'était lui qui imposait le niveau haut, son absence doit permettre de retrouver un signal normal.

Finalement, le problème que j'avais observé est toujours présent.
Je décide donc de tester le composant chargé de générer les bits malades.
Il s'agit de N2, soit IC16.

Je le dessoude :

(http://img1.uplood.fr/free/7vx5_20100111_212056_6874_img.jpg) (http://www.uplood.fr)

Puis je soude un support et replace le composant sur le support.
Je plie légèrement la broche de sortie que je pense être malade, de sorte à l'isoler du reste du circuit.

(http://img1.uplood.fr/free/q0up_20100112_223100_6881_img.jpg) (http://www.uplood.fr)

Après test, il apparaît bien que le composant est malade.
Il a 2 sorties qui restent en permanance à l'état haut alors qu'elles devraient bagoter.
J'ai 2 de ces composants sur les 3 installés qui ont un problème.
A chaque fois, j'ai vérifié en isolant la broche (méthode du pliage) et en vérifiant son niveau.
J'ai vérifié que le signal sur le PCB était à un niveau "non positionné", soit environ 2,5 V. Pour moi, aucune entrée d'un autre circuit ne "tire" ce signal anormalement vers la masse ou vers VCC.

Ce matin, le crémier m'a vendu 2 composants neufs que j'ai mis sur les supports soudés la veille :

(http://img1.uplood.fr/free/actc_20100112_223918_6882_img.jpg) (http://www.uplood.fr)

Après mise en route et test, je constate qu'il n'y toujours pas de commande sur les bus X et Y qui communiquent avec l'écran.
Je jette un coup d'oeil sur le reset, et effectivement, le chien de garde continue d'aboyer.
Le CCPU est toujours réseté périodiquement.

Il y a donc une autre panne et je m'en doutais un peu.

Je reprends donc les investigations autour des puces de RAM L14, M14 et N14.
Cette fois, je me rends compte qu'une des sorties de L14 est complètement à l'ouest.
Elle bagotte correctement puis me fait un beau signal analogique particulièrement esthétique, mais pas du tout TTL...
Il s'agit de la broche n°16 qui correspond à la sortie du 4e bit de données (signal "W3" sur le schéma Cinematronics).

Malheureusement, j'ai fait une fausse manip avec la sonde de l'oscillo.
Tel le soldat Pithivier dans la 7e Compagnie, « j'ai glissé chef ! »...
La sonde a glissé et a fait contact entre la broche 16 (O3) et sa voisine la broche 17 qui est reliée à VCC.
Bilan : fini le beau signal analogique totalement anormal ; j'ai maintenant un signal TTL qui bagote comme les autres.
Le PCB ne fonctionne ni mieux ni moins bien suite à ça, mais je pense avoir quand même grillé un peu plus le composant.

Voici la scène reconstituée :

(http://img1.uplood.fr/free/en6u_20100112_231630_6884_img.jpg) (http://www.uplood.fr)


Je pense que je vais passer commande chez Arcade Chips (http://www.arcadechips.com/).
Les puces de RAM en question sont disponibles (http://www.arcadechips.com/product_info.php?products_id=41) pour 1,5 dollar pièce.
Je vais en profiter pour commander aussi quelques composants spécifiques pour l'écran X-Y.


À suivre...
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Mercredi 13 Janvier 2010, 09:57:18 am
je suis toujours subjugé comme tu te lance la dedans...
on dirai Gandalf qui fait du Base Jumping dans une Moria de composants, dans un abime électronique... ^-^

je suis vraiment fan de ce topic, même si je comprends que pouic  :o


il faut quand même que je pose une question:

le modèle de cinématronic est bien antérieur à celui de sega? on peu donc penser (raisonablement) que celui de sega est basé sur le modèle cinématronics. l'architecture et la présentation des composants est quasi la même, alors pourquoi CNM (j'abrège cinématronics) à laissé une porte de service sur sa carte et pas Sega ?

n'empèche que si ça continue, le plus simple serai de "ressortir" toutes les roms de mame, de remmettre TOUTES les puces à neuf avec l'aide d'un prog d'eprom, de tout ressouder et de tester. ça eviterai de t'arracher les cheveux dans cette architecture en boucle qui rend toute analyse quasi impossible... :-X

ce serai possible et pas trop onéreux  ??  :-[ du coup après la panne ne pourrai venir plus que d'une piste ou d'un condo / résistance... :-\
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Jeudi 14 Janvier 2010, 00:23:13 am
le modèle de cinématronic est bien antérieur à celui de sega? on peu donc penser (raisonablement) que celui de sega est basé sur le modèle cinématronics. l'architecture et la présentation des composants est quasi la même, alors pourquoi CNM (j'abrège cinématronics) à laissé une porte de service sur sa carte et pas Sega ?

Cette carte réalise un CPU. Le terme adéquat est l'anglicisme "implémenter (http://fr.wikipedia.org/wiki/Mise_en_œuvre)". Le jeu qui est dedans s'appelle Space Wars.
Ce CPU est une architecture électronique dédiée aux jeux vectoriels.
Le schéma du CPU et le jeu Space Wars ont été conçus par une personne nommée Larry Rosenthal.

Rosenthal a vendu une licence d'exploitation à Cinematronics, mais a conservé la propriété intellectuelle.
Cette carte a pris le nom de "CCPU" (Cinematronics CPU) bienque Cinematronics n'en soit pas le concepteur ni le propriétaire intellectuel.
Il y a 2 possibilités :
Dans les 2 cas, SEGA a certainement récupéré l'industrialisation (production de série), donc aucune raison d'avoir une implantation différente.
Je pense que SEGA a fait une modif mineure au niveau des PROMs de jeu certainement pour adresser soit un problème de coût de composants, soit un problème d'approvisionnement.
SEGA n'a pas jugé utile de prévoir les emplacements pour la connection de l'Exorciser.
Peut-être n'ont ils pas acheté la licence d'utilisation de l'outil, peut-être qu'ils disposent de leur propres outils (planche à clous par exemple).

n'empèche que si ça continue, le plus simple serai de "ressortir" toutes les roms de mame, de remmettre TOUTES les puces à neuf avec l'aide d'un prog d'eprom, de tout ressouder et de tester. ça eviterai de t'arracher les cheveux dans cette architecture en boucle qui rend toute analyse quasi impossible... :-X

ce serai possible et pas trop onéreux  ??  :-[ du coup après la panne ne pourrai venir plus que d'une piste ou d'un condo / résistance... :-\

Une personne ayant une très grande expérience dans le dépannage des cartes CCPU m'a indiqué que si le contenu d'une PROM était bon, alors il y avait 99,9% de chances que la PROM fonctionne.
En 15 ans de dépannage de CCPU, il n'a jamais vu une PROM déconner alors que son contenu était bon.

Pour infos, les PROMs présentes sur le PCB ne sont pas des EPROM.
Les PROMs ne sont programmables qu'une et une seule fois et ne peuvent pas être effacées.
Lorsqu'elle est vierge, elle comporte tout une structure de micros-fusibles que l'on vient détruire lors de la programmation. C'est donc irrémédiable.


Je ne m'arrache pas trop les cheveux. J'ai trouvé une méthodologie et une technique de mesure qui semblent bien fonctionner :

Mon problème aujourd'hui est un problème de disponibilité de composant pour remplacer IC145.
C'est un composant de RAM de la fin des années 70 / début des années 80.
Je dois le commander dans une boutique aux États-Unis.
J'attends lundi prochain pour passer commande. J'aurai peut-être des composants supplémentaires à commander pour le PCB Space Invaders de ZBP.



Je profite de ce message pour une petite mise à jour du WIP.

J'ai re-testé à l'oscillo la sortie malade de la puce de RAM IC145.
À ma grande surprise, le beau signal analogique, preuve de la panne, est réapparu.
Cette fois, j'ai pu faire 2 captures d'écrans, à des fréquences de balayage différentes :

(http://img1.uplood.fr/free/leol_broche_16_1us.png) (http://www.uplood.fr) (http://img1.uplood.fr/free/s05q_broche_16_500ns.png) (http://www.uplood.fr)
IC145 (L14), broche 16 (Out4)

Normalement sur cette broche, je dois avoir un signal TTL, c'est a dire dont la tension est soit d'environ 0 V (conventionnellement appelé "0"), soit environ 4 à 5 V (conventionnellement appelé "1").
Or je vois un signal qui fait un peut n'imp...


J'ai fait le test de plier la broche suspecte avant de replacer le composant sur son support.
Là, j'ai un signal propre sur la broche isolée.
Du coup je me dis que c'est un autre composant qui est malade et qui vient polluer le signal.
Mais pourtant, si je mesure le signal dans ces circonstances, je le trouve à une valeur intermédiaire, signe qu'aucun circuit ne tente de lui imposer une valeur.

Je pense que lorsque le CCPU fonctionne avec la broche de RAM isolée, il doit planter encore plus tôt et je n'ai pas la même signature.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Samedi 16 Janvier 2010, 14:09:31 pm
Bonjour.

Voici une petite mise à jour de ce WIP, en attendant zebassprophet qui est sur la route pour arriver chez moi.

Des personnes de la liste de diffusion vectorlist m'ont demandé des photos du panel de la borne.
Voici :

(http://img1.uplood.fr/free/hav0_20100111_081906_6861_img.jpg) (http://www.uplood.fr)
Panel de la borne

(http://img1.uplood.fr/free/d5sv_20100111_081922_6862_img.jpg) (http://www.uplood.fr)
Il existe un panel US dessous...

(http://img1.uplood.fr/free/e5la_20100111_082024_6863_img.jpg) (http://www.uplood.fr)
Vue de dessous, joueur de gauche

(http://img1.uplood.fr/free/5slc_20100111_082400_6868_img.jpg) (http://www.uplood.fr)
Vue de dessous, joueur de droite

On constate qu'il y a de nombreux emplacements vides dans le panel US pour tous les boutons normalement prévus pour ce jeu.
SEGA, en recouvrant le panel US par un panel FR a décidé de masquer certains emplacements pour des boutons.
Il y a donc de nombreuses options de jeu qui sont innaccessibles.  :-((



Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Samedi 16 Janvier 2010, 14:53:23 pm
Bonjour encore.

Voici une mise à jour supplémentaire de ce WIP.

Merci à nicolas-le-jardinier qui m'a scanné et envoyé par mail les pages de la doc Cinematronic que je lui avais demandées.
Le scan est de qualité, ainsi j'ai accès à la doc avec la qualité d'origine.
Par endroit le schéma est lisible, à d'autres non. Mais au moins le problème n'est plus dû au document numérisé.
Ce scan me servira pour lire certaines parties du schéma écrites en tout petit, souvent illisibles sur le 1er document que j'ai récupéré.
Il faut savoir que le document original est souvent une photocopie de photocopie, réduite qui plus est.
Elle ne peut donc pas avoir la précision du schéma original.

J'ai décidé de tester le contenu des PROMs du PCB :

Pour ça, j'ai dû dessouder ces 14 circuits intégrés...
De plus, je voulais aussi faire quelques manip avec les puces de RAM. j'ai donc dessoudé les 2 dernières puces (sur les 3 présentes en tout).

Cette modeste photo est en fait le résultat de plusieurs heures de travail sur le PCB :

(http://img1.uplood.fr/free/jb1s_20100115_234710_6894_img.jpg) (http://www.uplood.fr)
Composants dessoudés


En regardant la référence des PROM SEGA ("PR-03", etc...), je me demandais si SEGA utilisait des numéros uniques pour toute PROM/EPROM de jeu.
Par exemple, "EPR-7457" est une référence à priori unique, présente sur les PCB Quartet.
Si c'est bien ça, j'ai sur ce PCB la 3e référence de ROM SEGA.  =:))
Pas forcément la 3e ROM de l'histoire de SEGA, mais peut-être la 3e ROM depuis que SEGA a adopté ce système de numérotation.

Voici l'emplacement des PROMs du jeu :

(http://img1.uplood.fr/free/trb6_20100115_234526_6892_img.jpg) (http://www.uplood.fr)

Il manque 2 pastilles de cuivre sur IC84. C'est sans conséquence pour l'électronique.
Je ne pense pas être le seul responsable de cet incident.
Les PROMs avaient des traces évidentes de soudure à la main.
Probablement qu'elles ont été dessoudées déjà une première fois, et que la personne ayant fait ce travail n'a pas consacré la même minutie que moi dans cette opération.
Malgré tout le soin observé durant cette intervention, 2 pastilles se sont arrachées.


Voici le PCB avec des supports, et les composants dessoudés installés respectivement à leur emplacement d'origine :

(http://img1.uplood.fr/free/cjlm_20100116_144336_6898_img.jpg) (http://www.uplood.fr)
Composants sur supports


Au début, je ne voulais pas trop mettre de supports pour garder le PCB au plus près de son état d'origine.
Je l'ai fait à contre-coeur, car je dois absolument vérifier le contenu des PROMs et pouvoir en changer une facilement le cas échéant.
Mon modeste stock de supports divers a pris une claque. Il reprendra son niveau standard dès ma prochaine visite chez le crémier ou ma prochaine commande chez Électronique Diffusion.

Un essai rapide avec vérifications à l'oscillo à certains point clés m'a confirmé que cette opération de dessoudage / supports / remise en place n'a pas provoqué de panne supplémentaire.


À suivre :
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Mercredi 20 Janvier 2010, 19:30:24 pm
je redéterre ce topic que j'apprécie tant  ):))s=

alors ? comment va la Space Ship? :D
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Samedi 23 Janvier 2010, 12:31:27 pm
Bonjour.

Le WIP de réparation de cette borne continue petit à petit.

J'ai dumpé toutes les PROMs de 32 × 8 bits :

(http://img1.uplood.fr/free/thumbnails/ki4o_dump.png) (http://www.uplood.fr/visu.php?url=http://img1.uplood.fr/free/ki4o_dump.png)
Contenu des PROM 32 × 8 bits

Je n'ai scanné que le recto de mon document. Il y a un 5e dump au verso.

Je me suis rendu compte qu'un des bits d'une EPROM n'avait pas les valeurs attendues dans 16 cas sur 32 possibles.
Ma PROM sort un "0" logique (état bas) alors que d'après le dump trouvé sur le net, je devrais avoir pour ces 16 cas un "1" logique (état haut).
Les valeurs louches dans mon document ont un coin noirci.
J'ai d'abors crû à un problème de l'EPROM.
Mais depuis hier soir cette nuit, je ne suis plus aussi sûr.
Peut-être s'agit-il plutot d'une spécificité propre à mon PB SEGA, car cette différence de contenu de PROM est indirectement liée à un écart de conception électronique par rapport au schéma "de référence" qui est le schéma Cinematronic.
Voir plus bas dans ce même message quel est cet écart.

Le dump "manuel" des PROMs s'arrête là.
Pour toutes les autres, il me faudra un système "semi-automatique" où c'est un compteur TTL qui génère le bus d'adresse.
J'incrémenterai le compteur avec un simple montage flip-flop.
Je suis toujours en attente de mon programmateur d'EPROM acheté en Chine via un site d'enchères mondialement connu.
C'est le moment de placer une de mes contrepétries favorites : "il arrive à pied par la Chine".  :D


La suite du WIP, c'est un débuggage pas à pas de l'électronique du CCPU.
L'idée est la suivante :
C'est un peu comme un film qui serait en mode pause.
Mon bouton, c'est la télécommande qui me permet d'avancer image par image au rythme où je veux.
J'ai ainsi le temps de faire toutes les investigations que je veux avant de passer à l'étape d'après.

La réalisation de l'anti-rebond est identique à ce schéma (http://www.sonelec-musique.com/electronique_bases_bascule_on_off.html) (voir "Bascule à CD4011") sauf que je dois utiliser un 74LS00 (techno TTL) qui est l'équivallent du CD4011 (techno CMOS).


Voici le 1er étage de l'oscillateur du PCB :

(http://img1.uplood.fr/free/gyhn_20100122_222046_6906_img.jpg) (http://www.uplood.fr)
1er étage de l'oscillateur

Il est constitué d'un quartz, d'un condensateur, de 2 résistances et d'un boîtier 74LS04 (6 portes inverseuses).

Je pensais, tel un bourrin de base, dessouder le 74LS04, mais ce n'est pas nécessaire. Il suffit de dessouder le quartz et une résistance :

(http://img1.uplood.fr/free/erir_20100122_223620_6907_img.jpg) (http://www.uplood.fr)
Quartz et résistance retirés

Ensuite je prépare mon 74LS00 pour une installation par-dessus un circuit déjà soudé.
C'est ce qu'on appelle dans le jargon électronique une "verrue".

(http://img1.uplood.fr/free/1355_20100122_223728_6908_img.jpg) (http://www.uplood.fr)

J'ai mis à l'horizontale toutes les broches sauf la 7 (GND) et la 14 (VCC).
En le placant au-dessus d'un boîtier TTL à 14 broches pas trop exotique, les broches 7 et 14 vont tomber pile en face de ce que je veux.
Ensuite, il me reste à cabler le bouton poussoir et le flip-flop.

(http://img1.uplood.fr/free/4i33_20100122_231216_6909_img.jpg) (http://www.uplood.fr)

(http://img1.uplood.fr/free/efz8_20100122_231314_6911_img.jpg) (http://www.uplood.fr)

J'ai maintenant un PCB qui ne peut fonctionner qu'en pas à pas.
Dès la mise sous tension, il... ne fait rien.
Il est simplement figé, faute de signal d'horloge.
C'est mon doigt qui va remplacer les vibrations d'un cristal de quartz (http://fr.wikipedia.org/wiki/Quartz_(électronique)).


Maintenant que mon PCB ne sait faire que du pas à pas, l'idée est la suivante :


C'est donc là que j'ai regardé en détail l'agencement des 8 PROMs qui contiennent le code du jeu.
C'est là l'une des principales différences avec le schéma de référence :

(http://img1.uplood.fr/free/klmq_schema_proms.png) (http://www.uplood.fr)
Correspondance EPROMs Cinematronics / PROMs SEGA

SEGA a associé les boitiers 4 bits deux par deux pour faire l'équivallent d'un boîtier 8 bits.
Le bit A11 (à gauche sur le schéma) passe bien par une porte spéciale (boîtier TI SN74265) qui assure 2 sorties complémentaires et parfaitement synchrones. Ces 2 sorties sélectionnent les boîtiers PROMs quatre par quatre comme sur mon schéma.
Attention : cette entrée de sélection est active à l'état bas :
Par contrel la bascule JK (en bas à droite) est absente du PCB SEGA, les 2e entrées /CS des 8 boîtiers PROMs sont en permanance à l'état bas.

Ce qui est bizarre, c'est que d'après le schéma original Cinematronic, si la bascule JK ne sélectionne pas la bonne paire de boîtiers EPROM (U7+R7 ou bien T7+P7), alors selon la valeur du bit A11, on risque de lire "dans le vide" (aucun boîtier sélectionné) :
Bizarre...
La conception du CCPU permet d'avoir plusieurs "pages" de code en ROM. Peut-être que mon schéma est incomplet ?


Pour en revenir à mon PCB SEGA, là je n'ai pas de doute : la sélection de page de ROM n'existe pas, et c'est seul le bit A11 qui choisit la quadrette de boîtiers PROM.

Grâce à nicolas-le-jardinier qui m'a scanné son document Cinematronic, j'ai le contenu du code du jeu (sous forme hexadécimale) facilement accessible :

(http://img1.uplood.fr/free/5stq_hexa.png) (http://www.uplood.fr)

Le jeu commence par le code machine "49 E7".
Un petit tour par le "Programmer's Reference Guide" du CCPU (voir ce message (http://www.gamoover.net/Forums/index.php?topic=20677.msg298991#msg298991) de gc339), et je sais que :

Par contre, dès la 1ère instruction, ça chie déja...
Au lieu de lire "49 E7", mon CCPU lit "09 E7".
En effet, j'ai découvert que le bit D2 de la PROM PR-08 semble malade.
Quand il veut passer à l'état haut, il se positionne à peine à 0,5 V...
Je dois investiguer si la PROM est en cause, ou si le signal est bouffé par un autre composant.

Du coup, le CCPU exécute :

Je flique les boîtiers U11 et T11...
C'est bon, leur entrée SELECT est à l'état bas, ils laissent passer les boîtiers "pairs". Tout va bien.

Je flique le boîtier S13...
C'est bon, "on" l'active bien (/LDR passe à 0).
Je regarde sur le front montant de la CLOCK (j'appuie sur mon bouton)...
Et paf ! Sur le front montant de la clock, les sorties du latch changent, mais pas avec les données qu'on lui a présentées :

Ben ça commence fort, ce mode pas à pas...
Ce n'est pas la bonne instruction qui est lue.  :-((
L'instruction exécutée à la place ne l'est même pas correctement...  :-((


A suivre :


Merci à gc339 pour ses conseils : j'aurais inutilement dessoudé le composant I2, inutilement utilisé 2 boutons poussoirs alors qu'un seul suffisait.  <:)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Samedi 23 Janvier 2010, 13:52:00 pm
Bonjour.

Je me suis rendu compte qu'un des bits d'une EPROM n'avait pas les valeurs attendues dans 16 cas sur 32 possibles.
Ma PROM sort un "0" logique (état bas) alors que d'après le dump trouvé sur le net, je devrais avoir pour ces 16 cas un "1" logique (état haut).
Les valeurs louches dans mon document ont un coin noirci.
J'ai d'abord crû à un problème de l'EPROM.
Mais depuis hier soir cette nuit, je ne suis plus aussi sûr.
Peut-être s'agit-il plutôt d'une spécificité propre à mon PB SEGA, car cette différence de contenu de PROM est indirectement liée à un écart de conception électronique par rapport au schéma "de référence" qui est le schéma Cinematronic.
Voir plus bas dans ce même message quel est cet écart.

Comme quoi il faut toujours se méfier, le jeu cloné n'est pas toujours une copie conforme

(http://img1.uplood.fr/free/efz8_20100122_231314_6911_img.jpg)

C'est mon doigt qui va remplacer les vibrations d'un cristal de quartz (http://fr.wikipedia.org/wiki/Quartz_(électronique)).

Il ne va pas faire que remplacer la vibration du quartz, il va aussi faire osciller dangereusement cet "échafaudage" à chaque appui sur le bouton poussoir, ce n'est pas très prudent ! Il eu mieux valu fixer le bouton poussoir sur une petite équerre métallique boulonnée dans un des trous de fixation du PCB (j'en ai ai au moins distingué deux sur les photos, un dans chaque angle, sur le bord opposé au connecteur).


Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Samedi 23 Janvier 2010, 21:42:23 pm
Bonsoir.

je n'ai pas réussi à trouver où était stocké ce registre J sur le PCB...

Citation de: Zonn Moore : http://zonn.com/Cinematronics/files/CineRef.pdf
2.3.5 The ‘J’ register

The CPU’s jump opcodes do not, in themselves, contain the destination addresses of the jumps. Instead all jumps jump to the address contained in the ‘J’ register, which must be loaded previous to the execution of a jump instruction.

Il ne faut pas faire une fixation sur la notice du "Space Wars" et ne pas hésiter à aller bouffer à tous les râteliers consulter les autres notices de jeux à base de CCPU.

Par exemple la notice du "Star Castle (http://www.outerworldarcade.com/arcade/cinematronics/manuals/Star_Castle_Manual.pdf)" est beaucoup plus prolifique à ce sujet :


(http://img1.uplood.fr/mamu/amp2_6-8.small.gif) (http://img1.uplood.fr/mamu/i8vd_6-8.gif)


(http://img1.uplood.fr/mamu/9n4t_6-4.small.gif) (http://img1.uplood.fr/mamu/4ikk_6-4.gif)

CPU BOARD page 6.3
+ Page 6.4

(http://img1.uplood.fr/mamu/9h0n_6-5.small.gif) (http://img1.uplood.fr/mamu/pam4_6-5.gif)

Page 6.5
(http://img1.uplood.fr/mamu/29tw_6-6.small.gif) (http://img1.uplood.fr/mamu/t3xi_6-6.gif)

Page 6.6
(http://img1.uplood.fr/mamu/0t1o_6-7.small.gif) (http://img1.uplood.fr/mamu/73bo_6-7.gif)

Page 6.7


Comme tous les circuits imprimés à base de CCPU Cinématronics sont pratiquement identiques quelque soit le jeu ou leur indice de version, il n'y a plus aucune difficulté à repérer ces boîtiers sur le schéma du "Space Wars" et à retrouver leurs emplacements sur le circuit imprimé Sega du "Space Ship".


Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: zebassprophet le Samedi 23 Janvier 2010, 22:07:07 pm
t'es un grand bourrin f4brice, tu es reelement impressionant niveau electronique
( de même pour gc339 , mais j'ai plus eu l'occasion de voir le travail de F4b)

bonne chance pour la suite :)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: el_nino le Samedi 23 Janvier 2010, 22:46:29 pm
t'es un grand bourrin f4brice, tu es reelement impressionant niveau electronique
( de même pour gc339 , mais j'ai plus eu l'occasion de voir le travail de F4b)

bonne chance pour la suite :)

Ils doivent avoir des chromosomes en commun avec  ceux ci
(http://imgactus2.anakinweb.com/26355_bogdanoff.jpg)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: nicolas-le-jardinier le Samedi 23 Janvier 2010, 23:12:51 pm
Pour la doc exact c'est une photocopie, il est mentionné au debut du doc que le manuel n'est plus dispo, les premieres pages sont d'ailleurs tres artisanales, shéma de la machine preque a main levé...
En tout cas content que ca puisse te servir.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Dimanche 24 Janvier 2010, 14:22:02 pm
Bonjour.

Petite mise à jour vite faite...

J'ai passé ma soirée et ma matinée à faire faire du pas à pas au PCB SEGA.
A chaque fois, je regardais l'adresse lue en ROM, la donnée lu, et comment cette donnée est traitée.

J'ai un peu avancé dans le dépannage et beaucoup plus dans la compréhension du CCPU...
La notice du jeu "Star Castle" dont le lien (http://www.outerworldarcade.com/arcade/cinematronics/manuals/Star_Castle_Manual.pdf) a été donné par gc339 m'a bien aidé aussi.

Déjà, j'avais vu qu'au lieu de lire l'instruction "49 E7", mon PCB lisait "09 E7".
J'ai découvert qu'il s'agit d'un problème avec la PROM PR-10.
Normalement, c'est PR-8 qui est sélectionnée pour toutes les adresses de 0x000 à 0x7FE (1ère motiée des ROM) et PR-10 pour celles de 0x800 à 0x8FE (2e moitiée)
Mais PR-10 a un problème. C'est soit un problème de sélection, soit un problème sur au moins 1 de ses 4 bits de sortie.
Alors qu'elle n'est pas sélectionnée, elle impose une valeur par-dessus celle de PR-08.
J'ai viré temporairement PR-10 (mon CCPU est loin d'être en état d'atteindre le code situé en 0x800).
Maintenant, il lit bien l'instruction "49 E7" comme prévu.

(http://img1.uplood.fr/free/aiht_20100123_224430_6913_img.jpg) (http://www.uplood.fr)
Broche 12 de PR-10 isolée, celle de PR-08 peut à nouveau s'exprimer

Je verrai plus tard ce qu'il en est exactement de PR-10 :
Ceci pourra être investigué en-dehors du PCB sur ma plaquette de tests à trous.

Le débuggage du CCPU a donc pu continuer.
Maintenant qu'il lit la bonne donnée contenue dans les PROM, il peut l'exécuter :
"49 E7" = "LDJ #7E9" (charger la constante 0x7E9 dans le registre J).
Grâce à la doc Star Castel, je sais dans quels composant est stocké ce registre.
Il s'agit de P13 (registre à décalage bidirectionnel de 4 bits, mais utilisé ici comme un simple latch de 4 bits) et de R13 (gros latch velu de 8 bits).
Si tout va bien, je dois voir la valeur en question être écrite dans ces composants.

Sauf que hier soir, j'ai un peu abusé des datasheets, des schémas et de l'oscillo. Mes neuronnes ont fait un "motor trouble" et j'en étais resté à être persuadé que cette valeur "7E9" devait aller dans l'accumulateur "A", soit M4, P4 et S4 (c'était vrai tant que PR-10 mettait le bin'z et induisait d'erreur le CCPU, mais je l'ai virée).

Ce matin, à tête reposée, j'ai compris que je ne regardais pas au bon endroit...

Le débuggage va pouvoir continuer.

J'ai installé le 1er oeil de rat :

(http://img1.uplood.fr/free/09ra_20100124_141252_6917_img.jpg) (http://www.uplood.fr)

C'est une LED de 3 mm (obligatoirement rouge, sinon ce n'est plus un oeil de rat) qui reflète l'état de la clock du PCB.
J'ai préféré la commander par un petit transistor pour ne pas surcharger le boîtier 74265.

A suivre...
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: philougames le Dimanche 24 Janvier 2010, 20:56:04 pm
je n'ai qu'un mot ,impressionnant  ^-^ ^-^ bon courage a toi  <:)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Dimanche 24 Janvier 2010, 21:35:09 pm
Bonsoir.

Voici encore une mise à jour de ce WIP de dépannage de CCPU.

J'ai poursuivi l'étude du fonctionnement pas à pas du CCPU.
Mon but est de suivre au plus près le déroulement de l'exécution des instructions contenues dans les ROM du jeu.
Bien sûr il y a de quoi y passer un vie entière, mais je me limite aux premières instructions pour le moment.
Si un composant est malade, je dois pouvoir le détecter grâce à cette méthode.

Si une instruction ne fait pas intervenir un composant malade, alors son exécution se déroulera sans accroc telle un plan du célèbre colonel Hannibal Smith (http://fr.wikipedia.org/wiki/Agence_tous_risques#Le_Colonel_John_.C2.AB_Hannibal_.C2.BB_Smith).
J'ai donc dans l'idée, plus tard, de flasher mes propres EPROMs avec les instructions que je veux voir exécutées par le CCPU.
Le fait d'être en mode pas à pas me permettra d'utiliser des EPROMs de n'importe quelle vitesse.
Il y a une quarantaine d'instructions possibles, ce serait bien la poisse si toutes ont un problème.

Le CCPU charge dans un registre l'instruction courante à exécuter.
Vu qu'il est important de savoir quand ce registre est écrit, j'ai ajouté un 2e oeil de rat :

(http://img1.uplood.fr/free/yj2w_20100124_195818_6921_img.jpg) (http://www.uplood.fr)
Oeil de rat sur le signal "/LIR"

La LED matérialise le signal "/LIR" qui permet d'écrire dans le registre d'instruction.
Je suppose que ça veut dire "Load Instruction Register".
Quand ce signal est actif (état bas), le latch T13 mémorise, lors du prochain front montant de sa clock, la prochaine instruction à exécuter.
Si l'instruction comporte un 2e octet, alors ce 2e octet est traité dans le(s) cycle(s) suivant(s).

Voici tout ce que j'ai tracé pas à pas :

HexaAssembleurDescriptionStatutCommentaires
49 E7LDJ #7E9Charger le registre J avec 0x7E9OK J'ai vu "1001" être chargé dans P13 et "0111.1110" dans R13.
8ALDP #ASélection page RAM n°AOKJ'ai vu "1010" être écrit dans H12
1BINP BLecture entrée n°B (touche "0" du panel)OKLa touche n'étant pas appuyée, la résistance de pull-up a fait son boulot ; "1" est apparu dans le bit de poid faible de l'accumulateur
ECLSLDécalage logique accumulateur 1 bit vers la gaucheOKLes 2 bits de poid faible de l'accumulateur sont devenus "10"
ECLSLDécalage logique accumulateur 1 bit vers la gaucheOKLes 3 bits de poid faible de l'accumulateur sont devenus "100"
ECLSLDécalage logique accumulateur 1 bit vers la gaucheOKLes 4 bits de poid faible de l'accumulateur sont devenus "1000"
58JMPSaut à l'adresse pointée par le registre JKOL'adresse était mauvaise ; le CCPU est parti en 0x7ED (au lieu de 0x7E9, soit 1 bit de différence comme par hasard)

Mais diantre comment l'adresse du JMP (jump) peut-elle être mauvaise alors que j'ai vu (enfin, c'est plutot mon oscillo qui l'a vue) la bonne valeur être chargée dans P13/R13 ???
Quand j'ai examiné la valeur "1001" être écrite dans P13, j'avais remarqué que son 3e bit avait une tête patibulaire mais presque :

(http://img1.uplood.fr/free/6u1g_broche_13_avant.png) (http://www.uplood.fr)
bit 3 de P13 après chargement de l'adresse

1,2 V pour un état bas TTL, c'est vraiment louche.
Je ne pensais pas que ce pût être catastrophique, car je croyais que les entrées TTL voulaient au moins 3 V pour considérer un état "haut".
Finalement, rien de mieux que de se référer à une spécification technique. Au moins, on sait de quoi il est question :

(http://img1.uplood.fr/free/o319_ttl_levels.png) (http://www.uplood.fr)
Extrait de la spécification Fairchild (http://www.fairchildsemi.com/) du 74LS00

Il faut minimum 2,0 V pour qu'un signal soit considéré à l'état haut. Pas de souci avec ma valeur de 1,2 V.
Il faut maximum 0,8 V pour qu'un signal soit considéré à l'état bas. Bon, bin là c'est le drame...
Mon signal de 1,2 V n'est ni haut ni bas... Il n'a aucune valeur TTL...

En laissant le CCPU s'exécuter à peine plus loin, je me rends compte que ce bit foireux passe à l'état haut sur le front descendant du signal appliqué sur la broche 11 du composant :

(http://img1.uplood.fr/free/o11l_broche_13_apres.png) (http://www.uplood.fr)
Bit tout vilain qui fait déconner le CCPU

Là, c'est carrément répréhensible. La doc du composant indique que rien n'aurait dû se produire sur un front descendant.
Non seulement S0 et S1 étaient tous les deux à 0 (donc aucun changement sur les sorties) , mais le composant ne change d'état que sur les fronts montants :

(http://img1.uplood.fr/free/9soi_74ls194.png) (http://www.uplood.fr)
Extrait de la spec technique du 74LS194


Bon, bin voilà. J'ai un 74LS194 malade à changer...  8)

Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: jujusl le Dimanche 24 Janvier 2010, 21:39:48 pm
Très intéressant et didactique :-*
Ca me rappelle mes cours d'informatique à la fac (20 ans déjà...  :'()
 :D
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: speedsterharry le Dimanche 24 Janvier 2010, 21:54:53 pm
Quelle débauche de talent pour trouver le composant à 3 francs 6 sous défectueux !

En termes de VS fighting, on pourrait dire que tu es vraiment cracké, f4brice

Ca me rappelle une histoire (légende urbaine ?) au début des années 80 ou même 70, un ordi est en panne, il faut le réparer. Plus tard, la société qui recoit la facture voit 1.000.000$ de dollars. Furax, le patron appelle les techniciens qui ont réparé la bécane et demandent une explication. En effet, quel composant a bien pu couter si cher ?
Le gars répond: 1$ de composant et 999.999$ pour trouver la panne.
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: aganyte le Lundi 25 Janvier 2010, 07:11:15 am
F4brice le yoda de l'élec ^-^

(http://www.terminally-incoherent.com/blog/wp-content/uploads/2007/06/yoda.jpg)
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mardi 26 Janvier 2010, 01:11:17 am
Bonsoir.

Voici une mise à jour de plus concernant le dépannage de ma borne SEGA Space Ship.

Ce matin, sur le chemin du boulot, je me suis arrêté chez le crémier pour acheter un composant 74LS194.

J'ai dessoudé celui en place :

(http://img1.uplood.fr/free/xumi_20100125_191732_6922_img.jpg) (http://www.uplood.fr)

Le voici (en bas) à coté de son remplacant (en haut).
Le hasard a fait qu'ils soient du même constructeur (je pense que c'est Motorola) :

(http://img1.uplood.fr/free/coob_20100125_192640_6923_img.jpg) (http://www.uplood.fr)

Je ne suis pas sûr, mais si "8211" signie que le composant neuf a été fabriqué durant la 11e semaine de 1982, alors ce composant neuf n'est pas tout jeune : il aurait 28 ans !

Voici le nouveau composant installé sur le PCB :

(http://img1.uplood.fr/free/0p1t_20100125_234124_6939_img.jpg) (http://www.uplood.fr)

Là, j'ai à nouveau recommencé l'exécution pas à pas.
J'ai pu constater que le composant conserve maintenant correctement la valeur écrite.
Quand le "JMP" de la dernière fois est atteint, c'est bien la bonne adresse qui est utilisée, le CCPU cotinue l'exécution en 0x7E9 comme prévu.

Le changement de ce composant a donc corrigé une panne majeure du PCB.
Bien sûr, j'ignore s'il en reste d'autres....

J'ai continué l'exécution pas à pas du code présent dans les PROMs du jeu.
Tout semble fonctionner correctement. Le jeu initialise plusieurs variables en RAM.
C'est très logique de trouver ça, je pense que c'est la partie initialisation du jeu qui est comme ça.
Il reste de nombreuses instructions dont je n'ai pas pu vérifier le bon fonctionnement :

Je me suis penché sur la PROM "PR-10" que j'avais temporairement retirée car elle imposait un niveau logique sur le bus de données (au moins pour 1 bit) alors qu'elle n'était pas sélectionnée.
C'est en soit la preuve d'une panne sur ce composant.
Vu que c'est un composant programmé par SEGA et difficile à remplacer, je me suis dit que ça valait le coup de regarder de près son problème...

Ce composant est une PROM à fusibles de 1024 × 4 bits, référence HM-7643-5 du constructeur Harris (http://www.harris.com/).
Le temps d'accès est de 50 ns maxi, ce qui est très rapide.
Il dispose de 2 entrées de sélection, nommées "/CE1" (broche 8 ) et "/CE2" (broche 10).
Il faut que toutes les deux soient simultanément à l'état bas pour que le bus de donnée soit "actif". Sinon, il est dans un état "haute impédance", l'équivalent de "déconnecté".
SEGA, qui n'avait besoin que d'une unique broche de sélection a donc relié "/CE1" en permanence à la masse et n'utilise que "/CE2".

L'hypothèse que je veux vérifier est la suivante :

Je réalise donc un petit montage de test de la PROM sur ma plaque d'essais "à trous"...

(http://img1.uplood.fr/free/2ym8_20100125_220950_6925_img.jpg) (http://www.uplood.fr)
Mise en place du composant, câblage alim et bus d'adresse

(http://img1.uplood.fr/free/j7zv_20100125_222100_6926_img.jpg) (http://www.uplood.fr)
Câblage du bus de données, commande des transistors

(http://img1.uplood.fr/free/rbb2_20100125_224158_6929_img.jpg) (http://www.uplood.fr)
Ajout des LEDs, mise en place d'interrupteurs sur les 4 bits de poids faible du bus d'adresse

Bon, maintenant ça ce complique...  ;)

Cas n°1.
Je sélectionne le composant. Les petits cavaliers en 1 et 2 sont présents. Ils forcent /CE1 et /CE2 à l'état bas.
Le composant est sélectionné, son bus de données est actif.
J'ai réussi à trouver une adresse où les 4 bits de données sont à l'état haut, ce qui me fait allumer les 4 LEDs.

(http://img1.uplood.fr/free/1kqu_20100125_225912_6930_img.jpg) (http://www.uplood.fr)
Cas n°1 : /CE1 et /CE2 tous les deux à l'état bas ; le composant est sélectionné

Cas n°2.
J'ai retiré le cavalier n°2, donc /CE2 est à l'état haut grâce à une résistance de pull-up. Le cavalier en 1 est toujours en place.
Cette situation devrait suffire à désélectionner le composant et son bus de données devrait passer en haute impédance.
Vu que les LEDs restent allumées, j'ai bien la preuve que l'entrée /CE2 est morte et ne permet plus de désélectionner le composant.

(http://img1.uplood.fr/free/ajb5_20100125_225954_6931_img.jpg) (http://www.uplood.fr)
Cas n°2 : /CE1 est à l'état bas, /CE2 est à l'état haut ; le composant reste anormalement sélectionné

Cas n°3.
J'ai remis le cavalier en 2 (même si en fait il ne sert plus à rien du tout vu que l'entrée est morte), et j'ai retiré le cavalier en 1.
Cette fois, j'ai /CE1 qui est à l'état haut.
Je constate que les LEDs sont maintenant éteintes.

(http://img1.uplood.fr/free/nk82_20100125_230102_6932_img.jpg) (http://www.uplood.fr)
Cas n°3 : /CE1 est à l'état haut, /CE2 est à l'état bas ; le composant semble enfin désélectionné

Pour lever l'ambiguïté, il me suffit de faire un 4e test.
Avec une résistance de pull-up, je viens "tirer vers le haut" chacun des bits du bus de données.
Si la LED s'allume, c'est que le composant est bien désélectionné et n'impose plus aucun état sur le bus.

Bingo, le composant a bien libéré le bus de données (vérifié pour les 4 bits) :

(http://img1.uplood.fr/free/ocrm_20100125_230208_6933_img.jpg) (http://www.uplood.fr)
Vérification que le bus de données est bien en haute impédance

C'est une très bonne nouvelle.
Ca veut dire que mon composant SEGA est toujours utilisable, mais je dois échanger les broches 8 et 10.

Pour échanger ces 2 broches, j'ai besoin de souder 2 petits bouts de fils.
Vu que je veux conserver la possibilité de retirer le composant sans fer à souder, je place le composant sur un support, en ayant pris soin de plier les 2 broches que je veux permuter.

(http://img1.uplood.fr/free/lu0t_20100125_230908_6934_img.jpg) (http://www.uplood.fr)
Broche 8 isolée

(http://img1.uplood.fr/free/amf6_20100125_230916_6935_img.jpg) (http://www.uplood.fr)
Broche 10 isolée

Ensuite, il me suffit de souder 2 petits bouts de fil à wrapper (http://fr.wikipedia.org/wiki/Wrapper_(électronique)) pour réaliser la permutation.
Je soude les fils sous le support, au plus haut sur la patte métallique pour ne pas gêner lors de l'insertion de l'ensemble sur le support soudé sur le PCB.

(http://img1.uplood.fr/free/espl_20100125_231944_6936_img.jpg) (http://www.uplood.fr)
Repiquage

(http://img1.uplood.fr/free/mtg6_20100125_232002_6937_img.jpg) (http://www.uplood.fr)
Repiquage

Et voilà :

(http://img1.uplood.fr/free/swxs_20100125_233234_6938_img.jpg) (http://www.uplood.fr)


J'ai testé en mode pas à pas la 1ère donnée lue en ROM.
PR-10 est bien désélectionnée et la donnée lue est bien celle de PR-8 !  :-)=


À suivre :
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: zebassprophet le Mardi 26 Janvier 2010, 01:26:30 am
tu pourrais presque monter ton wip de 1 ou 2 pourcent:p
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mardi 26 Janvier 2010, 08:24:43 am
Ayé.  :D
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Mardi 26 Janvier 2010, 09:18:13 am
 :o j'adooooooooore ce topic :-*
Titre: [WIP 10%] Borne vectorielle : Sega Space Ship
Posté par: AsPiC le Mardi 26 Janvier 2010, 10:47:51 am
Le hasard a fait qu'ils soient du même constructeur (je pense que c'est Motorola) :

C'est bien motorola.

Je ne suis pas sûr, mais si "8211" signie que le composant neuf a été fabriqué durant la 11e semaine de 1982, alors ce composant neuf n'est pas tout jeune : il aurait 28 ans !

Je confirme également cette hypothèse :)
Pour la petite histoire, vu l'âge de ce composant ce n'est probablement pas de la distribution officielle (cad vendu par le fabricant) mais probablement un composant acheté chez ce que l'on appel un Broker (En gros un brocanteur de l'électronique) ;)
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: Iro le Mardi 26 Janvier 2010, 11:09:00 am
Merci de nous donner des explications aussi détaillées (même si je/on comprend pas grand chose :D)
Faire un récit aussi propre et illustré doit prendre autant temps que le debug !!!
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Mardi 26 Janvier 2010, 11:14:40 am
Bonjour.

Afin de progresser plus rapidement et plus confortablement dans le dépannage de cette carte CCPU il serait bon que tu t'équipes d'afficheurs hexadécimaux pour visualiser le contenu des bus de la carte ou les données en sorties d'une mémoire. Ce serait quand même beaucoup plus pratique est plus lisible que d'installer une foultitude de LED's ou de balader la sonde de l'oscilloscope sur chaque fil d'un bus à chaque nouvelle instruction.

LE TIL311 de Texas Instruments :



(http://www.mikrocontroller.net/attachment/4522/til311.jpg)
(http://www.syntax.com.tw/proddata/IC/IC-TIL311.JPG)
(http://img1.uplood.fr/mamu/o0bb_til311.gif)



Le DM9368 de Fairchild :

(http://www.intertexelectronics.com/images/IC.jpg)



(http://t0.gstatic.com/images?q=tbn:VrJ4ey2J7r_s_M:http://img-europe.electrocomponents.com/largeimages/C235906-01.jpg)
(http://web.tiscali.it/lukecondor/Relazione%20Contatori_file/image005.gif)
(http://www.shree-electronics.com/images/7_segment_display.svg.png)

(http://upload.wikimedia.org/wikipedia/commons/archive/2/2b/20070128232929%21Seven_segment_display-animated.gif)
(http://web.tiscali.it/lukecondor/Relazione%20Contatori_file/image004.gif)


Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: Persecutor le Mardi 26 Janvier 2010, 15:50:10 pm
ben si j'avais su que l'on pouvait faire tout ça en electronique   :-\
j'aurais jamais seché les cours pour aller jouer a SF2 au bar du coin  :?

F4brice une fois de plus  ^-^
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Mardi 26 Janvier 2010, 16:20:57 pm


F4brice une fois de plus  ^-^

gc339 aussi  ^-
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: jujusl le Mercredi 27 Janvier 2010, 00:13:40 am
Top ce dépannage ! ^-^
La suite ! :-)=
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Samedi 30 Janvier 2010, 19:36:40 pm
Bonsoir.

Voici une mise à jour de ce dépannage.

Je rappelle la méthodologie :

Cette méthodologie m'a déjà permis de résoudre 2 problèmes :

Je la trouve très efficace, mais particulièrement longue et laborieuse.
À chaque fois, je dois vérifier à l'oscillo l'instruction exécutée, la valeur de certains registres du CCPU, etc...

L'idée de gc339 d'utiliser des composants type TIL311 (voir ce message (http://www.gamoover.net/Forums/index.php?topic=20677.msg300882#msg300882)) serait un gain de temps et de confort très appréciable.

Jeudi dernier, lors de la rencontre entre lyonnais (http://www.gamoover.net/Forums/index.php?topic=20874.msg301208), gc339 m'a remis 6 composants TIL311 qu'il a pu dessouder de son stock de cartes diverses :

(http://img1.uplood.fr/free/e5u4_20100130_132930_6949_img.jpg) (http://www.uplood.fr)
Composants TIL311 donnés par gc339

L'idée est de leur faire afficher en hexadécimal  (http://fr.wikipedia.org/wiki/Système_hexadécimal) toute donnée clé que je jugerai utile :

Vu que je ne possède qu'un nombre limité de ces afficheurs TIL311, j'ai décidé de leur associer à chacun un composant 74LS157.
Ce composant est un quadruple sélectionneur 2 entrées / 1 sortie.
Il me permettra de choisir avec un bouton poussoir 2 sources de données différentes pour 1 afficheur TIL311.
Ainsi, chaque TIL311 pourra afficher 2 infos différentes. Un bouton poussoir me permet d'afficher l'une ou l'autre.

Voici donc le petit montage pour mettre en oeuvre le 1er TIL311...
J'utilise une chute de plaque à trous et pastilles cuivrées.
Le boîtier 74LS157 a 2 pattes dans le vide, mais c'est sans importance.

(http://img1.uplood.fr/free/ngv9_20100130_134924_6950_img.jpg) (http://www.uplood.fr)
Montage à base de TIL311

J'ai choisi de lui faire afficher les 4 bits de poids fort de l'instruction en cours d'exécution. Ces 4 bits sont les plus importants, car ils définissent le type de l'instruction (une addition, la lecture d'une entrée, etc...)
Les 4 bits de poids faible seront affichés si j'appuie sur le bouton poussoir.

La technique de réalisation la plus adaptée aurait été incontestablement le wrapping (http://fr.wikipedia.org/wiki/Wrapper_(électronique)).
Malheureusement, je ne suis pas (encore) équipé pour ça.
J'en ai fait quand j'étais étudiant et c'est d'une simplicité et d'une rapidité extraordinaire.
Pour aujourd'hui, j'ai donc dû me battre et souder le tout.

Et voilà !

(http://img1.uplood.fr/free/e2za_20100130_153402_6952_img.jpg) (http://www.uplood.fr)
Affichage des 4 bits de poids fort de la 1ère instruction

L'afficheur affiche un "4".
Ca tombe bien, c'est effectivement les 4 bits de poids fort de la 1ère instruction du jeu Space Wars (flèche rouge) :

(http://img1.uplood.fr/free/qb6b_p.png) (http://www.uplood.fr)

Lorsque j'appuie sur le bouton poussoir, l'afficheur me montre alors les 4 bits de poids faible (flèche verte :"9") :

(http://img1.uplood.fr/free/22u7_20100130_153414_6953_img.jpg) (http://www.uplood.fr)
Affichage des 4 bits de poids faible de la 1ère instruction

Maintenant, simplement avec cet unique afficheur et son bouton poussoir, je peux faire du pas à pas beaucoup plus vite :

Cette fois, j'ai pu suivre une trentaine d'instructions sans perdre de temps ni me faire de noeuds au cerveau.
Je ne revérifie pas en détail toutes les instructions que j'ai déjà vues fonctionner.

AdresseCodeAssembleurStatutCommentaire
7EA8FLDP #FOKSélectionner la page de RAM n°15 ("F" en hexa)
7EB08LDA #800OKCharger l'accumulateur avec la constante 800 (en hexa)
7ECDFSTA FOKEnregistrer l'accumulateur à l'adresse RAM n°15 ("F" en hexa) de la page courante
7ED0ALDA #A00OKCharger l'accumulateur avec la constante A00 (en hexa)
7EEDESTA EOKEnregistrer l'accumulateur à l'adresse RAM n°14 ("E" en hexa) de la page courante
7EF8BLDP #BOKSélectionner la page de RAM n°11 ("B" en hexa)
7F020 A0  ADD #A0OKAjouter la constante A0 (en hexa) à l'accumulateur
7F2D6STA 6OKEnregistrer l'accumulateur à l'adresse RAM n°6 de la page courante
7F300CLROKEffacer l'accumulateur
7F4D3STA 3OKEnregistrer l'accumulateur à l'adresse RAM n°3 de la page courante
7F5D5STA 5OKEnregistrer l'accumulateur à l'adresse RAM n°5 de la page courante
7F621ADD #1OKAjouter la constante 1 à l'accumulateur
7F7D4STA 4OKEnregistrer l'accumulateur à l'adresse RAM n°4 de la page courante
7F895OUT 5OKMettre la sortie n°5 à la valeur opposée du bit de poids faible de l'accumulateur (il faut suivre, hein ?)
7F94C 27LDJ #72COKCharger le registre J (adresse de destination du prochain jump) avec la constante 72C (en hexa)
7FB58JMPOKSauter à l'adresse contenue dans le registre J
72CA6LDA 6KOCharger l'accumulateur avec le contenu en RAM de l'adresse n°6 dans la page courante

L'instruction de l'adresse 72C a foiré.
Si on suit bien :
Le bit foireux correspond au bit de poid fort du composant de RAM M14.
Ce composant est donc bel est bien en panne comme je l'avais indiqué dans ce message (http://www.gamoover.net/Forums/index.php?topic=20677.msg299340#msg299340).
À ce moment là, il était en L14, mais il a changé de place depuis que tous les boîtiers de RAM sont sur support.
J'ai aujourd'hui la preuve de sa panne, car j'ai vérifié à l'oscillo directement en sortie du composant.
Il ne s'agit pas d'une piste coupée ou autre farce.


La bonne nouvelle, c'est que dès que j'avais déterminé qu'au moins un composant de RAM était foireux, je m'étais mis en quête d'en trouver un autre.
Une personne de la liste de diffusion vectorlist (http://www.vectorlist.org/) s'était proposée pour m'en envoyer gratuitement.

Il y a donc en ce moment même 3 de ces composants de RAM en train de se diriger vers ma boîte à lettre.  =:))



Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: Baddy le Samedi 30 Janvier 2010, 19:44:13 pm
J'adore lire tes explications, c'est clair, accessible et pour moi c'est pareil que restaurer une vieille bagnole :). Tu t'adaptes à des technologies anciennes et fait preuve d'ingéniosité pour résoudre tes problèmes  ^-

Tout tes articles me motivent à me trouver une PCB en panne et à la réparer :)
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Samedi 30 Janvier 2010, 20:45:57 pm
Bonsoir.

Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Samedi 30 Janvier 2010, 20:58:42 pm
Pinaillage : Le TIL311 éblouit trop sur la photo, il serait nécessaire d'intercaler un bout de plexiglass rouge pour limiter l'éblouissement et améliorer le contraste.

 :D
La photo étant prise sans flash, la diffusion de la lumière du TIL311 est exagérée.

"Yeux de rat" : Le TIL 311 a deux points décimaux, le droite et le gauche, qui peuvent élégamment remplir cet office.

J'ai câblé le point décimal droit dans cet optique, mais il ne s'allume pas.
J'ai vérifié mon transistor NPN et sa polarisation qui sont tous les deux bons.
Peut-être ma résistance de 570 Ω entre le transistor et le TIL311 est trop forte ?
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Samedi 30 Janvier 2010, 21:05:27 pm
Re ...

Mea culpa, j'aurais du penser Jeudi soir à te donner deux boîtiers mémoires MCM51L01.

(http://img1.uplood.fr/mamu/zsm0_dscf4133.small.jpg)

Car même si ces RAM CMOS sont lentes (650ns), elles sont compatibles broche à broche et conviendraient pour remplacer la RAM défectueuse et ainsi poursuivre la recherche de panne en pas à pas ou en vitesse d'horloge réduite.
En tous cas, si tu tardes à recevoir les boîtiers RAM promis, je peux te les poster pour faire avancer le schmilblick.
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: Blue Narc le Dimanche 31 Janvier 2010, 11:40:24 am
Clap, Clap, Clap, bravo très intéressant ce wip, même si moi aussi je plane à 20.000 très souvent, en tout cas le détail et les explications claires permettent de d'accrocher quand même et c'est un beau morceau de borne qui vas être sauvée  ^-^ ^-^
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: zebassprophet le Dimanche 31 Janvier 2010, 11:52:22 am
donc si j'ai bien tout compris
les composants de gc 339 ont été fabriqué la 23eme semaine de 1980?  =:))
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Dimanche 31 Janvier 2010, 12:26:33 pm
Bonjour.

donc si j'ai bien tout compris
les composants de gc 339 ont été fabriqué la 23eme semaine de 1980?  =:))

Ce doit être tout à fait exact car les cartes, sur lesquelles j'ai récupérés ces mémoires, ont été fabriquées à cette époque la.
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: speedsterharry le Dimanche 31 Janvier 2010, 13:09:54 pm
Super, l'esprit d'entraide ! J'adore ce WIP, même si ma compréhension des choses est assez sommaire.
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Lundi 01 Février 2010, 22:30:00 pm
Bonsoir.
Good evening.

Voici une mise à jour de ce WIP.
Here is a WIP (Work In Progress) update.

Toutes les phrases ce message sont traduites en anglais, vous allez comprendre pourquoi...
All the sentences of this message are translated to english, you'll understand why...

Il y a quelques jours, j'ai été contacté par une personne très sympa : S.H qui habite en Angleterre.
Some days ago, I was contacted by a very friendly person : S.H. who lives in England
Il y a eu un échange rapide d'e-mails, signe qu'il était derrière son ordi en même temps que moi.
There was a rapid exchange of e-mails, sign that he was behind his computer at the same time as me.

J'ai fini par lui proposer de l'appeler au téléphone, et nous avons passé plus d'une heure à discuter (il a free, il a tout compris).
I finally ask him to call on the phone, and we spent over an hour to chat (untranslatable advertising slogan of a french internet operator).

Nous avons beaucoup parlé d'arcade, de jeux vectoriels, et du jeu Space Wars.
We chatted about arcade, vector games, and the Space Wars game.
S. m'a proposé de me donner un PCB original de chez Cinematronics non testé, ainsi qu'une doc qu'il avait en double.
S. offered to give me an untested Cinematronics original PCB, and an owner manual that he had duplicated.
Bien sûr j'ai accepté et je l'ai remercié autant que mon vocabulaire anglais me le permettait.
Of course I agreed and thanked him as much as my English vocabulary would allow.

En fin de semaine dernière, le facteur m'a apporté ça :
At the end of last week, the postman brought me this :

(http://img1.uplood.fr/free/1nue_20100129_174238_6941_img.jpg) (http://www.uplood.fr)

(http://img1.uplood.fr/free/vmkk_20100129_174334_6942_img.jpg) (http://www.uplood.fr)

(http://img1.uplood.fr/free/76wr_20100129_174532_6944_img.jpg) (http://www.uplood.fr)

(http://img1.uplood.fr/free/j5rg_20100129_174518_6943_img.jpg) (http://www.uplood.fr)

(http://img1.uplood.fr/free/b5ev_20100129_174858_6945_img.jpg) (http://www.uplood.fr)

Comme l'a dit speedsterharry, il y a non seulement un esprit d'entraide, mais en plus il est national et international !  :-*
As stated speedsterharry, there is not only a spirit of mutual assistance, but also it is national and international !

Un examen du PCB indique qu'il est sans aucun doute en panne. Il manque 3 circuits intégrés standards.
A check of the PCB shows it is for sure faulty. 3 standard chips are missing.
Bizarrement, ils n'ont pas été dessoudés, mais toutes leurs broches ont été coupées.
Strangely, they were not un-soldered, but all their pins were cut.
L'idée est que je récupère, si nécessaire et possible, les composants spécifiques tels que les PROMS du CPU.
The idea is that I get, if necessary and possible, the specific components such as CPU PROMS.
J'ai la PROM D14 sur le PCB SEGA qui est louche.
D14 PROM on the SEGA PCB is suspicious.
Si elle est en panne, peut-être celle de ce PCB pourra la remplacer.
If it's dead, maybe that one on this PCB may replace it.


La carte étant très sale, il est nécessaire de lui donner le bain.
The PCB is very dirty, it is necessary to bathe (<- not sure of this word !).

(http://img1.uplood.fr/free/k7ge_20100131_224150_6954_img.jpg) (http://www.uplood.fr)
Un peu d'eau tiède...
A little warm water...

(http://img1.uplood.fr/free/dz77_20100131_224210_6955_img.jpg) (http://www.uplood.fr)
Même pas peur !
No fear !

(http://img1.uplood.fr/free/fk1t_20100131_224752_6956_img.jpg) (http://www.uplood.fr)
C'était nécessaire...
It was necessary ...

(http://img1.uplood.fr/free/e7pm_20100131_224854_6957_img.jpg) (http://www.uplood.fr)
Rincage
Rinse

(http://img1.uplood.fr/free/nfnk_20100131_225248_6958_img.jpg) (http://www.uplood.fr)
Égouttage
Draining

(http://img1.uplood.fr/free/j34e_20100131_231152_6959_img.jpg) (http://www.uplood.fr)
Et voilà !
Et voilà !


Un grand merci à S.H. pour le don de cette carte et de la documentation originales.
A big thank you to SH for donating this PCB and the original documentation.

À suivre : prélèvement de composants sur cette carte pour test sur le PCB SEGA.
Next: removal of components on this board for testing on the SEGA PCB.
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: aganyte le Lundi 01 Février 2010, 22:43:28 pm
International gamoo spirit  ^-^
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: jujusl le Lundi 01 Février 2010, 23:32:36 pm
Trop de la balle !
Too much of the bullet ! (silly French expression ;D translated just for fun)
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: aganim le Mardi 02 Février 2010, 06:33:56 am
Une fois la première retaper tu va même pouvoir t'en faire une de rechange  ^-
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: Blue Narc le Mardi 02 Février 2010, 08:18:38 am
Une fois la première retaper tu va même pouvoir t'en faire une de rechange  ^-


Qui sait, peut être même qu'à son tour avec se qu'il en restera il pourra aider une autre personne plus tard qui en sauvera une lui aussi  :ang:

Bravo pour ce don et l'entraide  ^-
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mercredi 03 Février 2010, 02:17:44 am
Bonsoir.
Good evening.

Voici une mise à jour de ce WIP, et non des moindres.
Here is an update of the WIP, not one of the smallest.
En effet, ce soir je suis parvenu à un résultat très encouragant.
In fact, tonight I reached a very encouraging result.

Ce message est lui-aussi traduit en anglais, pour une certaine raison...
This message is translated into English too, for some (great) reason...

Hier soir, j'avais nettoyé le PCB original Space Wars aimablement donné pour pièces par SH.
Yesterday evening, I cleaned the original Space Wars PCB kindly given by SH for spare parts.
J'ai ensuite dessoudé sur ce PCB une puce de RAM car j'en ai au moins une qui est HS sur le PCB SEGA.
I un-soldered an RAM chip on this PCB because I have at least one bad on the SEGA PCB.

(http://img1.uplood.fr/free/6ghv_20100203_004838_6968_img.jpg) (http://www.uplood.fr)
Une puce de RAM a été dessoudée
A RAM chip has been unsoldered

Je place la puce sur le PCB SEGA et vérifie avec soin la 1ère instruction du jeu qui écrit puis relit en RAM.
I set the chip on the SEGA PCB and check carefully the 1st game instruction that writes & read in RAM.
Malheureusement la relecture est fausse ; j'ai donc dessoudé une puce qui était déjà HS.
Unfortunately the reading is wrong, so I un-soldered a chip that was already bad.
Aucune avancée hier soir sur le sujet.
No progress yesterday on the subject.

Voici mon bureau, où je teste tranquillement le PCB :
Here is my desk, where I'm quietly testing the PCB:

(http://img1.uplood.fr/free/mlkn_20100203_001802_6965_img.jpg) (http://www.uplood.fr)
Plan de travail
Desk



Ce soir, après être rentré du boulot, j'avais prévu de dessouder une 2e et peut-être une 3e puce de RAM du PCB donné par SH, pour test sur le PCB SEGA.
Tonight, after office work, I was planning to unsolder a 2nd and perhaps 3rd chip RAM from SH PCB, for testing the SEGA PCB.
Sauf que j'ai trouvé ceci dans ma boîte à lettres :
But I found this in my mailbox:

(http://img1.uplood.fr/free/qemx_20100202_193054_6960_img.jpg) (http://www.uplood.fr)
Enveloppe en provenance des États-Unis

Cette envoloppe contenait ça :
This envoloppe contained this:

(http://img1.uplood.fr/free/6yme_20100202_193336_6963_img.jpg) (http://www.uplood.fr)
3 supports et 2 puces de RAM
3 sockets and 2 RAM chips

Il s'agit de 2 puces de RAM 2101 de 200 ns, testées.
It's 2 x 2101 @ 200 ns RAM chips, tested.
L'esprit d'entraide international continue : ces 2 puces m'ont été gentiment proposées et offertes par Mark Shostak, qui habite aux États-Unis.
The spirit of international assistance continues: these 2 chips were kindly offered and sent by Mark Shostak, who lives in the United States.
Je suis vraiment touché par l'aide qui m'est spontanément proposée.
I am really affected by the spontaneously support offered to me.

Bien-sûr je me dépêche de mettre en place une des puces sur le PCB SEGA.
Of course I quickly set a chip on the SEGA PCB.
J'avais déterminé qu'une des puces d'origine était HS et ce problème justifait totalement une panne du PCB.
I determined that one RAM chip was bad, and this problem was more than enough to make the PCB fail.
En effet, j'ai constaté que le jeu stocke en RAM des nombres qui correspondent à des adresses en ROM de certaines données. Si la RAM est HS, alors ces adresses relues deviennent fausses et le PCB fait n'importe quoi.
Indeed, I found that the game stores in RAM numbers that correspond to ROM data addresses. If the RAM is bad, then data read are wrong and the PCB fails.
Il s'agit simplement de la notion de pointeur (http://fr.wikipedia.org/wiki/Pointeur_(programmation)) comme dans le language C.
It is simply the concept of pointer (http://en.wikipedia.org/wiki/Pointer_(computing)) as in the C language.

Voici la nouvelle puce de RAM en place sur le PCB :
Here is the new RAM chip set on the PCB:

(http://img1.uplood.fr/free/yrq7_20100203_004556_6967_img.jpg) (http://www.uplood.fr)
La nouvelle puce de RAM en place
New RAM chip is set

Dès la mise en route, je regarde à l'oscillo le signal /RESET :
As soom as it starts, I check with DSO the /RESET signal:

(http://img1.uplood.fr/free/6hlr_20100203_001816_6966_img.jpg) (http://www.uplood.fr)
L'oscillo ne se synchronise pas sur le signal /RESET
DSO doesn't trig on the /RESET signal

Mon oscillo indique "NOTRIG". Ca veut dire qu'il ne trouve aucun changement sur le signal mesuré pour synchroniser son affichage.
My DSO displays "NOTRIG". It means it finds no change on the signal to synchronize its display.
Et "aucun changement", ça veut dire que mon PCB ne se reset plus en permanence.
And "no change" means my PCB is not more constantly reseting !

 :-)= :-)= :-)= :-)= :-)= :-)= :-)=


Je me dépêche de regarder à l'oscillo les signaux importants qui pilotent l'écran X-Y :
I quickly check with the DSO major signals that drive the X-Y screen:

(http://img1.uplood.fr/free/jq09_reset.png) (http://www.uplood.fr)
signal /RESET
/RESET signal
(http://img1.uplood.fr/free/45th_intensify.png) (http://www.uplood.fr)
signal INTENSIFY
INTENSIFY signal

(http://img1.uplood.fr/free/j5xi_initial_pos.png) (http://www.uplood.fr)
signal INITIAL_POSITION
INITIAL_POSITION signal
(http://img1.uplood.fr/free/0e1o_drawing.png) (http://www.uplood.fr)
signal DRAWING
DRAWING signal


Le PCB SEGA envoie des commandes à l'écran X-Y !
The SEGA PCB is sending commands to the X-Y screen !
Il essaie d'afficher quelque chose !
It tries to display something !


 :-)= :-)= :-)= :-)= :-)=

Ce n'est pas parce que le PCB tente d'afficher quelque chose que ce quelque chose est cohérent.
It'is not because the PCB is trying to display something that this "something" is consistent.
Mais c'est quand même une étape de franchie.
But it's still a step taken.



À suivre : bah maintenant il faut tester et éventuellement réparer l'écran vectoriel...
Next: now it's time to test and maybe fix the vector display

Big thanks to Mark Shostak.

Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: Wil2000 le Mercredi 03 Février 2010, 09:07:51 am
Hello MS,

I don't know if you will ever read this message, but I think that many members of this forum (so am I) will think that your gift is really a proof of international assistance, and that passion for arcade games knows no borders!

Many thanks for him,

William

 <:)
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: zebassprophet le Mercredi 03 Février 2010, 10:28:03 am
vala, t'as pu qu'a tester:)
Now you only have to test this
Mate ca bébé ...
Check it out baby  :-)=
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Mercredi 03 Février 2010, 10:58:41 am
*FRENCH*

C'est hallucinant !
quel incroyable esprit d'entraide international.

Je sais maintenant que nous avons plein d'amis partout dans le monde qui vont accomplir la même mission que nous:

Sauver les jeux d'arcade.

ça fait chaud au coeur de sentir que chaque personne qui éssaie de sauver une PCB ou de restorer un meuble ne sera plus JAMAIS seul grâce à internet.

quel beau monde "fédération internationale de sauvetage de l'arcade". Avec plein d'anonymes qui soudent et réparent au fond de leur caves /garages. Les gars:

MERCI JE VOUS AIME.
c'est malin maintenant je pleure sur mon clavier.

l'esprit des jeux d'arcade survivra à jamais.

Merci, merci et merci  :-*

(F4brice, si tu continue à m'émouvoir comme ça, il est pour toi le WIP de l'année) :D
______________________________________

*ENGLISH*

it's amazing !
what an incredible international helping spirit.

I know now we have a lot of friends all around the world that will do the same mission as ours:

saving Arcade Videogames.

it's really good to feel that every person who'll trying to bring back to life a PCB or any coin op, will NEVER be alone, thankfull to the web

the beautiful World "Arcade Saving Foundation". With thousands of anonymous, soldering and repairing in their dark basements /garages. Guys :

THANKS ALL I LOVE YOU.
Now i'm bleeding on my keyboard.
Arcade Videogame spirit will live on forever

thanks, thanks, and thanks  :-*
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Mercredi 03 Février 2010, 12:29:24 pm
Bonjour.

Maintenant que le CCPU commence à fonctionner et que tu es équipé pour programmer des EPROM's, tu devrais pouvoir écrire un petit bout de programme simple pour faire tester les RAM's par le noyau du CCPU avec la méthode du damier :

Cela permettrait de tester le CCPU en vitesse réelle avec un jeu d'instructions réduit,

Plus tard tu pourras même utiliser une méthode plus sophistiquée comme celle du 1 ou du 0 baladeur pour tester chaque module mémoire 4 bits :



Hi.

Since the CCPU starts working and you are equipped to program EPROM's, you should write a bit of simple program to make the CCPU kernel check itself the RAM's with the checkerboard method :


This would test the CCPU in real speed with a reduced instruction set,

Later you can even use a more sophisticated method such as the sliding 1 or 0 to test each 4-bits memory chip :

Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Jeudi 04 Février 2010, 00:34:18 am
Bonsoir.
Good evening.

Et c'est reparti pour une mise à jour de plus de ce WIP.
And here we go for one more update of this WIP.

Hier soir, j'ai constaté que mon PCB était tout frétillant de vie.
Yesterday evening, I found that my PCB was wriggling life.
Fini les reset incessants : maintenant il veut envoyer des commandes à l'écran.
It's done with endless resets : now it wants to send commands to the screen.
Ce soir, j'ai décidé de tester le PCB dans la borne, connecté à l'écran vectoriel SEGA (soyons fou).
This evening, I've decided to test the PCB inside the cabinet, connected to the SEGA vector display (let's rock).

J'avais tout démonté lorsque j'avais fait le reverse-engineering du chassis vidéo (http://www.gamoover.net/Forums/index.php?topic=20677.msg298234#msg298234) de l'écran.
I disconnected everything when I made the video board reverse-engineering (http://www.gamoover.net/Forums/index.php?topic=20677.msg298234#msg298234).
Vu que tout est actuellement débranché, j'en profite pour re-vérifier les tensions d'alimentation de la borne :
Since everything is now disconnected, I want to re-check the cabitnet's voltage supply :
Tout est bon.
All's right.

Je reconnecte alors soigneusement tout ce que j'avais démonté.
I then carefully reconnect everything I had disconnected.

(http://img1.uplood.fr/free/7j49_20100203_202542_6981_img.jpg) (http://www.uplood.fr)
L'écran est entièrement reconnecté
Screen is fully reconnected

J'ai installé le PCB du jeu dans sa cage de protection.
I installed the game PCB in its protective cage.
L'afficheur lumineux qui m'a été si utile a été retiré car il gênait la mise mise en place du PCB.
The display device that was so useful has been removed because it impeded the PCB insertion.

(http://img1.uplood.fr/free/hox6_20100203_202648_6985_img.jpg) (http://www.uplood.fr)
Le PCB est en place
PCB is inserted

Après de nombreuses et minutieuses vérifications, il est temps de tenter une mise sous tension de la borne.
After extensive and careful investigations, it's time to try to power up the cabinet.
Je ne sais pas pourquoi, je suis resté près de 10 min assis derrière la borne à regarder l'interrupteur M/A.
I do not know why, but I stayed almost 10 minutes sitting behind the cabinet, looking at the power switch.
Je ne peux pas dire que c'était de l'indécision, juste que je "pensais" à son histoire, où elle pouvait bien être installée.
I can't say it was indecision, just I was "thinking" about its history, where it could be installed.

Je l'imaginais dans un bar, sur le coté à droite en entrant.
I imagined it in a bar on the right side as you enter.
Le barman est en train d'essuyer des verres.
The bartender is wiping glasses.
Un client est assis sur un tabouret sur-élevé, près du comptoir, accoudé.
A customer is seated on a high stool, near the bar, leaning.
Un expresso lui a été servi. Il est en train de fumer. Il souffle sa fumée tout en regardant légèrement vers le haut. On dirait qu'il regarde dans le vide.
He has an espresso. He's smoking. He blows his smoke while looking slightly upwards. Looks like he is staring into space.
Il tourne le dos à la borne. Il ne voit pas qu'un autre client s'est levé, a cherché dans sa poche une pièce de monnaie. Il était assis près d'une table ronde.
He turns back to the cabinet. He didn't see another customer got up, looked in his pocket for a coin. He was seated at a round table.
Son verre de bière est posé sur un sous-bock.
His glass of beer is placed on a coaster.
Le bruit de la pièce de monnaie qui tombe dans la tirelire métallique de la borne n'a pas tiré le premier client de sa torpeur.
The sound of the coin falling into the metal cashbox has not cleared the first customer of its torpor.
Tout juste le tintement a fait à peine tourner la tête du barman. Il a vu sans regarder.
The sound was just enough to make the bartender turn a little his head. He saw without looking.
La scène est simple et banale. C'est un petit bout de vie...
The scene is simple and common. It's a bit of life ...

Oui, voilà. Tout éveillé, je rêvais de l'histoire de cette borne...
Yes, that's it. I was awake, I was dreaming of the cabinet's history.
Ce petit instant de vagabondage et de sérénité m'a fait du bien...
This small moment of serenity and vagrancy was good ...

Je regarde maintenant fixement l'interrupteur.
I'm now staring at the power switch.
Ma main s'approche. Je bascule l'interrupteur avec l'index et le majeur.
My hand goes. I toggle the switch with the forefinger and middle finger.

(http://img1.uplood.fr/free/9hvz_20100203_225908_6988_img.jpg) (http://www.uplood.fr)

.




.




.




.




.




.




.

Clic !

.


(http://img1.uplood.fr/free/l1bp_20100203_225916_6989_img.jpg) (http://www.uplood.fr)

.




.




.




.




.




.


L'écran ne fait pas du tout le même bruit par rapport aux premières fois où j'avais tenté un démarrage de la borne.
The screen is not at all the same noise from the first times I tried powering up the cabinet.
C'est difficile à décrire, mais il fait un bruit d'"activité électrique".
It's hard to describe, but it makes a noise of "electrical activity".
J'entends que l'écran fonctionne, qu'il n'est pas au repos.
I can hear that the screen works, it's not idle.

Je me déplace devant la borne et...
I go in front of the cabinet and...



.




.




.




.




.



(http://img1.uplood.fr/free/yx58_20100203_201244_6969_img.jpg) (http://www.uplood.fr)

(http://img1.uplood.fr/free/g30m_20100203_201520_6974_img.jpg) (http://www.uplood.fr)

(http://img1.uplood.fr/free/cy8y_20100203_201450_6973_img.jpg) (http://www.uplood.fr)

(http://img1.uplood.fr/free/fa6l_20100203_202220_6978_img.jpg) (http://www.uplood.fr)

 :-)= :-)= :-)= :-)= :-)= :-)= :-)= :-)= :-)= :-)= :-)= :-)= :-)= :-)= :-)=

Snif, c'est beau.  :-*
(noise of a snorting nose), it's nice.
Certes il y a quelques bugs, mais la vie est là. La vie est là !
Of course there are some bugs, but it's alive. It's alive !
Le PCB fonctionne à 90%. Le son fonctionne à 100%.
PCB is 90% working. Sound is 100% working.
L'écran fonctionne très bien. Il y aura des réglages à faire et quelques condos à changer, mais l'essentiel est vivant : tube, bobines de déviation, THT...
Screen works fine. Adjustments will be needed and some caps are to be changed, but most of it is alive : CRT, yokes, HVT...
Les étoiles scintillent et je pense que c'est voulu.
Stars twinkle and I think it's expected.

Il y a quelques bugs graphiques :
There are some graphical bugs

Je pense que c'est une autre puce de RAM qui est partiellement en panne.
I think it's another partially bad RAM chip.
Il doit y avoir 90% des bits qui fonctionnent. Les 10% restants sont en panne et provoquent les bugs visuels.
There must be 90% of the bits that work. The remaining 10% are down and cause visual bugs.

J'ai fait une vidéo :
I made a small movie:

Ma borne Space Ship qu'elle fonctionne !
My Space Ship cabinet is working

Regardez à 0:47 comment je me suis auto-pwned.  :D
Look at 0:47 how I did self-pwned.

Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: zebassprophet le Jeudi 04 Février 2010, 00:50:50 am
passage du wip a 90%
felicitation F4brice, you're the king
et je dit pas ca uniquement parce que tu as mes pcb de Space invaders pas loin

The wip is about to reach 90%
Congratulation F4brice, you're the king
and I don't say that only because I've lent you My space invaders PCB for an inspection ;)

Ca claque quand meme bien les ecran vectoriel, tu as bien merité que ca marche tant ta recherche a été longue est précise

Vectors screen kicks ass, you really deserved it works due to all the time and precision you put into this cab
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: mamerinside le Jeudi 04 Février 2010, 01:42:30 am
Salut,

j'ai lu tout le topic  <:) je pige quedalle  ;D mais felicitations pour ces nouveaux tests  ^-^
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: aganyte le Jeudi 04 Février 2010, 07:27:35 am
Un grand bravo à toi Fabrice, tu est un dieu de la restauration électronique  ^-^ ^-^ ^-^
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: wanou le Jeudi 04 Février 2010, 08:38:23 am
Ca fait plaisir à voir   :-)=

Une borne vectorielle c'est vraiment sympa  :-*
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: Wil2000 le Jeudi 04 Février 2010, 09:00:30 am
Pffff, encore un WIP de longue durée qui s'achève, que va-t-il nous rester si ça continue comme ça?  :P
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: chinchilla le Jeudi 04 Février 2010, 09:20:27 am
Là il y a de la sauvegarde de rétro-patrimoine!  ^-
Bravo! Tu l'auras méritée cette borne quasi unique en France, voir en Europe?
Merci pour ce WIP.
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: liodel le Jeudi 04 Février 2010, 09:51:34 am
Magnifique job  ^-

Je suis toujours ému devant le rendu de ces écrans XY depuis que j'ai taté du Starwars upright et du Tempest...
C'est superbe  8)

Et la méthode, le compte rendu, tout est high level, merci.

Pour les moins doués ils peuvent se rabattre sur de l'émulation -VectorMame- et la carte The Zektor's Vector Generator (http://www.zektor.com/zvg/index.html)

(http://www.zektor.com/zvg/images/zvg_angle_512.jpg) (http://www.zektor.com/zvg/index.html)

Bon 200$ mais l'amour du vectoriel peut parfois faire faire des folies...
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: Iro le Jeudi 04 Février 2010, 10:37:53 am
Superbe !!! comme d'hab !!
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: Persecutor le Jeudi 04 Février 2010, 13:49:37 pm
Fabrice : on ne peut qu'alluciner devant la qualité et la precision de ce wip  ^-^

uk / us : Well  :? Congratulations   =:)) :-)= ^-^
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: the_vidy le Jeudi 04 Février 2010, 14:28:10 pm
Putain que c'est beau.

Vraiment un boss!!
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: Zorg le Jeudi 04 Février 2010, 15:07:48 pm


Pour les moins doués ils peuvent se rabattre sur de l'émulation -VectorMame- et la carte The Zektor's Vector Generator (http://www.zektor.com/zvg/index.html)

sauf que A PU de carte Zektor  :-((
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Jeudi 04 Février 2010, 17:05:25 pm
 :-* j'adore l'emotion qui parcours ce WIP

i love the feelings this WIP is giving to us  ^-

....et une de plus de sauvée :-\
....one more saved again :D
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: Darth Nuno le Jeudi 04 Février 2010, 18:15:03 pm
Tout simplement génial  ^- Argh, ce que je souhaiterais avoir de telles compétences en électronique comme toi  :-\

J'ai toppé 'y a un moment une Space Wars (http://www.dragonslairfans.com/smfor/index.php?topic=454.0) modèle US mais complètement vide  ::) ...



Pour les moins doués ils peuvent se rabattre sur de l'émulation -VectorMame- et la carte The Zektor's Vector Generator (http://www.zektor.com/zvg/index.html)

(http://www.zektor.com/zvg/images/zvg_angle_512.jpg) (http://www.zektor.com/zvg/index.html)

... et c'est ce que j'ai prévu de faire. J'ai par chance acheté cette carte quand elle était encore dispo  8)  Je viens de toppé également un écran XY ... 'y a plus qu'à tester le truc.

Encore bravo pour ta resto  ^-^
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: gottlieb le Jeudi 04 Février 2010, 18:28:24 pm
Un grand bravo pour cette splendide resto :-* :-* :-)=
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Jeudi 04 Février 2010, 18:55:34 pm
du coup tu peux peut être remonter un peu ta barre du wip qui est à 20% :D
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: liodel le Jeudi 04 Février 2010, 18:56:54 pm
(...)
J'ai toppé 'y a un moment une Space Wars (http://www.dragonslairfans.com/smfor/index.php?topic=454.0) modèle US mais complètement vide  ::) ...


... et c'est ce que j'ai prévu de faire. J'ai par chance acheté cette carte quand elle était encore dispo  8)  Je viens de toppé également un écran XY ... 'y a plus qu'à tester le truc.
(...)
Excellent ça aussi Nuno, je serait curieux de suivre cette remise en état,
J'attends ce WIP impatiemment aussi alors !
Titre: [WIP 80%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Jeudi 04 Février 2010, 19:32:41 pm
du coup tu peux peut être remonter un peu ta barre du wip qui est à 20% :D

Je l'ai passé à 80% mais un poil trop tard !  ;D
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: PseudoName le Jeudi 04 Février 2010, 20:35:40 pm

WIP de malade de ouf complet  :o

Suivre l'évolution, presque du direct live en plus, et cette méticulosité et rigueur rarement vue pour un WIP, tout cela est franchement impressionnant.

Tu déchires trop f4brice !  :-)=

Immense respect intersidéral  ^-^  ^-^  ^-^
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: speedsterharry le Jeudi 04 Février 2010, 20:47:44 pm
Holy f*ck, you made it !  ^-
Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: jujusl le Jeudi 04 Février 2010, 22:03:57 pm
Ca c'est du WIP, du vrai, avec des poils ! :-)=

Respect, m'sieur <:)
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Jeudi 04 Février 2010, 23:43:12 pm
Bonsoir.
Good evening.

Merci à tous pour vos commentaires d'encouragement !  :-*
Thanks to all for your encouragement !

Voici encore une mise à jour de ce WIP.
Here is again an update of this WIP.
Hier soir, tout ému, pour la 1ère fois j'avais vu fonctionner ma borne.
Yesterday evening, I was affected, for the first time I saw my cabinet working.
Certes il y avait des bugs graphiques, mais l'émotion était forte.
Of course there were glitches, but the emotion was strong.

Ce soir, je me suis penché sur ces bugs.
Tonight, I'm working on these bugs.
Je suspectais un des composants de RAM d'être partiellement HS.
I was suspecting one of the RAM chips to be partially bad.
Pas assez pour faire planter le CPU, mais assez pour provoquer des bugs.
Not enough to make the CPU trap, but enough for glitches.

Ayant reçu 2 puces de RAM testées, j'ai décidé de simplement mettre la 2e puce à la place d'une des 2 dernières puces d'origines.
Having received 2 tested RAM chips, I've decided to simply put the 2nd chip in place of one of the two last original chips.
Vu que les bugs provoquent de petits écarts de placement des segments, je me suis dit que c'était la puce de RAM de poids faible qui devait avoir un problème.
Since glitches are small line shifting, I assumed it was the RAM chip for the 4 low bits that could be bad.

C'est donc elle que j'ai retirée pour mettre à la place la 2e puce neuve :
It's that one I removed in order to put the 2nd good new chip :

(http://img1.uplood.fr/free/6sf4_20100204_201106_7000_img.jpg) (http://www.uplood.fr)
2e puce de RAM changée
2nd RAM chip changed

Après mise en place, je mets la borne sous tension...
After that, I power on the cabinet :

(http://img1.uplood.fr/free/ynfz_20100204_200146_6993_img.jpg) (http://www.uplood.fr)
Il n'y a plus de bug graphique
There no more glitches

 :-)= :-)= :-)= :-)= :-)= :-)= :-)= :-)=

J'avais vu juste.  =:))
I had it right.
Le changement de cette puce de RAM par une neuve a suffit pour résoudre les derniers problèmes.
Changing this RAM chip for a new one was enough to solve the last problems.
Mon PCB SEGA est maintenant réparé à 100% !  :-)=
My SEGA PCB is now 100% fixed !


J'ai essayé de prendre en photo les 2 vaisseaux, mais c'est assez difficile.
I tried to take a picture of the 2 starships, but it's quiet hard.

(http://img1.uplood.fr/free/6yff_20100204_200548_6996_img.jpg) (http://www.uplood.fr)
1er vaisseau, qui sera copié par Asteroids (http://fr.wikipedia.org/wiki/Asteroids)
1st starship, it'll be copied by Asteroids (http://en.wikipedia.org/wiki/Asteroids_(video_game))

(http://img1.uplood.fr/free/dqvx_20100204_200620_6997_img.jpg) (http://www.uplood.fr)
2e vaisseau, inspiré de l'USS Enterprise (http://fr.wikipedia.org/wiki/USS_Enterprise_(NCC-1701))
2nd starship, inspired from USS Entreprise (http://en.wikipedia.org/wiki/USS_Enterprise_(NCC-1701))

Le vaisseau Enterprise semble un peu disloqué, mais ça ne vient pas du PCB de jeu.
The Enterprise starship seems a bit disjointed, but it doesn't come from the PCB game.
Le problème est dû aux condensateurs fatigués de l'écran vectoriel.
The problem is due to tired capacitors of the display vector.
Le changement de certains condos résoudra cette imperfection.  :)
Changing some capacitors will solve this imperfection.


Voici une photo de famille où j'ai regoupé les puces que j'ai changées sur le PCB SEGA :
Here is a familly picture where I put together chips I changed on the SEGA PCB :

(http://img1.uplood.fr/free/k6ou_20100204_221946_7003_img.jpg) (http://www.uplood.fr)
5 puces HS qui ont été changées
5 bas chips have been changed

Il manque sur la photo la PROM à fusibles PR-10.
Fuse-PROM PR-10 is missing on the picture.
En effet, cette dernière a pu continuer son service grâce à l'utilisation de sa 2e broche "CS" (chip select).
Indeed, that chip could continue to work thanks to using its 2nd "CS" (chip select) pin.
Je suis assez content de moi sur ce coup là : j'ai pu conserver la PROM SEGA d'origine.
I'm pretty pleased with myself on this one here: I've kept the original SEGA PROM.

Voici une 2e vidéo du jeu :
Here is a 2nd game movie:



À suivre :
Next:

Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Baddy le Jeudi 04 Février 2010, 23:46:41 pm
Je me permets une petite remarque, la "planète" au centre de l'écran n'est elle pas sensée influencer le déplacement des vaisseaux par son champ gravitationnel ? Pour avoir vu des vidéos du jeu, lorsqu'un vaisseau approche de la planète il est attiré par celle ci et orbite autour.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Vendredi 05 Février 2010, 00:15:47 am
Voui, toutafé.

Mais SEGA a choisi de brider le jeu et il ne peut être démarré qu'en niveau "0".
L'attraction de l'étoile centrale est inexistante dans ce niveau.
Je pense réaliser une petite modification du câblage pour que le jeu démarre en niveau "7" ou "8" qui est plus sympa : inertie des vaisseaux + force d'attraction.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Vendredi 05 Février 2010, 01:25:45 am
rhoooo cette ambiance cosmos 1999  :-* j'adore !  ^-^
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Dimanche 07 Février 2010, 11:10:13 am
Bonjour.
Hi.

Je viens d'éditer ce message (http://www.gamoover.net/Forums/index.php?topic=20677.msg301754#msg301754).
I just edited this message (http://www.gamoover.net/Forums/index.php?topic=20677.msg301754#msg301754).
Suite à l'accord de la personne, le nom de la personne qui m'a offert les puces de RAM apparaît maintenant en toutes lettres.
Having the agreement, the name of the person who gave me the RAM chips is now full.
Il s'agit de Mark Shostak de chez http://www.cinelabs.com/ (http://www.cinelabs.com/).
He's Mark Shostak from http://www.cinelabs.com/ (http://www.cinelabs.com/).

Encore une fois, merci à lui !
Once again, thanks to him !
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: HI le Dimanche 07 Février 2010, 11:47:41 am
j'ai beaucoup aimé ce jeu sur la vectrex, très fun de jouer à 2 ;) encore il y a quelques années avec Atarimania (il a perdu  =:)) )

Bravo et belle pièce  ^-^ et sympa les photos de vaisseaux 8)
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: BIGJEJE le Dimanche 07 Février 2010, 13:57:41 pm
 :-)= :-)= :-)=
 ^-^ ^-^ ^-^
 :-* :-* :-*
 :ang: :ang:
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: hikaru le Dimanche 07 Février 2010, 14:45:22 pm
absolument fabuleux
ce jeu est magnifique
le son rappelle trop de souvenir d'enfance
quand on jouai a astéroïde dans les bar
en attendant le bus pour rentrer du lycée
magnifique travail ^-^
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: DCE le Dimanche 07 Février 2010, 19:35:01 pm
Un grand bravo pour cette belle restauration électronique ^-^ ce fut un plaisir de se plonger dans cette électronique vintage avec des explications détaillées aussi clairement présentées ^-

Une histoire qui se termine bien, bravo <:)
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Baddy le Dimanche 07 Février 2010, 20:27:03 pm
Juste un petit message pour dire que j'ai trouvé un Vectrex récemment et que j'ai le portage de ce jeu dessus ! :D Donc moi aussi je joue à Space Wars  =:))

Edit : J'ai fait une vidéo, la voici : Solar Quest (http://www.dailymotion.com/video/xc5b4d_solar-quest-mb-vectrex_videogames)
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Lundi 08 Février 2010, 21:19:46 pm
Edit : J'ai fait une vidéo, la voici : Solar Quest (http://www.dailymotion.com/video/xc5b4d_solar-quest-mb-vectrex_videogames)

Il faut que je me trouve une Vectrex dans un vide-grenier !  :-*
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: HI le Mercredi 10 Février 2010, 09:03:34 am
nope le jeu sur vectrex c'est bien Space wars, solar quest c'est un autre jeu aussi sur vectrex  ;)
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Samedi 20 Février 2010, 21:57:04 pm
Bonsoir.

Petite mise à jour de ce WIP.

La dernière fois, j'avais laissé la borne fonctionnelle mais avec un problème de tir pour le 1er joueur.
J'ai décidé aujourd'hui de me pencher sur le problème.

J'avais déjà déterminé que le problème venait du bouton de tir lui-même.
Aucun contact électrique n'est réalisé lorsqu'on appuie sur le bouton.
Effectivement, ça n'aide pas.

Dans un 1er temps, il a fallu retirer le bouton du panel.
Manque de bol, le bouton ne peut sortir que par le haut et la partie en plexy du panel l'empêche de sortir.

J'ai dû jouer légèrement de la fraise pour agrandir un chouilla la découpe carrée du panel :

(http://img1.uplood.fr/free/aslv_20100220_104114_7037_img.jpg) (http://www.uplood.fr)
Le bouton est libéré

Voici la confirmation de ce que j'avais déjà diagnostiqué lorsque le bouton était en place dans la borne :

(http://img1.uplood.fr/free/fp2v_20100220_104450_7038_img.jpg) (http://www.uplood.fr)
Ça môrche pô !

L'avantage avec le matériel de cette époque, c'est que c'est démontable :

(http://img1.uplood.fr/free/cum0_20100220_104904_7040_img.jpg) (http://www.uplood.fr)
Déclipsage en cours

Le bouton est maintenant complètement démonté.
Là, j'avoue avoir été très surpris par ce que j'ai trouvé :

(http://img1.uplood.fr/free/c9es_20100220_105004_7041_img.jpg) (http://www.uplood.fr)
Surprise !

Je pensais trouver une simple partie mobile faisant contact sur des broches oxydées par le temps.
Finalement, le bouton est très différent de ce que je pensais.
La partie mobile (en bas sur la photo) porte un petit aimant.
Quand on appuie sur le bouton, l'aimant vient se placer au milieu d'un ILS (http://fr.wikipedia.org/wiki/Interrupteur#Magn.C3.A9tique) (l'ampoule verte au milieu du plastique jaunâtre en dessous du ressort) et c'est l'ILS qui assure le contact électrique.
Je suis surpris que ça ne fonctionne plus.
C'est totalement étanche à la poussière, quasiment increvable tant que la petite ampoule n'est pas cassée.

Finalement, il se trouve que l'ILS fonctionne toujours, mais l'une de ses broches est déssertie du support.

Deux petits coups de fer à souder plus tard, et c'est réglé :

(http://img1.uplood.fr/free/mwae_20100220_111138_7045_img.jpg) (http://www.uplood.fr)
2 soudures

Vérification :

(http://img1.uplood.fr/free/afjf_20100220_111042_7044_img.jpg) (http://www.uplood.fr)

Et voilà ! Le bouton est remonté.
Dernière vérification, car c'est beaucoup plus facile de le faire sur l'établi que dans la borne sous le panel :

(http://img1.uplood.fr/free/wm8p_20100220_112154_7046_img.jpg) (http://www.uplood.fr)

Je remonte le bouton sur panel de la borne et je mets la borne sous tension.
Fichtre !
Le haut-parleur émet un son absolument anormal.
J'attends quelques secondes, mais aucune image ne s'affiche...
Mon PCB est à nouveau en panne...  :'(

J'ai donc réinstallé le banc de test dans mon bureau :

(http://img1.uplood.fr/free/zg51_20100220_214438_7047_img.jpg) (http://www.uplood.fr)
C'est reparti !

Je suis près à parier que c'est la dernière puce de RAM d'origine, la seule que je n'ai pas changée, qui s'est petit-suicidée...

En regardant vite fait, je vois que le chien de garde électronique se déclenche : le PCB est réseté sans arrêt.
Pourtant, le compteur de crédit est bien activé quand je mets un crédit.
Chose étrange : sans mettre aucun crédit, tout appui sur les boutons de tir (joueur 1 et joueur 2) déclenchent le son correspondant.
Le jeu devrait rester muet quand aucun crédit n'est inséré.

Ce genre de comportement me fait vraiment penser à un problème de RAM !

À suivre...
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: supercarotte le Samedi 20 Février 2010, 22:34:11 pm
Damned ... repasse vite ton WIP à 30%  :-((
 ;)
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Wapata le Samedi 20 Février 2010, 22:35:31 pm
Je suis sur que t'avais tout prévus pour ne pas t'ennuyer !
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: madyoyo le Dimanche 21 Février 2010, 10:04:26 am
surprenaznt en effet le coup du bouton à ILS, mais en y réfléchissant, c'est la solution la plus fiable sur le lon, voire trés long terme. pas de contacts "ouverts" signifie pas d'usure autre que le ressort ou la tige verticale dans sa glissiere, tout deux vachement durables.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Dimanche 21 Février 2010, 13:10:38 pm
ce wip ....  ;D j'adore!

bon, ben bon courage pour ta panne inopinée...

par contre, l'intérupteur ILS sur wiki ils disent que le temps de réponse est plus long qu'un bouton standard ? quid ?  :?
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Dimanche 21 Février 2010, 13:18:53 pm
par contre, l'intérupteur ILS sur wiki ils disent que le temps de réponse est plus long qu'un bouton standard ? quid ?  :?

C'est très certainement exact.
A mon avis, ce genre de bouton ne serait pas apprécié par les adeptes des jeux de fight par exemple.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: dapsaille le Dimanche 21 Février 2010, 20:44:40 pm
Wahouu ...

 il faut avouer que ça en jette un max ...

 On sent bien les passionnés par le sujet ..

 Autant Fabrice, l'instigateur du projet que Gc qui vient apporter son soutien ..

 Bravo, chapeau bas messieurs.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Biglunk le Lundi 22 Février 2010, 19:13:36 pm
J'ai travaillé plusieurs années dans la téléphonie mobile et sur l'un de nos modèle nous utilisions un contacteurs type ILS et bien je peux vous dire que ca n'est pas le truc indestructible que vous pensez !! Le nombre de panne et de retour client que nous avons eu a cause de ça  ::) >:D !!! Quoi qu'il en soit F4brice Go-Go-Go !!!!!!  ^-^
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Mardi 23 Février 2010, 13:14:35 pm
Bonjour.

Ces RAM 256×4 ne semblent pas être d'une fiabilité extraordinaire tout comme les MCM51L01 que je proposais comme remplaçantes temporaires, ces dernières claquaient comme des mouches et il fallait souvent les remplacer.

Une suggestion : pourquoi ne pas les remplacer par des mémoires caches pour carte mère de PC à base de 486, elles sont très véloces avec un temps d'accès de l'ordre de 15 ns, donc théoriquement au moins 10 fois plus rapides que celles d'origine. Ce qui devrait oblitérer tout un tas de problèmes potentiels que ne manqueraient pas d'occasionner des mémoires, plus facile à trouver, mais beaucoup plus lentes comme la HM6116 (2K×8 CMOS).
Il devrait être possible de trouver une de ces vielles cartes pour une somme symbolique. La plupart du temps ces mémoires cache étaient montées sur support ce qui facilite la tâche pour les récupérer.

Le problème avec ce type de mémoire cache, c'est que les entrées/sorties sont multiplexées, il est donc nécessaire de les différencier à l'aide d'un buffer de bus du genre LS244.
L'encombrement de ces mémoires ainsi que leur brochage étant complètement différents, il sera nécessaire de les installer avec les buffers de bus sur une petite carte fille tout comme l'a fait Biltronix pour ses ersatz de ROM : http://www.biltronix.com/CCPU_Custom_Chip_Replacements.html

(http://www.biltronix.com/images/CCPU/ccpu_bprom_replacement_02_200x150.jpg) (http://www.biltronix.com/images/CCPU/ccpu_bprom_replacement_02.jpg)

Un schéma possible pour des RAM UM61512AK-15 utilisées sur ces vieilles cartes mères à base de 486 :

(http://img1.uplood.fr/mamu/453h_ram.gif) (http://www.uplood.fr)

Il s'agit plus d'un schéma de principe que d'un schéma fonctionnel car il n'est pas exclu qu'il y ait des problèmes de timing entre les buffers, la RAM et/ou les bus concernés du CCPU ... Ici le schéma est incomplet car il n'est dessiné que pour les 4 bits de poids forts, il est nécessaire de le dupliquer pour les 4 bits de poids faibles.




Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Mardi 23 Février 2010, 22:48:38 pm
Bonsoir.

Maintenant [couic] tu devrais pouvoir écrire un petit bout de programme simple pour faire tester les RAM's par le noyau du CCPU avec la méthode du damier :
  • En écrivant alternativement 555H, 0AAAH, 555H... dans toutes les lignes de la mémoire.
  • Puis en vérifiant ce qui a été écrit dans chaque ligne.
  • En refaisant une deuxième passe en décalant le motif d'une adresse : 0AAAH, 555H, 0AAAH...

Cela permettrait de tester le CCPU en vitesse réelle avec un jeu d'instructions réduit,

Plus tard tu pourras même utiliser une méthode plus sophistiquée comme celle du 1 ou du 0 baladeur pour tester chaque module mémoire 4 bits :
  • Le un baladeur : 0000, 0001, 0010, 0100, 1000, 0000, 0001 et ainsi de suite ... en décalant le motif d'une cran à la passe suivante.
  • Le zéro baladeur : 1111, 1110, 1101 et ainsi de suite ...

Précision pour les tests : il ne faut pas tester les lignes mémoire individuellement les unes après les autres mais faire le test en globalité :

Le test du damier :
Il faut d'abord écrire le motif sur toutes les lignes de la mémoire :
Il faut ensuite relire les lignes les unes après les autres pour vérifier le motif qui vient d'être écrit.
S'il n'y a pas d'erreur à la relecture, il faut enchaîner une deuxième passe de test en décalant le motif d'une ligne lors de sa réécriture :
Tout comme pour la première passe, il faut effectuer une relecture pour vérifier ce deuxième motif ligne par ligne jusqu'à la dernière incluse.

Ce test du damier s'effectue toujours en deux passes puisque le motif est répétitif toutes les deux lignes mémoires. Une fois ces deux premières passes effectuées on peut enchaîner indéfiniment sur une série de nouvelles passes en décalant le motif d'une ligne mémoire à chaque fois.

Le test du 1 baladeur :
Bien que la ligne mémoire du CCPU ait une largeur de 12 bits, les boîtiers mémoires n'ont qu'une largeur de 4 bits. Aussi il sera plus simple et plus rapide de balader 1 bit par ligne de boîtier mémoire qu'un bit par ligne mémoire, car il est quasi impossible qu'un bit d'un boîtier interfère sur celui d'un boîtier voisin.
Il faut d'abord écrire le motif sur toutes les lignes de la mémoire :
Il faut ensuite relire les lignes les unes après les autres pour vérifier le motif qui vient d'être écrit.
S'il n'y a pas d'erreur à la relecture, il faut enchaîner la passe de test suivante en décalant le motif d'une ligne lors de sa réécriture :
Tout comme pour la passe précédente, il faut effectuer une relecture pour vérifier ce deuxième motif ligne par ligne jusqu'à la dernière incluse.

Le motif étant répétitif toutes les cinq lignes mémoires, il faudra donc cinq passes consécutives pour effectuer un test complet, c'est à dire pour tester toutes les possibilités pour chaque ligne mémoire (à noter qu'il aurait fallu 13 passes consécutives si un seul bit avait été baladé sur toute la largeur de la ligne mémoire, le faire au niveau de chaque boîtier est somme toute beaucoup plus rapide )

Pour résumer :

Cette manière de faire permet de mettre en évidence des interférences entre lignes ou blocs d'adresses car d'une part le motif est écrit dans toute la mémoire avant d'être relu pour vérification et d'autre part il est répétitif modulo 5 pour éviter d'être en phase avec des blocs mémoire défectueux dont le nombre de lignes est selon toute évidence une puissance de 2.

Le test du 0 balladeur :
Identique à celui du 1 balladeur, il suffit d'inverser les 1 et les 0 dans le motif binaire de chaque ligne à tester.
Il faudra donc aussi 5 passes consécutives, avec décalage du motif à chaque passe, pour effectuer un test complet.

Il est bien sûr possible et même conseillé d'enchainer les différents tests les uns à la suite des autres et de reboucler indéfiniment jusqu'à l'arrêt par intervention humaine ou détection d'une faute mémoire.
En jonglant avec les registres internes du CCPU, il devrait être possible d'écrire un programme de test qui n'a besoin d'aucune ressource mémoire RAM pour fonctionner.

Titre: [WIP 20%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mercredi 24 Février 2010, 08:15:53 am
Précision pour les tests : il ne faut pas tester les lignes mémoire individuellement les unes après les autres mais faire le test en globalité
[couic sur la description précise de l'algo de test]

Bonjour.

Merci pour cette information.  ^-

Je partais mal pour mon algo de test car il ne sollicitait qu'une seule cellule mémoire à la fois, sans se préoccuper des autres.
Un problème lié au bus d'adresse n'aurait pas pu être détecté, si tant est que le problème se manifeste à l'identique entre les phases de lecture et d'écriture.
Je n'avais écrit que 25% du programme, donc je vais le reprendre à 0.
De même, je n'avais pas utilisé le fait que les 3 puces mémoires de 256 x 4 bits chacunes sont indépendantes.
L'algo s'en trouvera simplifié.

Le CCPU ne permet d'accéder à la RAM qu'à travers la notion de page.
Les 256 mots de 3 x 4 bits sont organisés en 16 pages de 16 mots de 3 x 4 bits.
Il n'est possible de sélectionner qu'une seule page à la fois (en écrivant dans le registre P, qui ne peut pas être relu).
D'ailleur, il n'existe qu'une et une unique instruction pour écrire dans le registre P :
Il n'est possible d'utiliser qu'une constante "n" pour cette instruction, donc définie au moment de l'écriture du programme.
Impossible d'incrémenter, décrémenter P, de copier un accumulateur dans P, etc...
Le jeu d'instructions du CCPU est particulièrement réduit.
Il y a 2 accumulateurs de 12 bits chacun. Tous les autres registres ont une utilité spécifique et ne peuvent être qu'écrits, jamais lu.
Par exemple, le registre "J" contient l'adresse du prochain JUMP réalisé.
Plusieurs instructions permettent de l'écrire, mais aucune ne peut le relire.
Il est lu en interne lorsque justement un JUMP est effectué.
De même, le registre "I" (registre d'indirection mémoire) peut être écrit grâce à plusieurs instructions, mais il n'est jamais lisible.
Il est utilisé en interne pour toutes les opération mémoires qui peuvent utiliser l'indirection :

À suivre...
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Jeudi 25 Mars 2010, 01:06:53 am
Bonsoir.

Après des semaines où je n'ai pas touché terre et une semaine d'absence, j'ai enfin pu reprendre le dépannage de ce PCB Sega Space Ship.

La dernière fois, je l'avais laissé dans l'état suivant :

La 3e puce de RAM (qui était encore d'origine) était très fortement soupçonnée.
J'avais écris un compilateur de code assembleur pour pouvoir réaliser mon propre programme de test de RAM.
Ce programme devait être flashé dans une EPROM standard et j'aurais adapté cette EPROM à la place des 8 PROM Sega qui contiennent le jeu.
N'ayant pas encore d'effaceur d'EPROM, j'avais apporté chez mes parents tout mon stock d'EPROM pour les effacer sur l'insoleur UV (outil pour faire les circuits imprimés) de mon Pôpa.
Malheureusement, j'ai oublié chez mes parents tout ce stock d'EPROM, et je me retrouve donc pour quelques semaines sans aucun de ces composants, jusqu'à ma prochaine visite chez eux !

Donc en attendant, j'ai décidé de continuer quand même le dépannage du PCB avec la méthode "traditionnelle" :

Ayant plusieurs petits composants optiques "TIL311" qui m'ont été donnés par gc339, j'en ai profité pour les mettre en action :

(http://img1.uplood.fr/free/78ip_20100325_000846_7558_img.jpg) (http://www.uplood.fr)
5 composants TIL311 en action

Ainsi, je suis quitte de promener la sonde de l'oscillo à ces endroits.
J'ai 2 infos très importantes en un seul coup d'oeil. Le confort et le gain de temps sont nettement améliorés.

(http://img1.uplood.fr/free/tp62_20100325_000904_7559_img.jpg) (http://www.uplood.fr)
L'instruction en cours d'exécution

Pour le branchement, je ne me suis pas pris la tête comme la dernière fois.
Les composants TIL311 sont branchés directement sur les bus à observer.
J'ai vérifié à l'oscillo et leur présence n'affaiblit pas les niveaux TTL.
J'ai vérifié également qu'ils étaient tous correctement câblés et qu'ils indiquaient tous la valeur qu'ils doivent mesurer.


C'est reparti pour un débuggage électronique du PCB...


Parmi les premières instructions, le jeu lit une entrée et récupère la valeur opposée (le PCB est ainsi conçu) dans l'accumulateur :

(http://img1.uplood.fr/free/t7pj_20100325_002918_7563_img.jpg) (http://www.uplood.fr)
L'entrée n'est pas activée, 0x001 est écrit dans l'accumulateur

L'instruction d'après demande un décalage de 1 bit vers la gauche de l'accumulateur.
Il passe donc comme prévu de la valeur 0x001 à 0x002.
C'est grosso-modo l'équivalent d'une multiplication par 2.

(http://img1.uplood.fr/free/bzp9_20100325_002928_7564_img.jpg) (http://www.uplood.fr)
Décalage de 1 bit vers la gauche

L'instruction suivante est elle aussi un décalage de 1 bit vers la gauche.
L'accumulateur passe donc de 0x002 à 0x004 comme il est prévu :

(http://img1.uplood.fr/free/1gta_20100325_002938_7565_img.jpg) (http://www.uplood.fr)
2e décalage de 1 bit vers la gauche

Puis l'instruction d'après est encore un décalage vers la gauche (ça fait le 3e).
J'ai vérifié, et le code du jeu est bel et bien réalisé comme ça.

Sauf que là, c'est le drame :

(http://img1.uplood.fr/free/li7i_20100325_002948_7566_img.jpg) (http://www.uplood.fr)
Patatra !

L'accumulateur passe de 0x004 à 0x000 au lieu de 0x008. Pas glop...
En plus, le changement se fait sur un front descendant de la clock.
D'après la doc technique du 74LS194 (le composant qui stocke la valeur de l'accumulateur et qui réalise aussi les décalages binaires), le changement aurait dû se faire sur le front montant de la clock, et j'aurai dû avoir 0x008 et non pas 0x000.
J'ai bien sûr vérifié à l'oscillo et le petit afficheur TIL311 affiche la valeur réelle (une erreur de câblage de ma part aurait pu m'enduire d'erreur et me faire croire à une erreur à l'insu de mon plein gré).


Demain matin, je ferai escale chez le crémier pour acheter un composant de remplacement...


À suivre...
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Jeudi 25 Mars 2010, 11:03:42 am
c'est toujours aussi passionant a suivre, et surtout détaillé  :-* :-* ^-
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: the_vidy le Jeudi 25 Mars 2010, 16:17:25 pm
Ca a l'air trop facile pour toi d'acheter des composants. Je trouve ça trop galere, il n'y a plus de magasin d'electronique par chez moi et faire une commande electronique diffusion coute plus cher en transport (en plus je me goure souvent dans les ref).
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Iro le Jeudi 25 Mars 2010, 16:22:43 pm
Ca a l'air trop facile pour toi d'acheter des composants de dépanner.
... tout cours !!
Je suis admiratif devant ce travail !!!
HS : Gti Club Minifiesta est sorti sur WII. Sympa mais pas transcendant.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Jeudi 25 Mars 2010, 19:49:26 pm
Ca a l'air trop facile pour toi d'acheter des composants. Je trouve ça trop galere, il n'y a plus de magasin d'electronique par chez moi et faire une commande electronique diffusion coute plus cher en transport (en plus je me goure souvent dans les ref).

Sur Besançon, il y a 2 magasins d'électroniques assez bien fournis.
EDIT : http://www.microprocessor-fr.com/ (http://www.microprocessor-fr.com/) et http://www.reboul.fr/ (http://www.reboul.fr/)

Ce matin, je suis passé dans le magasin habituel (situé à 2 min de mon boulot, je passe devant tous les jours).
Ils n'avaient pas de 74LS194 référencés (pourtant ils ont des trucs largement plus exotiques).
J'ai passé un coup de fil au 2e magasin qui l'avait en référence et en stock.

C'est vrai que c'est extrêmement pratique de ne pas à avoir à tout commander par correspondance.
Titre: [WIP 95%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Jeudi 25 Mars 2010, 20:20:43 pm
Bonsoir.

Mise à jour de ce WIP.

Hier soir, j'avais déterminé avec certitude qu'un composant était bel et bien grillé.
À midi, je suis passé chez le 2e crémier et j'ai donc acheté 3 circuits intégrés 74LS194 (1 pour remplacement, 2 pour avoir un peu de stock).

Ce soir, j'ai donc dessoudé celui d'origine qui avait pris sa retraite trop tôt à mon goût :

(http://img1.uplood.fr/free/bq2h_20100325_184422_7567_img.jpg) (http://www.uplood.fr)
Toi, tu sors !

J'ai déjà constaté à l'oscillo sa panne ; mon flasheur-testeur confirme mon diagnostic :

(http://img1.uplood.fr/free/514j_pb_74ls194.jpg) (http://www.uplood.fr)
Ca môrche pô !

Je mets en place (sans utiliser de support) son remplaçant, fraichement acheté :

(http://img1.uplood.fr/free/60iu_20100325_185614_7568_img.jpg) (http://www.uplood.fr)
Bienvenue au p'tit nouveau

Ensuite, il me faut confirmer que le p'tit nouveau a un avenir prometteur.
Je déroule donc à nouveau les instructions assembleur du jeu en pas à pas.
Cette fois, lorsqu'il s'agit de faire le 3e décalage binaire, le nouveau composant assure :

(http://img1.uplood.fr/free/4c97_20100325_190524_7569_img.jpg) (http://www.uplood.fr)
Well done, Jim !

Je continue de suivre l'exécution de nombreuses instructions.
Tout semble correct, il est temps de déconnecter mon bouton poussoir de pas à pas, et de remettre en service le quartz de la clock d'origine...

(http://img1.uplood.fr/free/6ssv_20100325_192422_7571_img.jpg) (http://www.uplood.fr)
Back to 19,968 MHz (ok, c'est divisé derrière)

Les afficheurs TIL311 affichent "8" car l'œil n'a pas le temps de voir les changements (persistance rétinienne) si toutefois les afficheurs ont bien le temps de commuter, ce qui n'est pas sûr. Bref, c'est normal.

Un petit coup d'oscillo sur le signal "RESET" du watchdog, et... c'est le calme plat !
Le PCB n'est plus reseté par le watchdog !
 :-)= :-)= :-)= :-)=

Je jette un oeil à l'une des sorties qui pilote l'écran vectoriel :

(http://img1.uplood.fr/free/jqy4_out.png) (http://www.uplood.fr)
Miam !

Ça, c'est très très (...) très bon signe, ça veut dire que le PCB envoie des ordres de tracé vectoriel à l'écran !  :-)=

Je teste donc le PCB dans la borne, et...





.




.




.




.




.




.




(http://img1.uplood.fr/free/is25_20100325_193826_7578_img.jpg) (http://www.uplood.fr)
Ça maaaaaaaaaaarche !


Mon PCB Sega Space Ship est donc réparé pour la 2e fois ! :-)=  :-*  8)

Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: zebassprophet le Jeudi 25 Mars 2010, 21:00:32 pm
you're the best^^
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: AsPiC le Jeudi 25 Mars 2010, 22:11:33 pm
Good Job ^-^

Sinon pas tout jeune le remplaçant :D

(http://img1.uplood.fr/free/60iu_20100325_185614_7568_img.jpg)
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Sir Kayne le Jeudi 25 Mars 2010, 22:39:35 pm
C'est le genre de post qui me redonne du courage pour reparer mes pcb défectueux (en particulier une turbo outrun qui me reste à dépanner)  8)

En tout cas bravo pour la réparation, mais aussi pour les explications, ce n'est peux être pas limpides pour tout le monde, mais en tous cas ca donne une certaine démarche logique à suivre (pas bête le coup des TIL) ^-
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Jeudi 25 Mars 2010, 22:44:19 pm
pas bête le coup des TIL

L'idée des TIL311 est de gc339.  <:)
C'est lui aussi qui m'a donné 6 de ces composants !  :-*
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: jujusl le Jeudi 25 Mars 2010, 23:24:22 pm
J'adore ces WIPs de PCB ! :-*
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: HerosSuperMan le Vendredi 26 Mars 2010, 08:44:02 am
yeahhh encore une super action des dieux de l'électronique  ^-^
(on peut dire "des" pour une personne ???  :D)

et mdr pour la signature de ton pseudo
« Matériel inconnu ? Touche à ton cul ! »
 ^-
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: speedsterharry le Vendredi 26 Mars 2010, 15:54:45 pm
F4brice, l'homme qui avait le pouvoir de vie et de mort sur les PCBs  ^-
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Vendredi 26 Mars 2010, 20:05:17 pm
f4brice, le chuck norris des pcb  ^-^ :D
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Vendredi 26 Mars 2010, 20:46:32 pm
F4brice, l'homme qui avait le pouvoir de vie et de mort sur les PCBs  ^-

f4brice, le chuck norris des pcb  ^-^ :D

Ne vous emballez pas, les poulettes !
Cette réparation-là était assez simple :

En plus, je n'ai même pas fini d'écrire le programme de test mémoire dont je pensais avoir besoin...

 :?  ;)
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mardi 30 Mars 2010, 00:35:19 am
Bonsoir.

Maintenant que le PCB de jeu est réparé (pour combien de temps ?), je vais essayer de gagner un peu en qualité d'image.
En effet, le poids des années fait que les dessins vectoriels ont un petit peu la tremblotte, et les segments de droite ne sont pas tout à fait jointifs là où ils le devraient.

Le problème s'estompant au bout de quelques minutes de fonctionnement, je suis persuadé que c'est un problème de condos vieillissants...
Pour le moment, je n'en ai changé absolument aucun...

Et des candidats au changement, il y en a plusieurs !

Voici ce que j'appelle des « bombonnes » (ou « pots de confiture ») :

(http://img1.uplood.fr/free/8l2a_20100329_230702_7590_img.jpg) (http://www.uplood.fr)
10.000 µF / 16V

(http://img1.uplood.fr/free/j65r_20100329_230746_7591_img.jpg) (http://www.uplood.fr)
22.000 µF / 35V (il y en a 2)

Il n'y a pas d'autre indication sur ces condos...
« CE62W » est une indication que je n'ai pas identifiée.
« 07F8 » est certainement un numéro de lot...

Je pensais les remplacer par des condos série « CHASSIS FILTRAGE TYPE C106 SS PB » disponibles chez Electronique-Diffusion (http://www.electronique-diffusion.fr/index.php?cPath=99_144_1880).
Voici la page sur le site du fabriquant (http://www.vishay.com/product?docid=28384&query=106) et la documentation technique (http://www.vishay.com/docs/28384/106pedst.pdf).

Le fabriquant indique que ces condos ont un faible ESR :

(http://img1.uplood.fr/free/3cpd_condo.png) (http://www.uplood.fr)
Extrait datasheet

Est-ce que cette gamme de condensateur serait un bon substitut ?


Je pense aussi changer les 2 condensateurs non-polarisés qui font « mémoire analogique » et qui permettent le tracé de ligne entre 2 points :

(http://img1.uplood.fr/free/ezwx_20100329_231432_7593_img.jpg) (http://www.uplood.fr)
Oh le joli condo tout vert

Enfin, il y a une foultitude de condos tantale-goutte.
Je me demande s'il ne faudrait pas les changer eux aussi ?

Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: AsPiC le Mardi 30 Mars 2010, 08:32:02 am
Je ne sais pas si tu as trouvé cette datasheet donc je te la passes au cas ou ;)

http://www.gamoover.net/AsPiC/Marcon.pdf
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Wapata le Mardi 30 Mars 2010, 08:46:47 am
Pourquoi te complique tu alors que tu as la capacité du condo, et son voltage ?
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mardi 30 Mars 2010, 09:06:03 am
Je ne sais pas si tu as trouvé cette datasheet donc je te la passes au cas ou ;)

http://www.gamoover.net/AsPiC/Marcon.pdf

Rhooo, je n'avais pas cette doc. Merci !  <:)
Elle est intéressante. On y apprend que « CE62W » est en fait la gamme du condo.
Il semble qu'ils ne soient pas à faible ESR...

Pourquoi te complique tu alors que tu as la capacité du condo, et son voltage sa tension de service ?

La convention collective des condensateurs stipule qu'un camarade condensateur ne peut être viré et remplacé par un chinois que sur faute professionnelle prouvée par du personnel assermenté (camarade voltmètre, camarade capacimètre, camarade oscilloscope).
 ;)

Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Wapata le Mardi 30 Mars 2010, 10:22:58 am
Certes, mais tu voulais les changer non ?
Ou alors, pas tant que tu ne les aura pas testés à coup de capacimètre ?
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Mardi 30 Mars 2010, 12:29:25 pm
Bonjour.

Pourquoi te complique tu alors que tu as la capacité du condo, et son voltage ?

Ces deux caractéristiques ne sont que "la partie visible de l'iceberg", celles qui permettent au détaillant du coin de refiler n'importe quoi au béotien et de ne pas rater une vente.
En ce qui concerne les condensateurs de filtrage, il vaut mieux préférer un condensateur de valeur moindre, mais à faible ESR, qu'un condensateur quelconque de capacité bien supérieure.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: dapsaille le Mardi 30 Mars 2010, 12:46:11 pm
......
La convention collective des condensateurs stipule qu'un camarade condensateur ne peut être viré et remplacé par un chinois que sur faute professionnelle prouvée par du personnel assermenté (camarade voltmètre, camarade capacimètre, camarade oscilloscope).
 ;)



 ;D j'adore
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: AsPiC le Mardi 30 Mars 2010, 21:53:11 pm
Rhooo, je n'avais pas cette doc. Merci !  <:)
Elle est intéressante. On y apprend que « CE62W » est en fait la gamme du condo.
Il semble qu'ils ne soient pas à faible ESR...

 <:)

Si tu bute sur la recherche de certaine datasheet n'hésite pas a demander, j'ai accès a une base pro au boulot :)
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mardi 30 Mars 2010, 22:44:29 pm
Si tu bute sur la recherche de certaine datasheet n'hésite pas a demander, j'ai accès a une base pro au boulot :)

C'est noté.  :-*

Google est ma principale source de données, mais des fois j'ai du mal à trouver certaines datasheet (composants japonnais par exemple).
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Eko le Mardi 30 Mars 2010, 23:10:34 pm
f4brice, le chuck norris des pcb  ^-^ :D

Voui voui complètement d'accord  :-)= :-)=
Moi, y me fais halluciner f4brice, il vient de Mars j'en suis sûr  :D :D

Et pour la peine, le ptit lien qui va bien :
http://chucknorrisfacts.fr/

Ceci dit, très, très, très beau boulot pour ta Pcb  <:) et si ton savoir est, en plus, tuned by GC339 alors là..... <:)

Allez hop au boulot maintenant, s'agirait de nous faire rêver encore  ^-^ voui j'en veuuuuuuuux !!!

PS: moi aussi je kiffe ta signature  ;) et c'est bien ce que je fais d'ailleurs  :D
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Infrastition le Jeudi 01 Avril 2010, 18:08:24 pm
J'ai passé une bonne partie de l'après midi à lire tout ça, je suis loin d'avoir compris toutes les technologies employées mais rien que les méthodes sont passionnantes !
Un grand bravo et bon jeu !
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: PseudoName le Jeudi 01 Avril 2010, 21:23:16 pm

La convention collective des condensateurs stipule qu'un camarade condensateur ne peut être viré et remplacé par un chinois que sur faute professionnelle prouvée par du personnel assermenté (camarade voltmètre, camarade capacimètre, camarade oscilloscope).
 ;)


;D j'adore

J'adhère  ;D

Dans les PC, il y'a en partie bcp de chinois  :?
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Dimanche 11 Avril 2010, 23:54:19 pm
Bonsoir.

Voici une mise à jour de ce WIP.

Le PCB est réparé, les condos de rechange ne sont pas encore commandés car j'attends d'avoir une commande suffisemment conséquente pour la passer.
En attendant, ayant reçu mon petit outil d'entrées-sorties USB entièrement paramétrable (voir ce message (http://www.gamoover.net/Forums/index.php?topic=21358.0)), j'en ai profité pour faire de la sauvegarde de patrimoine vidéo-ludique.
En effet, et à ma connaissance, je suis le seul possesseur connu (http://www.arcade-museum.com/members/game_detail.php?klov_id=12823) de cette borne Space Ship dans le monde mondial (et peut-être même dans toute la galaxie).

J'ai donc écrit un petit programme en C++ qui permet d'exploiter le module d'entrées-sorties USB :

(http://img1.uplood.fr/free/85yn_main.png) (http://www.uplood.fr)
Extrait de mon programme

Comme tout programme en C++, il faut le compiler.
Il existe MinGW, qui est un portage minimaliste mais très fonctionnel de l'excellent compilateur GCC pour Windaube.

(http://img1.uplood.fr/free/8qit_make.png) (http://www.uplood.fr)
« ça compile donc ça marche »

J'ai maintenant mon fichier « PROM_dump.exe » qui est prêt à configurer et à balancer toutes les commandes nécessaires au module d'entrées-sorties USB.
Le principe est simple :

Voici le montage :

(http://img1.uplood.fr/free/l8jp_20100411_100608_7688_img.jpg) (http://www.uplood.fr)
Dump in progress...

L'opération est réalisée 8 fois, car il y a 8 PROM à dumper...

Et voilà le résultat :

(http://img1.uplood.fr/free/616t_aye.png) (http://www.uplood.fr)
Les 8 PROM sont dumpées !  8)


J'ai fait une vidéo assez courte de la manip durant l'un des 8 dumps :


Sur cette vidéo, on voit une PROM en cours de lecture (à un rythme d'escargot asthmatique) avec mon programme qui se déroule.
Les loupiottes qui clignottent, ce sont les 4 bits du bus de données.
C'est un contrôle visuel qui permet de vérifier que tout fonctionne.


À suivre :

Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: jujusl le Lundi 12 Avril 2010, 00:03:50 am
Superbe, je suis grand fan de tes WIPs et des détails que tu nous donnes. :-*
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: maldoror68 le Lundi 12 Avril 2010, 12:51:49 pm
rho la belle sauvegarde pour la communauté Mame  ^-^

chapeau pour ton bénévolat, tu n'étais pas obligé d'investir dans un tel appareil, tu aurais pu garder ta space ship jalousement... :-\

moi je dis bravo.  <:) <:) <:)
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Blue Narc le Lundi 12 Avril 2010, 13:11:34 pm
Hello, par contre il me semble bien que tu parlais d'autre différences plus tôt dans le wip, des choses inactivées comme le trou noir etc....., as tu jeté un oeil sur ça ou ne sont elles pas présente dans ta version ?

 
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Lundi 12 Avril 2010, 16:04:06 pm
Bonjour.

Pourquoi faire simple quand on peut faire compliqué ?

A mon humble avis, tu aurais pu lire les PROM's fusible à partir de ton programmateur d'EPROM simplement en réalisant un petit adaptateur fil à fil pour faire faire croire au programmateur que tu voulais lire une 2716 ou une 2732.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Lundi 12 Avril 2010, 16:36:03 pm
C'était effectivement une possibilité possible, mais il y a quelques aspects qui m'ont poussés vers une autre solution :


En gros, j'ai fait mon parano complet dans la manip
Ne voulant en aucun cas risquer d'abimer le composant, et n'ayant pas un contrôle absolu du programmateur, je l'ai écarté de la solution, certainement plus par peur que par raison technique objective.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: gc339 le Lundi 12 Avril 2010, 16:47:17 pm
En gros, j'ai fait mon parano complet dans la manip
Ne voulant en aucun cas risquer d'abimer le composant, et n'ayant pas un contrôle absolu du programmateur, je l'ai écarté de la solution, certainement plus par peur que par raison technique objective.

(http://laurentdetours.blog.lemonde.fr/files/2007/02/shadoks-3.1170669778.jpg)
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Lundi 12 Avril 2010, 17:37:59 pm
C'est tout à fait ça...  :D
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mardi 13 Avril 2010, 00:34:29 am
Bonsoir.

J'ai fini de dumper les dernières PROMs, bienqu'elles ne soient pas strictement nécessaires pour l'émulation.

J'en ai profité pour modifier Mame :

(http://img1.uplood.fr/free/0212_a.png) (http://www.uplood.fr)

(http://img1.uplood.fr/free/uw3g_b.png) (http://www.uplood.fr)

(http://img1.uplood.fr/free/ugbt_c.png) (http://www.uplood.fr)


 =:))
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: liodel le Mardi 13 Avril 2010, 00:44:22 am
Nickel !!  ^-^
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: BIGJEJE le Mardi 13 Avril 2010, 02:30:01 am
ce jeu n'était pas dumpé ou émulé avec MAME avant ton passage sur cette carte ? 
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: funkycochise le Mardi 13 Avril 2010, 05:39:30 am
ce jeu n'était pas dumpé ou émulé avec MAME avant ton passage sur cette carte ?  
pas la version sega, si j'ai bien suivi.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mardi 13 Avril 2010, 07:58:16 am
ce jeu n'était pas dumpé ou émulé avec MAME avant ton passage sur cette carte ? 

Non.

pas la version sega, si j'ai bien suivi.

Voilà.

99,9% du boulot était déjà : émulation du CCPU, inputs, etc...
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mercredi 14 Avril 2010, 22:14:10 pm
Bonsoir.

Disposant du dump exact du jeu Space Ship et de Space Wars, je me suis livré à un petit exercice.
J'ai généré sous forme de texte le contenu du programme tel que le CCPU l'exécute, puis j'ai comparé octet par octet ce contenu entre Space Ship et Space Wars.

Eh bien il y a 99,95% des données qui sont identiques.
Il n'y a exactement que 2 octets sur les 4096 qui diffèrent :

(http://img1.uplood.fr/free/69jn_diff.png) (http://www.uplood.fr)

J'ai regardé vite fait à quoi ça correspond et ce ne sont pas des instructions assembleur car les quelques octets qui les précèdent n'ont pas de sens.
Il s'agit donc de données numériques, mais je ne vois pas trop en quoi elles sont liées au temps alloué pour chaque crédit inséré.
Il s'agit peut-être de "pointeurs" en ROM qui sont utilisés avec l'instruction "LKP".

Le mystère reste donc entier.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Blue Narc le Jeudi 15 Avril 2010, 15:37:52 pm

J'ai regardé vite fait à quoi ça correspond et ce ne sont pas des instructions assembleur car les quelques octets qui les précèdent n'ont pas de sens.
Il s'agit donc de données numériques, mais je ne vois pas trop en quoi elles sont liées au temps alloué pour chaque crédit inséré.
Il s'agit peut-être de "pointeurs" en ROM qui sont utilisés avec l'instruction "LKP".

Le mystère reste donc entier.


Quoi???? autant de suspense, de bave à nos lèvres, de tremblements, de tics nerveux en se demandant qu'elle pouvait être cette différence et la science reste impuissante, le mystère reste entier, arghhhhhhhhh c'est intolérable, une honte, oooohh dieu des bornes pourquoi tant de haine envers tes fidèles et pourquoi tant de questions et de souffrances.............. :'(
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: kroustibat le Vendredi 16 Avril 2010, 09:51:41 am
félicitation, ca c'est de la préservation ^-^
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Bal le Mercredi 21 Avril 2010, 20:05:41 pm
je viens de lire ce wip de ouf et franchement, en te lisant que tu voulais au départ enlever la pastille sur l'écran, j'avoue que mon coeur a failli jaillir de ma poitrine velue ^^

PATOUCH !

c'est une pastille qui sert à colorer le "soleil" dans le jeu ^^
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mercredi 12 Mai 2010, 12:39:35 pm
Bonjour.

Je suis en train de bosser sur cette borne (capkit entre autre) et j'ai 2 questions :


Voici un des condos tantale-goutte :

(http://img1.uplood.fr/free/xzdm_20100512_120638_8072_img.jpg) (http://www.uplood.fr)

J'ai retiré par curiosité la petite enveloppe qui porte la sérigraphie (gaîne thermo) ; le condo est totalement nu en dessous (aucune sérigraphie).
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: AsPiC le Mercredi 12 Mai 2010, 13:06:59 pm
Il n'y a aucune autre indication sur tes condos tantale ?
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mercredi 12 Mai 2010, 13:16:04 pm
Il n'y a aucune autre indication sur tes condos tantale ?

Il y a au dos le nombre "76", s'tout.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: AsPiC le Mercredi 12 Mai 2010, 13:31:11 pm
Essaye de voir avec ton oscillo si a l'allumage ou bien a un quelconque moment tu dépasse la tension de service de tes nouveaux condo, et si ce n'est pas le cas je pense que tu peux effectivement remplacer les 50V par les 35V.
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Dimanche 23 Mai 2010, 01:26:37 am
Bonsoir.

Pas d'avancement de ce WIP aujourd'hui...
Mais par contre, j'avais invité ce soir un copain pour voir mes bornes.
Elles ont toutes été essayées.  :D

J'ai été très content de voir que la Space Ship a beaucoup plus.
Tout mon stock de pièces de 1 FRF y est passé...  :D
On a passé un bon moment à jouer sur la borne.
Ca fait vraiment plaisir de voir ce jeu aux graphismes modestes et pourtant fantastiques donner à nouveau du plaisir aux joueurs.
L'aspect ludique est vraiment grandiose.
J'ai modifié le câblage d'un connecteur entre le panel et la borne pour que les parties démarrent en mode "7" (attraction de l'étoile centrale + inertie des vaisseaux + efficacité moyenne de la propulsion des vaisseaux) plutot qu'en mode "0" comme à l'origine (pas d'attraction, pas d'inertie des vaisseaux).

Que de chemin parcouru depuis l'instant du RT chez Wanou (http://www.gamoover.net/Forums/index.php?topic=20455.0) et l'arrivée de cette borne inconnue chez moi...
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: CryingFreeman le Dimanche 23 Mai 2010, 01:39:11 am
Ca c'est toujours la reconnaissance ultime lorsque nos invités jouent sur nos bornes qu'on bricole tant avec amour  :-*

Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Dimanche 25 Juillet 2010, 00:17:02 am
Bonsoir.

Petite mise à jour de ce topic pour vous informer que la version 0.138u4 de Mame (http://mamedev.org/?p=310) est sortie.
Je vous laisse découvrir les changements (http://mamedev.org/updates/whatsnew_0138u4.txt) par rapport à la version d'avant, et en particulier la section "New clones added".

 =:))
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: High_Cobra le Dimanche 25 Juillet 2010, 04:04:06 am
Bonsoir.

Petite mise à jour de ce topic pour vous informer que la version 0.138u4 de Mame (http://mamedev.org/?p=310) est sortie.
Je vous laisse découvrir les changements (http://mamedev.org/updates/whatsnew_0138u4.txt) par rapport à la version d'avant, et en particulier la section "New clones added".

 =:))


^-^ ^-^
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: funkycochise le Dimanche 25 Juillet 2010, 06:17:28 am
Excellent !!
 :-*
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Infrastition le Dimanche 25 Juillet 2010, 09:44:49 am
 ^-^ une réussite !
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: Bal le Vendredi 06 Août 2010, 10:50:30 am
une reconnaissance bien méritée !
Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: f4brice le Mardi 24 Août 2010, 19:25:44 pm
Bonjour.

Petite mise à jour de ce WIP.

Le sieur Nuno avait eu la gentillesse de me scanner une page d'un bouquin listant les jeux SEGA (voir son message (http://www.gamoover.net/Forums/index.php?topic=20677.msg298772#msg298772)) :

(http://hico-srv004.pixhotel.fr/sites/default/files/styles/gamoovernet890px/public/gamoovernet/20100824190951-f4brice-spaceship-sega.jpg) (http://hico-srv004.pixhotel.fr/sites/default/files/gamoovernet/20100824190951-f4brice-spaceship-sega.jpg)

Aujourd'hui, une personne bien aimable (l'amie de Régis, un collègue de boulot) a eu la gentillesse de me proposer une traduction de ce document.
Cette personne a étudié le japonnais pendant 1 an et déclare avoir un niveau modeste.
Elle savait qu'il s'agissait de la description d'un jeu vidéo, mais ne connaissait pas le jeu.
Voici la traduction proposée par Elsa :
(Entre parenthèses et en italique, ce sont les commentaires d'Elsa ; je les ai conservés avec la traduction car je les trouve très instructifs)

Citation de: Elsa
Space ship
2 joueurs uniquement / juin 1978

Les 2
(joueurs) s'opposent dans un jeu de guerre spatiale.
Le pilote du vaisseau spatial attaque le vaisseau adverse avec des
missiles en évitant le soleil et les étoiles filantes.

Il y a 10 sortes de difficultés en changeant la vitesse du vaisseau
depuis la sélection de course.
(ça doit être à l'écran de sélection de
jeu, mais il y a écrit "course", façon de parler de chez eux sans doute)


Pendant la partie le soleil peut se transformer en trou noir parmi 5
sortes de changements possibles.
(Là j'avoue que je ne comprend pas trop
la fin de la phrase "5 sortes..." peut-être que le trou noir aspire les
vaisseaux, puis peut aussi les repousser, ou les faire tourbillonner...
c'est pas précisé donc pas sûre d'avoir bien traduit ce bout de phrase...)


Un clin d'oeil à l'espace qui se déplace, au bouton critique d'urgence
qui fait le plein de combustible
(carburant) et de missiles aussi. (A
voir si le nombre de missiles est limité et si le carburant baisse
pendant le jeu)


Le temps (de jeu) est prolongé en introduisant une pièce.

La borne possède au total 20 boutons individuels. (Alors là c'est la
phrase la plus bizarre, j'suis pas sûre d'avoir bien saisi le sens de
cette phrase... à vous de me dire s'il y a bien 20 boutons sur la borne
parce que je ne vois pas bien sur la photo)

Je m'autorise à penser que cette traduction est excellente !  :-)=
Il ne va sans dire qu'Elsa et Régis ont déjà été invités à découvrir le jeu et à dîner.  :-*




Titre: [WIP 90%] Borne vectorielle : Sega Space Ship
Posté par: jcp le Mardi 24 Août 2010, 20:12:29 pm
Superbe, c'est le genre de détail que j'adore :-*.
Merci fab (et nuno et Elsa)  ^-^.