Abonnement aux commentaires

S'abonner pour recevoir les commentaires suivants par email

まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

Jubeat -1-

Cela fait un peu plus de 6 ans maintenant, en décembre 2014, que j'ai découvert Jubeat en salle d'Arcade, et que j'ai été rapidement séduit par la rapidité de prise en main de ce jeu de rythme de Bemani (la branche Rhythm game de Konami).

Photo d'époque avec mon FirefoxOS sur OpenC (que j'utilise toujours…) qui galère sévère en basse lumière.

Et depuis que la salle a fermé, j'envisageais de me fabriquer une version portable de la borne, mais sans jamais lancer les choses sérieusement. J'avais quelques idées de façons de faire et elles nécessitaient l'emploi d'une découpeuse laser, j'avais d'ailleurs commencé à me renseigner sur l'engin en FabLab…
Mais bon, je pense que j'étais freiné par la complexité mécanique du panel 16 boutons à concevoir, on est ici pas face à la trivialité de confection d'un stick arcade.

  • J'avais tout de même trouvé pas mal de documentation sur des panels DIY, et on en trouve encore plus aujourd'hui, mais globalement la recette reste la même, à base de microswitch :

À l'époque, c'est sur NezBlog que j'ai eu l'inspiration, site Japonais malheureusement disparu, mais qui ne meurt pas complètement grâce à archive.org, voici donc, via archive.org les 4 pages du contrôleur aboutit en 2011 :

- jubeatコントローラ自作計画まとめ
- jubeatコントローラ自作計画まとめ(2)
- jubeatコントローラ自作計画まとめ(3)
- 自作jubeat用PIC回路図&ファームウェア
- La vidéo qui montre la progression de la construction, sur NicoNico Douga

  • Au même moment, je découvrais le panel DAO FB9, un clone du panel de la borne originale, pour ainsi dire, une copie parfaite, qui avait le mérite d'être portable, permettant d'y glisser un écran, malheureusement plus distribué depuis.

Séduit par ces solutions, je me disais que plutôt que de concevoir une borne encombrante, autant avoir un panel à plaquer sur mon écran d'ordi 24 pouces, orientable grâce à un bras ergotron, et le tour serait joué…

On pouvait lire par-ci par-la qu'il faisait 22 pouces, réglé en 1280x720 et que les touches du panel mesuraient 65 mm de côtés.

  • Grâce aux photos du FB9 sur le blog FlipFlop, j'ai pu comprendre que c'était sans doute du flan, et puis intrigué j'ai voulu vérifier, en mesurant comme j'ai pu à la salle, et j'avais noté des touches de 67 mm écartée de 13 mm, calculant alors un écran 26 pouces. (j'étais pas loin !)

  • En parallèle de ça, j'avais aussi expérimenté le logiciel, en découvrant des clones du jeu :

- Comme Youbeat (Jubeat se prononçant en fait Youbeat)
- Ainsi que Jubeat Analyser, qui permet carrément de créer ses propres pattern de jeux à plaquer sur des chansons. Je ne suis pas sûr d'ailleurs, mais je pense que Youbeat a été crée à partir de Jubeat analyser… À vérifier.
- Voici d'ailleurs un peu plus d'info sur l'état actuel de l'émulation via ce site.

  • Cependant j'avais pu dégotter une archive du jeu original — et qui fonctionnait — dans sa version « Knit », permettant alors de confirmer que le jeu tournait plutôt en 1360x768.

Souhaitant coller le plus à l'original, et pollué par ces info contradictoires, je ne comprenais plus rien, et ça a contribué à enterrer un peu plus l'étude qui partait mal…

Retour à aujourd'hui :

  • Après cette longue introduction, il y a quelques semaines donc, je ne me souviens plus trop pourquoi, le niveau de motivation est remonté et j'ai annoncé la chose publiquement via twitter sachant que quelques personnes aiment à voir ce genre de bricoles.

