samedi 27 juillet 2013

Une borne d'arcade avec un Raspberry Pi - Partie 1 : le projet.

Il y a peu, j'ai découvert le Raspberry Pi, un mini-ordinateur qui coûte moins de 40€ (alors oui, je suis en retard, il est sorti il y a plus d'un an, mais en même temps, à sa sortie il y avait plusieurs mois d'attente quand on en commandait un, alors que maintenant, on peut l'avoir au bout d'une petite semaine).

Il n'est pas très puissant (processeur 700 MHz et 512 Mo de RAM pour le modèle B), mais son faible coût en fait l'outil idéal pour construire des gadgets qu'on n'aurait jamais pris le temps de réaliser s'il fallait investir au moins 200€ dans un ordinateur pour les faire fonctionner.

Et comme il est vendu depuis plus d'un an (oui, j'ai déjà dit que j'étais en retard), il y a déjà des tas de gens qui proposent des tutoriels pour des projets utilisant le Raspberry Pi. Et donc, j'ai vu qu'il y avait des gens qui s'en servaient pour faire tourner des vieux jeux sur émulateurs, du coup je me suis dit que c'était l'occasion de me construire une simili-borne d'arcade (parce qu'en acheter une, ça coûte cher, et ça prend de la place) !

L'idée n'est pas follement originale, il y a même eu un projet Kickstarter dont le but était de faire des kits complets pour fabriquer une vraie borne d'arcade avec un Raspberry Pi (mais il est trop tard pour participer, et je n'ai pas trouvé beaucoup d'informations sur où en est le projet pour le moment).

Ma console est moins spectaculaire, elle est maintenant terminée et ressemble à ça :
Un caisson de stick d'arcade avec un Raspberry Pi qui fait tourner des émulateurs dedans !

J'ai tout mis dans un caisson vide de stick d'arcade, et seuls sortent le câble d'alimentation et un câble HDMI pour la brancher sur un écran. Tous les contrôles se font à l'aide du joystick et des boutons.

Voilà à quoi ressemble l'intérieur :
Dans le caisson du stick d'arcade, on trouve bien évidemment les boutons et le joystick ainsi que leur câblage, mais également une carte Kade et le Raspberry Pi !

Voilà un aperçu de ce qu'on voit au démarrage :
La console Linux au démarrage du Raspberry Pi.
C'est une (magnifique) console Linux configurée pour se lancer sans avoir à rentrer de mot de passe, et qui affiche un sympathique texte d'accueil :
Le message d'accueil présent au démarrage.

Une fois qu'on a choisi la commande adéquate, on peut jouer à des jeux d'arcade sur l'émulateur mame4all (version de Mame adaptée au Raspberry Pi) :
L'écran de sélection des jeux sur l'émulateur mame4all.
Par exemple Donkey Kong :
Le gros singe enlève (encore une fois) la jeune fille !

Ou à des jeux Super Nintendo sur l'émulateur PiSnes (version de Snes9x adaptée au Raspberry Pi) :
L'écran de sélection de l'émulateur PiSnes.
Par exemple Castlevania: Vampire's Kiss :
Le premier niveau de Castlevania Vampire Kiss (le jeu que vous ne pourrez jamais acheter et donc auquel vous ne jouerez qu'en émulation !)

Et donc je vais vous expliquer dans plusieurs articles comment faire si vous voulez faire la même chose (ou quelque chose d'approchant, puisque vous êtes bien évidemment libres de faire toutes les modifications que vous voudrez, le but étant plus de fournir une aide détaillée qu'un mode d'emploi à suivre à la lettre).

Le plan devrait être à peu près le suivant :
1) Matériel et Bibliographie : ce dont vous aurez besoin et les sites dont je me suis inspiré.
4) Des conseils divers (tout ce que j'aurai oublié dans les articles précédents).

Comme j'écris ce tutoriel maintenant que j'ai tout terminé, il est possible que j'oublie des choses (notamment des problèmes que j'ai pu rencontrer et que j'aurai résolus depuis), du coup si vous avez la moindre question n'hésitez pas à laisser un commentaire et j'essayerai de vous aider si je le peux.

2 commentaires:

  1. Bonjour Antoire,

    Merci pour ton blog, très intéressant pour moi.

    --Penses tu q'il existe une solution pour brancher deux jostick? J'aimerai faire de 1 VS 1 sur les jeux d'émulations.
    --Existe t'il des câbles pour relier les cosses des boutons à les PINs GPIO.

    D'avance merci.

    RépondreSupprimer
    Réponses
    1. Bonjour,

      Merci pour votre commentaire :)

      Pour brancher deux joysticks, a priori il n'y a pas de problème, mais ça dépend un peu du matériel qu'on veut utiliser :
      - Avec une seule carte Kade il y a 20 ports disponibles, donc c'est assez pour brancher 2 joysticks avec 4 directions + 4 boutons par joueur + "start" et "select" (ou le bouton pour insérer des crédits). Et si on a besoin de 6 boutons par joueur (pour les jeux de combat par exemple), on peut utiliser la fonction "shift" du Kade, pour mettre un 21ème bouton qui servira à modifier le rôle des autres boutons (comme la touche "maj" permet d'alterner entre les minuscules et les majuscules sur un clavier). Dans ce cas on pourra avoir les touches qui servent rarement (start, select, echap, etc.) accessibles en maintenant le bouton shift + un autre bouton.
      - Avec les ports GPIO c'est plus compliqué parce qu'il n'y en a que 15 de disponibles, du coup on doit se contenter de 2 boutons par joueur (ça suffit s'il n'y a que "sauter" et "taper", mais pour le reste c'est assez vite limitant). Il reste alors l'option de mettre le joueur 2 sur une manette branchée en USB plutôt que sur un stick branché sur les ports GPIO (ce qui pourra lui donner une excuse s'il perd en plus).
      - Enfin, on doit pouvoir brancher 2 cartes Kade (je n'ai jamais essayé, mais il n'y a pas de raison que ça ne fonctionne pas, chacune devrait être reconnue comme une manette à part entière), dans ce cas on a 40 ports disponibles, donc on peut faire ce qu'on veut !

      Pour les câbles, je pense que le plus simple est d'acheter des câbles "jumpers", on peut en trouver assez facilement sur internet (par exemple ebay, amazon, adafruit, etc.) et ce n'est pas très cher.

      Supprimer