[WIP 100%] Bricolouillage d'un CPS-2 18in1
Page 1 sur 1
[WIP 100%] Bricolouillage d'un CPS-2 18in1
Pour changer un peu, je vous propose aujourd'hui d'aller bidouiller dans un CPS-2 18in1.
Un sympathique copain du forum qui ne pourra que se reconnaître mais que je ne citerai pas m'a demandé un coup de main pour refaire fonctionner son CPS-2 multi. Vu que la réparation n'a pas au final été très compliquée, on va faire un tour du fonctionnement du système 18in1. Surtout que le peu de doc que j'ai trouvée sur le sujet mentionnait des bugs que l'on peut corriger sans trop de mal .
De base, je n'y connais rien en CPS-2, c'est même la première fois que j'en touche un, alors n'hésitez pas à me corriger si je raconte des énormités.
J'ai reçu ce bien bel objet dans un bien beau carton:
Une fois le beau carton ouvert, j'ai trouvé la carte dans sa coque a priori habituelle, et une petite carte JAMMA qui l'accompagne. Quand je vois ça, ça me fait penser directement à la 138in1 de la NeoGeo et sa carte pourrie, et j'ai des envies de bricolage. Mais ce n'est pas le moment.
Quand j'ouvre la coque (il en manque un bout, ça aide à voir ce qui se passe), je vois l'empilage de cartes...
Tout en haut, on a visiblement le système 18in1, avec sa nappe qui sort pour se connecter à la petite carte JAMMA.
Je distingue pas mal de puces de mémoire reprogrammable en format CMS, quelque chose qui ressemble à un CPLD, qui gère probablement l'aiguillage du bus de données en fonction du numéro de jeu demandé par la carte JAMMA, et 4 GAL qui doivent aussi participer à la gestion de bus. Le GAL proche du connecteur semble dédié à la gestion dudit connecteur.
A noter que tout ce qui est programmable, CPLD ou GAL, a été limé pour effacer les référence. L'idée est en somme l'éviter que cette carte pirate ne soit copiée par un autre pirate .
Tout en bas, on trouve la carte principale, qu'on appelle probablement la CPU board, qui porte le système CPS-2 lui-même.
On y reconnait de la ROM système, de la RAM au format DIP, les inputs en bas à gauche, la section audio en haut à droite, et tout plein de puces CAPCOM dont il vaudrait mieux qu'elles fonctionnent!
La nappe qui relie la "ROM board" du 18in1 et la CPU board, sans aucune certitude, va probablement chercher du 3.3V sur un régulateur linéaire pour alimenter le CPLD (je ne suis pas allé vérifier), et des broches de contrôle du CPU afin de pouvoir le redémarrer quand on change de jeu.
Pour faire ma réparation, je dois séparer la ROM board 18in1 de la véritable ROM board sacrifiée. Et là, on retrouve pas mal de puces Capcom, et toutes les puces de mémoire ont été remplacées par des supports ou des connecteurs carte à carte. La carte 18in1 vient mécaniquement s'enficher dans chacun des trous des différents connecteurs pour se faire passer pour chacune des puces substituées. Très sympa, comme système!
Un petit mot au sujet de la réparation... Quand la connexion se fait mal entre la CPU board et la ROM board, le CPU part en vrille, watchdog party (celui qui me demande ce que c'est est condamné à s'abonner à ma chaîne), et l'écran passe en rouge.
Ce CPS-2 souffre de ce mal. Ce passage n'est pas le plus compliqué, parce que je l'ai réglé avec de la bombe contacts de la mort.
Par contre, avant de le brancher, il y a un petit rapétassage de connecteur à faire. Des réparations que j'ai pu observer sur YouTube, j'ai l'impression que c'est un grand classique: une ou plusieurs broches d'un connecteur se casse (ou se tord, puis se casse). Ces broches font plusieurs centimètres de long, c'est pas facile à remplacer, et encore moins en utilisant un grille-pain (promis, après, je ne fais plus de remarque ).
L'idée est donc de réparer la réparation:
[Censuré, le client donnera son accord avant que je colle les photos]
=> Décensuré
Je fais simplement un pont entre les 2 connecteurs, avec l'accord du propriétaire. Le pont est déconnectable, c'est un trimple connecteur Dupont (ou Dupond?). Avec le recul, j'aurais dû le faire plus long parce que ça empêche de remette les vis des coques.
Petite subtilités ici: les pastilles sur lesquelles le connecteur était soudé ayant été brûlées, je n'ai pas pu souder directement derrière les broches pour l'une des deux parties du connecteur. J'ai joué du multimètre pour m'apercevoir que les 6 broches du bout étaient reliées ensemble pour transmettre le +5V entre les deux cartes. La réparation d'une seule broche n'était donc de base pas nécessaire (parce qu'il en restait 5). Pour 3, par contre, il faut faire quelque chose.
Passage ennuyeux: un CPS-2, ça bouffe du courant. Pour passer beaucoup de courant entre les 2 cartes, il faut une grosse broche ou plein de petites. Ici, c'est plein de petites qui a été choisi.
Bref, sur la carte qu'on ne voit pas ci-dessous, j'ai fait des ponts avec les broches adjacentes pour souder ma nappe.
Après ça, on peut tout brancher...
Et on obtient le menu tout crade du 18in1 en surimpression du jeu.
Je m'arrête là pour aujourd'hui, je parlerai ensuite de comment cette qkdljqlkfdsd d'interface utilisateur fonctionne et de pourquoi j'ai passé 2 jours à essayer de la réparer alors qu'elle fonctionnait.
Comme ça, on fera un petit reverse engineering ensemble, ce n'est pas perdu.
Un sympathique copain du forum qui ne pourra que se reconnaître mais que je ne citerai pas m'a demandé un coup de main pour refaire fonctionner son CPS-2 multi. Vu que la réparation n'a pas au final été très compliquée, on va faire un tour du fonctionnement du système 18in1. Surtout que le peu de doc que j'ai trouvée sur le sujet mentionnait des bugs que l'on peut corriger sans trop de mal .
De base, je n'y connais rien en CPS-2, c'est même la première fois que j'en touche un, alors n'hésitez pas à me corriger si je raconte des énormités.
J'ai reçu ce bien bel objet dans un bien beau carton:
Une fois le beau carton ouvert, j'ai trouvé la carte dans sa coque a priori habituelle, et une petite carte JAMMA qui l'accompagne. Quand je vois ça, ça me fait penser directement à la 138in1 de la NeoGeo et sa carte pourrie, et j'ai des envies de bricolage. Mais ce n'est pas le moment.
Quand j'ouvre la coque (il en manque un bout, ça aide à voir ce qui se passe), je vois l'empilage de cartes...
Tout en haut, on a visiblement le système 18in1, avec sa nappe qui sort pour se connecter à la petite carte JAMMA.
Je distingue pas mal de puces de mémoire reprogrammable en format CMS, quelque chose qui ressemble à un CPLD, qui gère probablement l'aiguillage du bus de données en fonction du numéro de jeu demandé par la carte JAMMA, et 4 GAL qui doivent aussi participer à la gestion de bus. Le GAL proche du connecteur semble dédié à la gestion dudit connecteur.
A noter que tout ce qui est programmable, CPLD ou GAL, a été limé pour effacer les référence. L'idée est en somme l'éviter que cette carte pirate ne soit copiée par un autre pirate .
Tout en bas, on trouve la carte principale, qu'on appelle probablement la CPU board, qui porte le système CPS-2 lui-même.
On y reconnait de la ROM système, de la RAM au format DIP, les inputs en bas à gauche, la section audio en haut à droite, et tout plein de puces CAPCOM dont il vaudrait mieux qu'elles fonctionnent!
La nappe qui relie la "ROM board" du 18in1 et la CPU board, sans aucune certitude, va probablement chercher du 3.3V sur un régulateur linéaire pour alimenter le CPLD (je ne suis pas allé vérifier), et des broches de contrôle du CPU afin de pouvoir le redémarrer quand on change de jeu.
Pour faire ma réparation, je dois séparer la ROM board 18in1 de la véritable ROM board sacrifiée. Et là, on retrouve pas mal de puces Capcom, et toutes les puces de mémoire ont été remplacées par des supports ou des connecteurs carte à carte. La carte 18in1 vient mécaniquement s'enficher dans chacun des trous des différents connecteurs pour se faire passer pour chacune des puces substituées. Très sympa, comme système!
Un petit mot au sujet de la réparation... Quand la connexion se fait mal entre la CPU board et la ROM board, le CPU part en vrille, watchdog party (celui qui me demande ce que c'est est condamné à s'abonner à ma chaîne), et l'écran passe en rouge.
Ce CPS-2 souffre de ce mal. Ce passage n'est pas le plus compliqué, parce que je l'ai réglé avec de la bombe contacts de la mort.
Par contre, avant de le brancher, il y a un petit rapétassage de connecteur à faire. Des réparations que j'ai pu observer sur YouTube, j'ai l'impression que c'est un grand classique: une ou plusieurs broches d'un connecteur se casse (ou se tord, puis se casse). Ces broches font plusieurs centimètres de long, c'est pas facile à remplacer, et encore moins en utilisant un grille-pain (promis, après, je ne fais plus de remarque ).
L'idée est donc de réparer la réparation:
[Censuré, le client donnera son accord avant que je colle les photos]
=> Décensuré
Je fais simplement un pont entre les 2 connecteurs, avec l'accord du propriétaire. Le pont est déconnectable, c'est un trimple connecteur Dupont (ou Dupond?). Avec le recul, j'aurais dû le faire plus long parce que ça empêche de remette les vis des coques.
Petite subtilités ici: les pastilles sur lesquelles le connecteur était soudé ayant été brûlées, je n'ai pas pu souder directement derrière les broches pour l'une des deux parties du connecteur. J'ai joué du multimètre pour m'apercevoir que les 6 broches du bout étaient reliées ensemble pour transmettre le +5V entre les deux cartes. La réparation d'une seule broche n'était donc de base pas nécessaire (parce qu'il en restait 5). Pour 3, par contre, il faut faire quelque chose.
Passage ennuyeux: un CPS-2, ça bouffe du courant. Pour passer beaucoup de courant entre les 2 cartes, il faut une grosse broche ou plein de petites. Ici, c'est plein de petites qui a été choisi.
Bref, sur la carte qu'on ne voit pas ci-dessous, j'ai fait des ponts avec les broches adjacentes pour souder ma nappe.
Après ça, on peut tout brancher...
Et on obtient le menu tout crade du 18in1 en surimpression du jeu.
Je m'arrête là pour aujourd'hui, je parlerai ensuite de comment cette qkdljqlkfdsd d'interface utilisateur fonctionne et de pourquoi j'ai passé 2 jours à essayer de la réparer alors qu'elle fonctionnait.
Comme ça, on fera un petit reverse engineering ensemble, ce n'est pas perdu.
Dernière édition par Bouz le Sam 25 Juin 2022 - 12:08, édité 2 fois
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Tu sais pourquoi ils font des menus moches ? (Genre la 161in1 par exemple).
_________________
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Tu peux y aller @Bouz, j'ai honte mais j'assume !
J'ai cependant fait beaucoup de progrès avec mon fer à souder depuis
Je me rappel vaguement ce que j'ai voulu tenter, certainement refaire la connexion entre les deux cartes car broche cassée, toujours est il que le plastique soumis à de grosse température, ça fond ! Donc paie ton carnage !
Merci encore @Bouz pour la remise en fonctionnement !
J'ai cependant fait beaucoup de progrès avec mon fer à souder depuis
Je me rappel vaguement ce que j'ai voulu tenter, certainement refaire la connexion entre les deux cartes car broche cassée, toujours est il que le plastique soumis à de grosse température, ça fond ! Donc paie ton carnage !
Merci encore @Bouz pour la remise en fonctionnement !
_________________
http://www.flashkof.fr
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
anzymus a écrit:Tu sais pourquoi ils font des menus moches ? (Genre la 161in1 par exemple).
Ici, on va le voir un peu plus tard, c'est parce que c'est un microcontrôleur basique qui génère l'image, et il s'appuie sur un DAC bricolé qui ne lui propose que du tout ou rien pour les composantes RVB (dont 8 couleurs dont le noir).
La 161in1 a un menu produit directement par le hard de la NeoGeo. Avec toute la mémoire qu'ils ont embarquée, on aurait pu attendre au moins une image digne de ce nom, mais à part le manque d'envie de programmer un truc correct, je ne vois pas.
A la sortie, ils s'en sortent sans son, avec uniquement une petite ROM de fix layer qui contient les tiles du Terry et de la police de caractères. Aucun sprite. Pas cher .
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
juicelink a écrit:Tu peux y aller @Bouz, j'ai honte mais j'assume !
J'ai cependant fait beaucoup de progrès avec mon fer à souder depuis
Je me rappel vaguement ce que j'ai voulu tenter, certainement refaire la connexion entre les deux cartes car broche cassée, toujours est il que le plastique soumis à de grosse température, ça fond ! Donc paie ton carnage !
Merci encore @Bouz pour la remise en fonctionnement !
Alors je balance! .
Ce fut un plaisir!
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Bouz a écrit:
Je m'arrête là pour aujourd'hui, je parlerai ensuite de comment cette qkdljqlkfdsd d'interface utilisateur fonctionne et de pourquoi j'ai passé 2 jours à essayer de la réparer alors qu'elle fonctionnait.
Comme ça, on fera un petit reverse engineering ensemble, ce n'est pas perdu.
Excellent, j'attends la suite avec impatience !
_________________
ldindon- Used
- Messages : 288
Date d'inscription : 07/06/2022
Age : 49
Localisation : Metz
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Ce menu, donc, me pose souci.
On utilise le stick pour déplacer la petite flèche (jusqu'ici, ça va).
Pour choisir le jeu, facile aussi, on peut appuyer sur le premier bouton du panel, ou sur le bouton Start. Logique.
Sauf que quand on fait ça, ça ferme le menu, et ça ne change pas de jeu.
J'en conclus immédiatement que le mécanisme de changement de jeu ne fonctionne plus.
Sur un coup de bol, j'arrive à lancer un autre jeu. Ca tombe bien, c'est l'une de mes intros préférées de l'arcade de toute la Terre..
Je colle ma sonde d'oscilloscope tout à tour sur chacun des 4 fils qui relient les deux cartes, tout en redémarrant le slot. Résultat: aucune activité. L'un reste à l'état haut (5V), les autres à l'état bas (0V).
Deux possibilités:
- La carte est complètement morte, et du coup, c'est toujours le jeu n°1 qui se lance (je ne supporte plus la musique de GigaWing, d'ailleurs, quelle horreur).
- La carte est à moitié morte, et les signaux que j'observe forment en fait un mot de 4 bits qui indique le numéro du jeu! Eh oui, en binaire, 0001, ça fait 1 (facile, celui-là).
Du coup, pour m'en assurer, je fais un petit test. En observant la carte supérieure, j'avais repéré une barre de résistances. Il s'avère qu'elle relie les 4 fils au +5V via une résistance de 10kOhms. Ce sont des résistances de pull-up.
Mince, @theWave, je t'avais oublié:
Pull-up: un ligne flottante (en général une entrée) est reliée au +5V via une résistance. Du coup, la tension perçue sur cette ligne est de 5V. A partir de là, si la ligne est mise à la masse (via un bouton, par exemple, au hasard), le bout de fil l'emporte sur la résistance et la tension vue sur la ligne passe à 0V.
C'est comme ça que fonctionnent les pannels d'arcade: tous les boutons et tous les microswitches de direction ont des pull-ups. Sous ton panel, tu observes que chaque bouton ferme le circuit entre la ligne du bouton et la daisy-chain de masse. Pour le jeu, l'état de chaque bouton est à 5V (état haut, d'où pull-up), et le fait de presser un bouton met la ligne à la masse et passe l'état à 0V.
On pourrait aussi faire le contraire, mais on préfère mettre le 0V en référentiel présent de partout que le +5V. Et puis à l'époque, on était plus forts en transistors NPN, doués pour faire de la mise à la masse, que pour faire du PNP (qui fait de la mise à VCC). C'est aussi pour ça que les puces ont des broches d'activation en logique inverse, on les met à 0V pour les activer (mais on n'a parfois pas besoin de les mettre à 5V pour les désactiver, pull-up interne oblige). Bref, je m'égare, c'est plus souvent des pull-ups pour gérer des IO.
Pour une super animation sur le pull-up, une explication du rebond et une démo oscilloscope en main, tu peux aller voir ici si tu ne l'as pas déjà vue (j'en doute vu le nombre de vues )...
Tout ça pour dire qu'à la sortie, les 4 lignes sont par défaut à 5V, et qu'il suffirait de mettre à la masse les lignes qu'on veut pour former des numéros de jeux.
Je sors mes câbles Dupont et je viens piquer direct dans le connecteur pour voir. Et ça marche, je peux lancer n'importe quoi. Je ne sais pas vous, mais moi, ça ne donne envie de remplacer la carte par un DIP switch. Voire même de faire un petit écran de sélection, comme pour ma 138 in 1, voire...
Mais on se calme, ce n'est pas ce qu'on m'a demandé, il faut déjà faire quelque chose qui marche .
C'est là que j'attaque la rétro-ingénierie de la petite carte JAMMA...
Je pressents, à vue de nez:
- Que la carte fait passer les signaux d'un connecteur à l'autre
- qu'il y a un micro-contrôleur sur la droite qui génère le menu à coups de R, G, B en tout ou rien (8 teintes)
- qu'il y a un séparateur de synchro dans le coin en haut à gauche pour gérer le timing de l'incrustation du menu à partir du signal CSync issu du CPS-2
- que les 2 puces à gauche doivent servir à combiner les signaux de couleurs issus du microcontrôleur. Probablement un ampli op en haut, et je ne sais pas quoi de mystérieux en bas.
Du coup, je commence à me dire que, le menu fonctionnant bien, c'est la partie switch des jeux qui ne marche pas, et je pourrais extraire le microcontrôleur et le remplacer par un modèle en état de marche.
Le problème, c'est qu'il faudrait alors reprogrammer le menu et sa logique. D'après le brochage, ça ressemble à une vieille référence pour laquelle je ne trouve pas d'outils de dev .
Je me dis donc qu'il faudrait "juste" retirer le microcontrôleur, mettre un socket à la place, et y coller une carte maison, avec des microcontrôleurs que je maîtrise mieux, et qui feraient le même travail.
Pour m'assurer de la faisabilité, je commence à tracer l'utilité des différentes broches.
Je teste la continuité entre les broches du microcontrôleur et tout ce qui ressemble à du signal vidéo, et je ne trouve rien du tout. Je sonde, et je ne trouve pas d'activité (en-dehors de celle de l'oscillateur à quartz).
Du coup, je fais le travail dans le bon sens, je dégaine mon Paint.Net et je trace les lignes à partir du connecteur!
Je dois me rendre à l'évidence:
- Le microcontrôleur, avec ses 4 barres de résistances, ne fait que gérer les boutons et la sélection du jeu
- La puce en bas à gauche est elle aussi un microcontrôleur, et c'est elle qui génère le menu via ce qui est probablement bien un ampli op qui combine ses broches de sortie avec le signal en provenance du CPS2
- La puce en haut à gauche est bien un séparateur de synchro. J'ai oublié de dessiner le fil, mais elle est reliée au microcontrôleur carré. Ses broches sortent bien des signaux de synchro horizontale et verticale.
En voyant toutes ces entrées-sorties gérées par ce gros micro-contrôleur, je me dis que j'ai dû louper quelque chose...
Je rebranche tout, j'essaie par hasard de mettre des crédits, et... j'aperçois la dernière ligne tout en bas de l'écran, là où on ne voyait rien du tout juste avant, là, en bas... (mon GBS8200 ne m'a pas aidé sur ce coup-là)..
Oui, en fait, en bas, sur un CRT ou sur un coup de bol, on voit un petit chiffre qui s'incrémente! C'est le nombre de crédits insérés. Rien n'est inséré du côté du CPS-2. La carte intercepte les insertions de crédits! Je choisis un jeu, j'appuis sur Start, et bim, le menu s'efface, le compteur reste affiché en bas, le jeu redémarre... le compteur ne bouge pas... et bim, dès que le jeu est démarré, les crédits sont envoyés au CPS-2 et le compteur du 18in1 passe à 0 et disparait!
En fait, tout marche bien depuis le départ!
Le principe, c'est juste qu'il n'y a pas de freeplay ou d'attract mode possible. Quand on veut switcher sur un jeu, on met des pièces, et après, on a le droit de choisir. Et la partie démarre donc direct après parce que le jeu arrive crédité!
Le top du top de l'expérience utilisateur, c'est que si on appuie sur le bouton d'action au lieu d'appuyer sur Start, ça ferme le menu en restant sur le même jeu. Ca laisse juste le compteur affiché avec le nombre de crédits et ça ne les envoie à personne. Il faut alors appuyer 5s sur Start pour faire revenir le menu et avoir une chance d'utiliser ses crédits!
Tout ça m'a quand même inspiré un petit bricolage. Voilà un teaser avec un nouveau câble maison venu de nulle part (que j'ai dû raccorder à la masse, alors il est un peu zarbi). Le propriétaire n'ayant pas encore reçu la chose, je collerai une photo quand ce sera chose faite pour lui laisser un petit effet de surprise .
On utilise le stick pour déplacer la petite flèche (jusqu'ici, ça va).
Pour choisir le jeu, facile aussi, on peut appuyer sur le premier bouton du panel, ou sur le bouton Start. Logique.
Sauf que quand on fait ça, ça ferme le menu, et ça ne change pas de jeu.
J'en conclus immédiatement que le mécanisme de changement de jeu ne fonctionne plus.
Sur un coup de bol, j'arrive à lancer un autre jeu. Ca tombe bien, c'est l'une de mes intros préférées de l'arcade de toute la Terre..
Je colle ma sonde d'oscilloscope tout à tour sur chacun des 4 fils qui relient les deux cartes, tout en redémarrant le slot. Résultat: aucune activité. L'un reste à l'état haut (5V), les autres à l'état bas (0V).
Deux possibilités:
- La carte est complètement morte, et du coup, c'est toujours le jeu n°1 qui se lance (je ne supporte plus la musique de GigaWing, d'ailleurs, quelle horreur).
- La carte est à moitié morte, et les signaux que j'observe forment en fait un mot de 4 bits qui indique le numéro du jeu! Eh oui, en binaire, 0001, ça fait 1 (facile, celui-là).
Du coup, pour m'en assurer, je fais un petit test. En observant la carte supérieure, j'avais repéré une barre de résistances. Il s'avère qu'elle relie les 4 fils au +5V via une résistance de 10kOhms. Ce sont des résistances de pull-up.
Mince, @theWave, je t'avais oublié:
Pull-up: un ligne flottante (en général une entrée) est reliée au +5V via une résistance. Du coup, la tension perçue sur cette ligne est de 5V. A partir de là, si la ligne est mise à la masse (via un bouton, par exemple, au hasard), le bout de fil l'emporte sur la résistance et la tension vue sur la ligne passe à 0V.
C'est comme ça que fonctionnent les pannels d'arcade: tous les boutons et tous les microswitches de direction ont des pull-ups. Sous ton panel, tu observes que chaque bouton ferme le circuit entre la ligne du bouton et la daisy-chain de masse. Pour le jeu, l'état de chaque bouton est à 5V (état haut, d'où pull-up), et le fait de presser un bouton met la ligne à la masse et passe l'état à 0V.
On pourrait aussi faire le contraire, mais on préfère mettre le 0V en référentiel présent de partout que le +5V. Et puis à l'époque, on était plus forts en transistors NPN, doués pour faire de la mise à la masse, que pour faire du PNP (qui fait de la mise à VCC). C'est aussi pour ça que les puces ont des broches d'activation en logique inverse, on les met à 0V pour les activer (mais on n'a parfois pas besoin de les mettre à 5V pour les désactiver, pull-up interne oblige). Bref, je m'égare, c'est plus souvent des pull-ups pour gérer des IO.
Pour une super animation sur le pull-up, une explication du rebond et une démo oscilloscope en main, tu peux aller voir ici si tu ne l'as pas déjà vue (j'en doute vu le nombre de vues )...
Tout ça pour dire qu'à la sortie, les 4 lignes sont par défaut à 5V, et qu'il suffirait de mettre à la masse les lignes qu'on veut pour former des numéros de jeux.
Je sors mes câbles Dupont et je viens piquer direct dans le connecteur pour voir. Et ça marche, je peux lancer n'importe quoi. Je ne sais pas vous, mais moi, ça ne donne envie de remplacer la carte par un DIP switch. Voire même de faire un petit écran de sélection, comme pour ma 138 in 1, voire...
Mais on se calme, ce n'est pas ce qu'on m'a demandé, il faut déjà faire quelque chose qui marche .
C'est là que j'attaque la rétro-ingénierie de la petite carte JAMMA...
Je pressents, à vue de nez:
- Que la carte fait passer les signaux d'un connecteur à l'autre
- qu'il y a un micro-contrôleur sur la droite qui génère le menu à coups de R, G, B en tout ou rien (8 teintes)
- qu'il y a un séparateur de synchro dans le coin en haut à gauche pour gérer le timing de l'incrustation du menu à partir du signal CSync issu du CPS-2
- que les 2 puces à gauche doivent servir à combiner les signaux de couleurs issus du microcontrôleur. Probablement un ampli op en haut, et je ne sais pas quoi de mystérieux en bas.
Du coup, je commence à me dire que, le menu fonctionnant bien, c'est la partie switch des jeux qui ne marche pas, et je pourrais extraire le microcontrôleur et le remplacer par un modèle en état de marche.
Le problème, c'est qu'il faudrait alors reprogrammer le menu et sa logique. D'après le brochage, ça ressemble à une vieille référence pour laquelle je ne trouve pas d'outils de dev .
Je me dis donc qu'il faudrait "juste" retirer le microcontrôleur, mettre un socket à la place, et y coller une carte maison, avec des microcontrôleurs que je maîtrise mieux, et qui feraient le même travail.
Pour m'assurer de la faisabilité, je commence à tracer l'utilité des différentes broches.
Je teste la continuité entre les broches du microcontrôleur et tout ce qui ressemble à du signal vidéo, et je ne trouve rien du tout. Je sonde, et je ne trouve pas d'activité (en-dehors de celle de l'oscillateur à quartz).
Du coup, je fais le travail dans le bon sens, je dégaine mon Paint.Net et je trace les lignes à partir du connecteur!
Je dois me rendre à l'évidence:
- Le microcontrôleur, avec ses 4 barres de résistances, ne fait que gérer les boutons et la sélection du jeu
- La puce en bas à gauche est elle aussi un microcontrôleur, et c'est elle qui génère le menu via ce qui est probablement bien un ampli op qui combine ses broches de sortie avec le signal en provenance du CPS2
- La puce en haut à gauche est bien un séparateur de synchro. J'ai oublié de dessiner le fil, mais elle est reliée au microcontrôleur carré. Ses broches sortent bien des signaux de synchro horizontale et verticale.
En voyant toutes ces entrées-sorties gérées par ce gros micro-contrôleur, je me dis que j'ai dû louper quelque chose...
Je rebranche tout, j'essaie par hasard de mettre des crédits, et... j'aperçois la dernière ligne tout en bas de l'écran, là où on ne voyait rien du tout juste avant, là, en bas... (mon GBS8200 ne m'a pas aidé sur ce coup-là)..
Oui, en fait, en bas, sur un CRT ou sur un coup de bol, on voit un petit chiffre qui s'incrémente! C'est le nombre de crédits insérés. Rien n'est inséré du côté du CPS-2. La carte intercepte les insertions de crédits! Je choisis un jeu, j'appuis sur Start, et bim, le menu s'efface, le compteur reste affiché en bas, le jeu redémarre... le compteur ne bouge pas... et bim, dès que le jeu est démarré, les crédits sont envoyés au CPS-2 et le compteur du 18in1 passe à 0 et disparait!
En fait, tout marche bien depuis le départ!
Le principe, c'est juste qu'il n'y a pas de freeplay ou d'attract mode possible. Quand on veut switcher sur un jeu, on met des pièces, et après, on a le droit de choisir. Et la partie démarre donc direct après parce que le jeu arrive crédité!
Le top du top de l'expérience utilisateur, c'est que si on appuie sur le bouton d'action au lieu d'appuyer sur Start, ça ferme le menu en restant sur le même jeu. Ca laisse juste le compteur affiché avec le nombre de crédits et ça ne les envoie à personne. Il faut alors appuyer 5s sur Start pour faire revenir le menu et avoir une chance d'utiliser ses crédits!
Tout ça m'a quand même inspiré un petit bricolage. Voilà un teaser avec un nouveau câble maison venu de nulle part (que j'ai dû raccorder à la masse, alors il est un peu zarbi). Le propriétaire n'ayant pas encore reçu la chose, je collerai une photo quand ce sera chose faite pour lui laisser un petit effet de surprise .
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
anzymus a écrit:Tu sais pourquoi ils font des menus moches ? (Genre la 161in1 par exemple).
Ben ce sont des chinois qui font ça, donc c'est forcément moche...
juicelink a écrit:Tu peux y aller @Bouz, j'ai honte mais j'assume !
J'ai cependant fait beaucoup de progrès avec mon fer à souder depuis
Je me rappel vaguement ce que j'ai voulu tenter, certainement refaire la connexion entre les deux cartes car broche cassée, toujours est il que le plastique soumis à de grosse température, ça fond ! Donc paie ton carnage !
Merci encore @Bouz pour la remise en fonctionnement !
Démasqué le cochon du fer à souder
_________________
Sanjuro a écrit:en Special Guest Star, WRC dans le rôle de theWave
ancien directeur du service de renseignements NGS, il a le bras long comme un anaconda sous stéroïdes, si un gros bonnet doit se coucher, c'est qu'il en a donné l'ordre.
theWave- Pièce unique
- Messages : 10164
Date d'inscription : 25/10/2015
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Bouz a écrit:
En fait, tout marche bien depuis le départ!
Voilà ce qui arrive quand on ne lit pas le manuel
_________________
ldindon- Used
- Messages : 288
Date d'inscription : 07/06/2022
Age : 49
Localisation : Metz
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
ldindon a écrit:Bouz a écrit:
En fait, tout marche bien depuis le départ!
Voilà ce qui arrive quand on ne lit pas le manuel
Si j'en avais eu un...!
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Et fin du faux suspense...
L'ami Juicelink a reçu son paquet, on a passé un bout de temps par messagerie forum, puis Whatsapp, puis au téléphone, parce que ça ne fonctionne pas chez lui :-(
Verdict du diagnostic à distance: l'alim de sa blast ne tient pas le coup. Le CPS2 bouffe du courant à bloc. Le 18in1 en consomme lui aussi, et il a besoin d'une alim plus stable que le CPS2.
Un relevé au multimètre en mode alternatif a remonté une oscillation résiduelle sur le +5V d'une amplitude de 9.4V! Même en ayant des doutes sur la précision du multimètre, ça reste énorme!
L'alimentation ne résiste pas à la charge demandée et le circuit de régulation ne fait pas son boulot. Ca pourrait être simplement les gros condensateurs en sortie de l'alimentation, mais ça va demander une intervention sur le bloc d'alim.
En tout cas, quand ça marche, on peut à présent brancher sur le 18in1 une nouvelle carte avec des DIP switches...
La carte peut être laissée en place, avec tous les DIP ouverts, pour utiliser la petite carte JAMMA 18in1 d'origine.
On peut aussi virer celle-ci et tout afire avec les DIP. Et à ce moment-là:
- On démarre directement sur le jeu qu'on veut
- On peut marcher en freeplay
- On a droit à l'attract mode (puisqu'on n'est plus obligé de créditer poru démarrer)
- On passe pour un gros bricoleur
- On peut carrément virer la 18in1 et on a l'impression d'avoir affaire à un CPS2 et pas à une carte bidouillée
- Ca permet d'éliminer une piste quand on doit diagnostiquer des problèmes. Sur un alim, par exemple.
Un petit truc cool dans la conception du 18in1: le reboot du CPS2 sur changement du jeu est pris directement en charge par la carte supérieure. La carte JAMMA ne fait qu'envoyer des numéros de jeu. Du coup, il est possible de changer de jeu à la volée via les DIP sans se poser de question: c'est fait exprès!
Dans les faits, on a un petit GAL à l'arrivée du connecteur sur la carte supérieure, qui détecte le changement de jeu et notifie le microcontrôleur embarqué.
Je suis fan de la conception de la grosse carte! (moins de la petite)
L'ami Juicelink a reçu son paquet, on a passé un bout de temps par messagerie forum, puis Whatsapp, puis au téléphone, parce que ça ne fonctionne pas chez lui :-(
Verdict du diagnostic à distance: l'alim de sa blast ne tient pas le coup. Le CPS2 bouffe du courant à bloc. Le 18in1 en consomme lui aussi, et il a besoin d'une alim plus stable que le CPS2.
Un relevé au multimètre en mode alternatif a remonté une oscillation résiduelle sur le +5V d'une amplitude de 9.4V! Même en ayant des doutes sur la précision du multimètre, ça reste énorme!
L'alimentation ne résiste pas à la charge demandée et le circuit de régulation ne fait pas son boulot. Ca pourrait être simplement les gros condensateurs en sortie de l'alimentation, mais ça va demander une intervention sur le bloc d'alim.
En tout cas, quand ça marche, on peut à présent brancher sur le 18in1 une nouvelle carte avec des DIP switches...
La carte peut être laissée en place, avec tous les DIP ouverts, pour utiliser la petite carte JAMMA 18in1 d'origine.
On peut aussi virer celle-ci et tout afire avec les DIP. Et à ce moment-là:
- On démarre directement sur le jeu qu'on veut
- On peut marcher en freeplay
- On a droit à l'attract mode (puisqu'on n'est plus obligé de créditer poru démarrer)
- On passe pour un gros bricoleur
- On peut carrément virer la 18in1 et on a l'impression d'avoir affaire à un CPS2 et pas à une carte bidouillée
- Ca permet d'éliminer une piste quand on doit diagnostiquer des problèmes. Sur un alim, par exemple.
Un petit truc cool dans la conception du 18in1: le reboot du CPS2 sur changement du jeu est pris directement en charge par la carte supérieure. La carte JAMMA ne fait qu'envoyer des numéros de jeu. Du coup, il est possible de changer de jeu à la volée via les DIP sans se poser de question: c'est fait exprès!
Dans les faits, on a un petit GAL à l'arrivée du connecteur sur la carte supérieure, qui détecte le changement de jeu et notifie le microcontrôleur embarqué.
Je suis fan de la conception de la grosse carte! (moins de la petite)
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Bouz a écrit:Du coup, il est possible de changer de jeu à la volée via les DIP sans se poser de question: c'est fait exprès!
Ahh ben du coup un rotary switch pourrait être pas mal pour remplacer les DIPs.
_________________
ldindon- Used
- Messages : 288
Date d'inscription : 07/06/2022
Age : 49
Localisation : Metz
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Les alims de Blast ont souvent (de nos jours) du mal quand on leur en demande un peu trop malheureusement.
Un CPS2 ça passe, mais par exemple un multi naomi 2 net Dimm avec raspi c’était trop chez moi. Une alim de Naomi/NNC c’est mieux, ou une alim de PC pour alimenter le système de jeu pendant que l’alim de Blast continue à alimenter la platine et gère le son.
Utiliser une alim externe tierce pourrait permettre à Juicelink de retester ça je pense
Un CPS2 ça passe, mais par exemple un multi naomi 2 net Dimm avec raspi c’était trop chez moi. Une alim de Naomi/NNC c’est mieux, ou une alim de PC pour alimenter le système de jeu pendant que l’alim de Blast continue à alimenter la platine et gère le son.
Utiliser une alim externe tierce pourrait permettre à Juicelink de retester ça je pense
Romano- Used
- Messages : 450
Date d'inscription : 10/12/2020
Age : 43
Localisation : Metz / Lux
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
ldindon a écrit:Ahh ben du coup un rotary switch pourrait être pas mal pour remplacer les DIPs.
Oui, enfin un rotary à 18 positions et avec un encodage binaire, je ne connais pas. Par contre, un encodeur optique, un microcontrôleur et une EPROM pour mémoriser le dernier jeu lancé, je ne dis pas .
Romano a écrit:Les alims de Blast ont souvent (de nos jours) du mal quand on leur en demande un peu trop malheureusement.
Il nous dira quels sont ses projets. Je pense qu'il veut remettre son alim en forme pour y brancher de nouvelles petites choses qui pompent du courant sans avoir trop de questions à se poser (et de "bidouilles" à faire).
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Bouz a écrit:Oui, enfin un rotary à 18 positions et avec un encodage binaire, je ne connais pas. Par contre, un encodeur optique, un microcontrôleur et une EPROM pour mémoriser le dernier jeu lancé, je ne dis pas .ldindon a écrit:Ahh ben du coup un rotary switch pourrait être pas mal pour remplacer les DIPs.
Chouette un nouveau WIP en perspective alors
_________________
ldindon- Used
- Messages : 288
Date d'inscription : 07/06/2022
Age : 49
Localisation : Metz
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Ca ressemblerait fortement à celui que j'ai fait pour la 138in1. Tout e qui change, c'est le nombre de fils .
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Le 18in1 fonctionnait fut un temps sur ma blast, un condo de l'alim de la borne a dû se dégrader, un capkit semble de mise !
Je vais recevoir dans la semaine une mobo Atomiswave (avec un Hnk orizinal svp) on verra si c'est pas trop pour l'alimentation.
Je vais recevoir dans la semaine une mobo Atomiswave (avec un Hnk orizinal svp) on verra si c'est pas trop pour l'alimentation.
_________________
http://www.flashkof.fr
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Alors l’atomiswave fonctionne ??
_________________
Sanjuro a écrit:en Special Guest Star, WRC dans le rôle de theWave
ancien directeur du service de renseignements NGS, il a le bras long comme un anaconda sous stéroïdes, si un gros bonnet doit se coucher, c'est qu'il en a donné l'ordre.
theWave- Pièce unique
- Messages : 10164
Date d'inscription : 25/10/2015
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Oui ! au poil !
_________________
http://www.flashkof.fr
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Du coup ton alim Blast fonctionne avec l'Ato et pas avec le CPS2 ? Ou bien tu as fait un capkit, comme envisagé plus haut ???
_________________
Sanjuro a écrit:en Special Guest Star, WRC dans le rôle de theWave
ancien directeur du service de renseignements NGS, il a le bras long comme un anaconda sous stéroïdes, si un gros bonnet doit se coucher, c'est qu'il en a donné l'ordre.
theWave- Pièce unique
- Messages : 10164
Date d'inscription : 25/10/2015
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Oui avec mon alim j'ai tout qui fonctionne sauf le multi-CPS2 du coup j'ai un peu la flemme de sortir l'alim.
Aussi je joue à la cps2 via mon raspberry2Scart dont le rendu est excellent.
Aussi je joue à la cps2 via mon raspberry2Scart dont le rendu est excellent.
_________________
http://www.flashkof.fr
Re: [WIP 100%] Bricolouillage d'un CPS-2 18in1
Ahhh ben voilà qui est parfait, tu vas pouvoir en profiter un MAX !
_________________
ldindon- Used
- Messages : 288
Date d'inscription : 07/06/2022
Age : 49
Localisation : Metz
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum