Borne d'arcade

De Wiki LOGre
Aller à : navigation, rechercher


La borne à l'origine

Un gentil donateur nous avait offert un "cabinet" de borne d'arcade type MAME. Il ne restait que l'enveloppe, le monnayeur, la vitre et un petit ampli.
Le projet, un moment en stand-by, est finalement reparti depuis que le LOG a ses propres locaux.
En plus de l'utilisation première, cette borne pourrait cumuler plusieurs utilisations.
A nous de trouver ce que l'on peut en faire !

Reste à faire :

  • Peindre ou habiller de noir le cache-écran en carton
  • Remplacer la vitre par du plexi
  • Finaliser la décoration du bandeau devant le néon
  • Éventuellement ajouter un potentiomètre de réglage rapide du volume audio
  • Coller/clouer protège-arètes
  • Finir de visser la porte du monnayeur
  • Pose de colliers un peu partout pour tenir les câblages
  • Visite de sécurité électrique finale avant ouverture de l'utilisation au public

La borne

Photos

Dimensions

  • Largeur Clavier : 60cm
  • Taille maxi fenêtre pour écran :
    • Largeur = 580mm
    • Hauteur = 530mm
    • Profondeur 550mm.

Budget

Description Coût(€) Acheté/Fourni par
Joysticks 40 Greg
Boutons ? ?
Teensy 3.1 32 Greg
Peinture 50 Greg
Multiprise, borniers 0 ?
Plexi,MDF ? Greg
PC (récup) 0 ?
Carte Graphique 0 Benj
Ecran 19" (récup) 0 Marc
Ampli (récup) 0 ...
Alimentation 0 ?

Matériel

UC

  • PC de récupération apporté par Koko
    • Carte graphique apportée par (donné par Benj)

Joysticks

  • Joysticks rapportés du Japon par Greg

Boutons

Adaptateur joysticks

  • Teensy 3.1 (acheté par Greg)

Ecran

  • Ecran 19" récupéré par Marc

Son / Audio

  • Ampli de récup à base de LM386

Logiciel

  • Système
    • LakkaTV
  • Firmware Teensy
    • Code ci-dessous
/* Arcade Keyboard-Joystick */
/* SElect in TOOL : USB TYpe "Keyboard+Mouse+Joystick"
 * SElect US keyboard
 */
 
 
#define NUM_BUTTONS 25
int keys[NUM_BUTTONS] = {KEY_RIGHT, KEY_UP, KEY_DOWN, KEY_LEFT,
                       /* 1_right , 1_up  , 1_down  , 1_left,   */
KEY_ENTER, MODIFIERKEY_RIGHT_SHIFT, KEY_A, KEY_S, KEY_Z, KEY_X, KEY_Q, KEY_W,
/*1_start, 1_select,              ,   1_y,  1_x ,  1_l,   1_b , 1_r  ,  1_a */
KEY_G, KEY_2   ,KEY_J, KEY_I,  KEY_L, KEY_Y, KEY_H, KEY_N, KEY_T, KEY_V   , KEY_B, KEY_K, KEY_ESC};
/*2_Y,non_relie,2_left, 2_up,2_right, 2_l  ,  2_X ,  2_A  , 2_r , 2_select, 2_B  , 2_down, ESC */      
long mask = 0;
int i = 0;
 
void setup() {
  Serial.begin(115200); // USB is always 12 Mbit/sec
  for (i = 0; i < NUM_BUTTONS; i++) {
    pinMode(i, INPUT_PULLUP);
  }
  delay(1000);
}
 
void loop() {
  for (i = 0; i < NUM_BUTTONS; i++) {
    if (digitalRead(i) == LOW) {
      if (!(mask & (1 << i))) {
        Keyboard.press(keys[i]);// | (0x40 << 8));
        mask |= (1 << i);
/*        Serial.print(i);
        Serial.print(" - ");
        Serial.println(keys[i]);
*/
      }
    } else {
      if ((mask & (1 << i))) {
        Keyboard.release(keys[i]);// | (0x40 << 8));
        mask &= ~(1 << i);
      }
    }
  }
  delay(2);
 
}

Travaux effectués