Magie twitesque, @catzou me mis en relation avec la commu Discord: Make Some Noise, où j'ai découvert que mes travaux autour de l'arcade, décrit dans ce blog sont relativement connu par d'autres bricoleurs, puis j'ai été accompagné par CrazyRedMachine pour faire avancer mon entreprise à grand pas !
D'abord intimidé par le fait d'être influencé dans mes idées, que la ligne directrice n'aille pas dans le sens obtus que j'ai pu imaginer, j'ai su me laisser entraîner petit à petit vers des solutions concrètes et plus simples, que nous verrons après.
En effet, 6 ans plus tard j'ai acquis pas mal de nouvelles compétences, et certaines choses me paraissent plus facilement envisageable.
- Notamment pour la fabrication des touches que j'imaginais tailler à la défonceuse, en ayant conçu des gabarit à l'imprimante3D.
- Et comme on trouve des rubbers ici ou , j'envisageais de fabriquer une plaquette électronique comme sur le panel original, avant de me rendre compte que veroxzik avait déja fort bien fait le boulot.
Encouragé donc, je comptais me faire découper la structure du panel au laser via easymetal dans une plaque de 5 mm d'épais, afin d'avoir une structure de base bien rigide, et ensuite d'imaginer comment assembler tout ça…

  • Car cette fois, on me tuyautait à partir d'informations fiables mesurées sur des pièces d'arcade originales, que voici :

- Taille des touches, surface visible, 66,4x66,4 mm.
- Grille avec des trous de 70x70 mm espacés de 11,67 mm.
- Écran original de 25,5 pouces. Ça ne se trouve plus, donc on peut utiliser un moniteur de 27 pouces et on ajustera les bords de l'image dans les réglages de la carte graphique, ou alors un écran de TV 26 pouces qui sera le plus approchant.

Cependant, travailler à partir de photo sans avoir jamais touché les entrailles de l'objet reste un exercice difficile, et j'avais du mal à formaliser l'assemblage de cette solution hybride.
S'est alors présenté une opportunité…

Ça devient concret :

  • CrazyRedMachine me fit part de la possibilité d'acheter des pièces de la borne d'origine, ou de son clone exploité en Chine (Music Cube).

Pas facile à trouver, mais faisable, via des sites comme Yahoo Auction, ou Taobao.
Pour le premier, j'ai laissé passer l'enchère car le proxy (site web intermédiaire qui commande pour vous, car on ne peut pas acheter directement depuis la France) refusait d'enchérir un vendeur qui avait une note pas très bonne (comme sur ebay quoi), et pas de regret car le panel est finalement parti autour de 300€, puis bon, j'aime pas trop les enchères…
Pour le second, nous avons vu « poper » cette annonce fort intéressante en achat immédiat,[1] et le temps de trouver un proxy (Superbuy), de comprendre comment il fonctionne, de me décider, et j'avais acheté l'item, avec à chaque étapes du processus, l'inquiétude du débutant… Et puis 34 jours plus tard, il est arrivé !

  • Et surprise, il s'agit d'un panel officiel Jubeat alors qu'on s'attendait à son clone !!

dsc04868.jpg
Avec les 50€ frais de ports (ça pèse quand même 2,5 kg, et avec le carton au total 3,2 kg), donc pour 100€ au total, c'est vraiment bien, et je suis quasi certain que j'aurais dépensé autant voir plus en le fabriquant moi même.

En attendant le colis :

Mais laissons un peu ça de côté, et voyons ce qu'on a pu faire en attendant que le paquet arrive.

  • J'allais donc recevoir un panel de jeu prêt à l'emploi, sauf qu'il manquait évidemment l'électronique pour interagir avec sur l'ordinateur.