Jeudi 30 Juin 2016

  • Nicolas T.
    • re-re-soudage d'un bouton dé-soudé (il va falloir (un jour) ressouder tout cela correctement... un jour...)
    • configuration des boutons/manette du joueur 2.
      • reprogrammation du teensy
      • modification du fichier de configuration ~/.config/retorarch/retroarch.cfg de lakka
      • Désormais, la ROM SNES test reconnait tous les boutons.
    • Besoin d'une command pour chnager de jeux sans utiliser le clavier:
      • liaison du bouton en façade au teensy
      • programmer le teensy pour que ce bouton renvoie 'ESC'
      • Ne marche pas...
        • ce n'est pas un mauvais contact du bouton/des fils. Teste à l’ohmmètre.
        • pas eu le temps de tester :
          • si le Teensy renvoyait bien la touche ESC (comme touche special, besoin de xev ou autre 'espion' d'événement)
          • si Lakka récupérait bien la commande
    • nouveaux mauvais contact vu : le bas joueur 1 se bloque.

Samedi 25 juin 2016 (pendant la Jpo)

  • Nicolas T.
    • les inputs joueurs 1 fonctionnent mais ne sont pas configuré correctement dans le logiciel.
    • impossible d'utiliser le configurateur graphique (ou pas compris comment faire) => modification "à la main" du fichier retroarch.cfg pour définir la bonne correspondance:
      • input_player1_action = "touche"
      • il semble que input_player1_action est pour les inputs d'un clavier (comme fait notre teensy), input_player1_action_btn est pour les inputs provenant des boutons d'une manette, input_player1_action_axis pour les inputs analogiques/les axes d'une manette.
      • les touche du joueur1 fonctionnent.
    • selection de peu de jeux (SNES, Master System, Megadrive, PC-Engine)
    • joueur 2
      • mauvais contact d'origine indéterminé sur "down" (Ce n'est pas le cable, pas le bouton... Soudure sur la board qui porte le teensy ?) => correction on utilise une autre entrée du Teensy.
      • Pas trouver comment configurer des inputs qui sont converti en chiffres... (le teensy est actuellement programmé comme ca.) => pas de joueur 2 à ce jour.
    • manque un bouton pour mapper 'ESC' pour revenir au choix des jeux. (un bouton en facade non connecté peut être utiliser pour cela. À faire)

Jeudi 23 juin 2016

  • Nicolas T.
    • Verification des connexions. (quelques cable entre bouton/teensy étaient arrachés)
    • (mauvaise) décision de mettre à jour la distribution Lakka. => ca ne marche plus. (un problème de driver Nvidia Legacy plus présent dans les versions récentes ?)
    • retour à la version précédente (de mémoire)
    • les inputs du joueur 1 (manette/boutons) semblent fonctionner

jeudi 18 juin 2015

  • Oliv' :
    • Ajout du deuxième joueur pour la borne, suite et fin. Passage de témoin à Nicolas T et Benj pour le mapping, merci à eux
  • Benj :
    • Aide à Oliv' avec Nicolas T pour le mapping des touches sur la borne d arcade et détection d'un faux contact/contact de masse sur le joystick empêchant son bon fonctionnement, mode 2 joueurs quasi ok, reste à trouver la bonne disposition des boutons

jeudi 11 juin 2015

  • Benj, Oliv', Greg, Marc :
    • Découpe du carton pour le cache écran
    • Programmation du Teensy, pas encore la bonne conf pour le mode 2 joueurs
    • Câblage du néon
    • Câblage des HP sur un ampli mono de récup et une molex pour l'alim vampirisé sur un disque dur, le tout connecté au PC avec un jack.
    • Nettoyage de la vitre et remise en place dans la borne.
    • Remontage de la trappe d'accès en façade

jeudi 4 juin 2015

  • Benj,Oliv',Greg :
    • Gros coup de collier sur la borne d'arcade
    • Installation de LakkaTV sur le PC pour la borne (après moult tests de clé usb/distro/pc)
    • Installé le sketch Arduino sur le teensy
    • Installé l'écran dans la borne
    • Cherchage de comment foutre un foutu jeu via Ethernet sur lakkaTV --> EPIC SUCCESS on a tâté du Streets of Rage 2 !!
    • Encouragement de Oliv'Ronchon qui a soudé tous les sticks et boutons xD Merci à lui
  • fma38 :
    • Vu de mes yeux vu la borne d'arcade fonctionner !!!! J'ai même joué à un jeu, nul, mais bon, la question n'est pas là ;o) 3 ans d'attente, des milliers de courriels et une pile de disques durs plus tard, quand même, ça valait le coup ! Bravo à l'équipe de choc

Jeudi 21 mai 2015

  • Benj :
    • Tentative d'utilisation du second disque dur sur le PC de la borne d'arcade : disque HS

Jeudi 30 avril 2015

  • Benj :
    • Installation d'un second disque dur pour le PC de la borne d'arcade
  • Marc :
    • Déçu par Benj qui a encore râté son examen de bornification arcadienne (© Marc.O) pour cause de mauvaise carte graphique.

Jeudi 23 avril 2015

  • Benj :
    • Récup d'une carte graphique et d'un HDD 80Go pour la Borne d'arcade du LOG

Jeudi 16 avril 2015

  • Marc :
    • Installé une carte graphique PCI-e sur le PC de la borne d'arcade
    • Puis installé une Debian LXDE sur ce même PC avec Greg
  • Greg :
    • Donné quelques coups de bec avec Marc sur l'installation de la Debian pour la borne d'arcade

Jeudi 2 avril 2015

  • Greg, Marc :
    • Fait le point sur le futur OS de la borne d'arcade.

Jeudi 26 mars 2015

  • Marc :
    • Peinture à la bombe et en apnée de la deuxième couche de la borne (et un peu du sol)

Jeudi 19 mars 2015

  • Oliv' :
    • Dessoudage de restes de fils sur la borne d'arcade, et ressoudage partiel
  • Greg :
    • Passage de la 1ère couche de peinture sur la borne d'arcade

Jeudi 12 mars 2015

  • Marc :
    • Livraison d'une alim débennée avec connecteur graphique indénichable pour la borne
    • Test sommaire avec Greg de ladite alim dénichée : le ventilateur tourne en silence, c'est déjà ça !

Jeudi 5 mars 2015

  • Benj :
    • Récup d'une carte graphique VGA pour test dans la borne.

Jeudi 26 février 2015

  • Marc :
    • Livré et bornifié un écran 19 pouces qui heureusement ne dépasse pas la borne
    • Pu constater que Greg rentrait tout entier dans la borne d'arcade et me suis retenu d'en fermer la porte
  • Mike
    • Petit coup de main à Greg pour démontage de la borne d'arcade et démontage d'une vitre coupante.
  • Greg
    • Démontage de la borne d'arcade pour virer les vitres et y voir plus clair
  • Benj :
    • Discussion sur les travaux restants sur la Borne d'arcade avec Greg

Jeudi 19 février 2015

  • Greg
    • Découpe de la partie plexi du panel de la borne d'arcade

Jeudi 12 février 2015

  • Benj :
    • Discussion : commande d'un Teensy, ressouder les boutons avec du câble souple de section plus importante
  • Marc :
    • Finalisé découpe pour insérer le clavier à la scie de voleur, puis à la lime
    • Présenté le clavier couvert de boutons avec Greg

Jeudi 5 février 2015

  • Benj :
    • Brasage d'un bouton de la borne d'arcade
  • Greg, Benj, Marc
    • Briefing sur le projet

Mercredi 4 février 2015

  • Marc
    • Ajustage dessin DXF du clavier pour boutons plus petits

Jeudi 29 janvier 2015

  • Benj :
    • Câblage des joystick et boutons de la borne d'arcade
    • Discussion sur le choix de l'électronique pour raccorder les boutons/stick au pc

Vendredi 23 janvier 2015

  • Marc
    • Premier dessin DXF du panel 3 couches pour boutons et joysticks

Jeudi 22 janvier 2015

  • Benj/Greg
    • Découpe à la scie sauteuse pour refaire le panel avec les joysticks et boutons
    • Récupération d'une Radeon 4850 (Benj) pour le PC qui servira d'émulateur
  • Marc
    • Prise des cotes du panel pour le refaire avec plusieurs couche de plexi/medium
  • Koko
    • Récupération d'un PC pour servir d'émulateur

Jeudi 17 janvier 2013

  • Definition de l'objectif
  • Mise en place de l'équipe
  • Définition des premiers sous-projets

Jeudi 27 septembre 2012

  • Récupération de la borne d'arcade
  • Premier diagnostic

Liens