J'étais parti dans l'idée de bricoler l'électronique d'un clavier azerty de récupération donc, avant de me rendre compte qu'au delà de 3 ou 4 touches appuyées simultanément (et encore, ça dépend desquelles) la détection des touches supplémentaires ne fonctionne pas, ce qui peut-être pourrait se révéler gênant en cour de jeu.

  • Cependant CrazyRedMachine avait déjà travaillé le sujet et publié sur son github de quoi se bricoler l'électronique d'un contrôleur de jeu disposant de 19 boutons, bien assez donc, à base d'Arduino Leonardo.

Comme je ne disposais que du modèle Arduino pro Micro, plus petit mais équivalent (moyennant moins d'in/out), je me suis donc attelé à sa programmation via cette modification du code, destinée à adapter les entrées utilisées sur le pro Micro :

// Arduino Leonardo
//uint8_t buttonPin[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,A5,A4,A3,A2,A1};

// Arduino Pro Micro
uint8_t buttonPin[] = {2,3,4,5,6,7,8,9,10,16,14,15,18,19,20,21};
  • Et pour compiler le programme sans encombre, il faudra avoir installé la librairie ArduinoJoystickLibrary de MHeironimus.

Super, ça marche, sur mon ordi nunux avec la commande pour tester les joysticks.

jstest /dev/input/js0

20210320_161620.jpg

  • La connexion de l'Arduino aux plaques du contrôleur Jubeat va donc s'effectuer via des connecteurs JST, et j'ai pu en trouver des pré-câblés sur ebay, au pas de 2 mm, avec 9 broches (JST PH2.0mm 9 pin).

  • Une fois reçu, et quelques heures de câblages plus tard en suivant bien le schéma (oui c'est toujours très long à bricoler des câbles), voilà donc mon dispositif paré, plus qu'à attendre l'arrivée du panel :

dsc04913.jpg dsc04911.jpg

Premier essai :

Comme dirait l'autre, « j'adore qu'un plan se déroule sans accrocs », j'ai donc le panel devant moi, et pas d'erreurs dans la commande, ce sont les bons connecteurs JST, je connecte, branche l'ordinateur sur le test de joystick, et… Ho bah, ça marche pô, pas un seul des 16 boutons (càd 64 contacts) ne réponds :(

Un soucis dans le câblage, je me serais trompé… Hum ?
Pas vraiment d’inquiétude en fait, j'ai bien conscience d'être face à un matériel qui a pas mal vécu, et qui présente des traces de corrosions.

  • Autrement dit, avant de conclure quoique ce soit il va me falloir tout démonter, nettoyer, et remonter avant de tester à nouveau.

L'occasion de voir comment c'est fait, et de peut-être comme c'était mon idée au départ, de pouvoir formaliser l'assemblage, sous forme de ressource en 3D qu'il suffirait de donner, au mieux, à une machine CNC. Sorte de rattrapage, l'achat du panel ayant fait perdre la reproductibilité du projet que je vous présente ici, ce qui m'a quelque peu chiffonné au départ. Mais bon ça se trouve je serais happé par un autre sujet et je ne produirais jamais ces ressources ? Bref, n'attendez pas après, ce sera une surprise… ou pas !

  • Observons donc ce que nous avons là…

dsc04875.jpg dsc04876.jpg
dsc04874.jpg dsc04873.jpg
dsc04877.jpg

  • Dans l'ensemble, pas mal de traces de début de rouille sur le métal, la peinture s'est écaillée au niveau de l'encadrement des touches, et durant le transport il y a eu de la casse sur un pied (recollé à la colle époxy) et la barre de fixation supérieure a été tordue (redressée à coups de marteau).

D'ailleurs, il est a noter qu'un morceau de la vis de fixation du pied est encore dans son filetage, et qu'un autre morceau de vis, bien saillant et tordu, est encore en place sur la barre de fixation, ce qui tend à me faire penser que le vendeur taobao serait en fait un récupérateur, désossant les carcasses à l'arrache pour tirer quelqu'argent des pièces détachées. Je ne critiquerais pas la méthode, si celle-ci permet de sauver quelques pièces sur des bornes en fin de vie.

  • Procédons au démontage, on retourne le panel, et en constate que la barre centrale qui maintient le bout des plaquettes électronique (PCB) en place est à l'envers, puisque les petits caoutchoucs noirs sont justement là pour venir en contact des coins des PCB. Il faudra que je retourne correctement cette barre au remontage :

dsc04879.jpg dsc04881.jpg

  • Une fois les vis retirées, on peut extraire les PCB une à une, et oui, les contacts sont très sales, pas étonnant donc que ça ne fonctionne pas…

dsc04882.jpg dsc04884.jpg

  • On continue, avec les rubbers, ces petits tampons en caoutchouc, du même type qu'on trouve dans les manettes de jeux pour faire contact avec les PCB, aux 4 coins de chaque touches, qu'on met soigneusement de côté pour ne pas en perdre, ils sont vraiment très petits.

dsc04886.jpg dsc04887.jpg
dsc04888.jpg Ensuite on peut retirer les touches, qui ont l'air pas mal rayées…

  • Donc pour le nettoyage, on va d'abord finir le démontage et tout laver au savon ou liquide vaisselle, à l'aide d'une brosse à dent quand nécessaire. Les PCB seront terminées à l'alcool, en insistant bien au niveaux des points de contacts. Par contre, les rubbers ne seront PAS nettoyé à l'alcool, car le produit déterriore les contacts. Donc simplement de l'eau à l'aide de coton tige. Surtout PAS d'alcool non plus sur les touches, car celà aurait pour effet de blanchir et accentuer l'apparition de rayures sur la matière transparente, je l'ai expérimenté par le passé. Donc liquide vaisselle et séchage/lustrage avec un chiffon à lunette pour ne pas ajouter de rayures.
  • Une fois toutes les vis retirées, on peut séparer le squelette en plastique de la frame en métal :

dsc04896.jpg dsc04889.jpg
dsc04891.jpg dsc04892.jpg dsc04893.jpg dsc04894.jpg

  • En retournant le squelette, on découvre un joint de caoutchouc :

dsc04900.jpg dsc04898.jpg
dsc04899.jpg dsc04901.jpg dsc04902.jpg dsc04903.jpg
Aller ! Au lavage !

Second essai :

Et bien je n'ai pas d'image à montrer en détails du panel propre, je pense qu'on l'a assez vu, et on va plutôt faire un essai en situation réelle ce sera plus parlant !

  • J'ai donc couché ma TV à plat sur une table, et posé le panel Jubeat dessus, en m'assurant que le bout des vis de celui-ci ne viennent pas en contact avec l'écran, grace aux épais rebords de la TV.

dsc04909.jpg dsc04908.jpg dsc04907.jpg dsc04910.jpg

  • Une petite vidéo… 6 ans donc que je n'avais pu toucher à ce jeu :
  • On verra la suite de la construction plus tard, mais côté rénovation, je pense qu'il faudra prévoir un décapage avant une nouvelle couche de peinture, ainsi que le polissage des touches pour tenter d'améliorer l'aspect de tout ça.

À suivre…

Ressources :
- https://blog.flipflop-jp.com/archives/4146/ワンルームjubeat ~AC筐体搬入の様子~
- https://blog.flipflop-jp.com/archives/4324/jubeat筐体のお掃除~モニター裏編~
- http://tools.bemaniso.ws/
- https://bemani.guide/games/jubeatclan/setup/
- http://www.emuline.org/topic/605-arcade-pc-jubeat-misc-dumps-konami/
- https://www.instructables.com/Arduino-LeonardoMicro-as-Game-ControllerJoystick/

Note

[1] Profitez-en, le vendeur en a d'autres en stock !

Commentaires

1. Le mercredi, 7 avril 2021, 20:52 par Nomeji

Bien joué ! Hâte de voir la suite. (Et de tater le bousin)

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet