Joystick amstrad sur gpio



  • Bonjour,

    Je voudrais faire fonctionner un joystick Amstrad ne possédant qu'un seul bouton sur ma recalbox (en GPIO).

    J'ai commencé à réfléchir au schéma de mon câble conformément à la page https://github.com/recalbox/mk_arcade_joystick_rpi.

    DB9 GPIO
    1 -> 7
    2 -> 11
    3 -> 13
    4 -> 15
    5 ->NC
    6 -> 22 (A)
    7 -> 2 (VCC 5v)
    8 -> 39 (GND)
    9 -> NC

    A votre avis, est ce que cela peux fonctionner en duo avec un clavier K400 pour jouer au clavier sans avoir besoin de rajouter de pilote ?

    Auriez-vous des conseils a me donner ?

    Merci d'avance,
    Cfm.


  • Staff
    Screenscraper
    Developer
    Global moderator
    Team

    Hello @cfm

    Ton joystick Amstrad doit être en DB9. Plutôt que de recâbler, je te conseille cet adaptateur Mayflash https://www.amazon.fr/Controller-Adapter-Mega-Drive-Genesis/dp/B00QRZ1HVS ou ce modèle là https://www.ebay.fr/itm/Mayflash-Mega-Drive-Sega-Genesis-Controller-to-PC-Switch-USB-Adapter-for-2-Port/154032259210
    J'en possède un et il fonctionne très bien pour tous les anciens joystick en DB9.

    Pour le clavier, normalement, pas de soucis.



  • Merci du conseil.
    C'est principalement pour jouer a Bumpy (logiciel) qui est très exigeant (comme de nombreux jeux de l'époque). J'ai une 8bit do nes30 pro ainsi qu'un stick arcade d'entré de gamme (madkatz) mais ce n'est pas adapté (ou alors je n'ai plus les réflexes d'antant lol). Je rêve de rejouer avec une manette phasor one (j'en ai racheté une sur eBay dans ce but).
    Question : Il n'y a pas d'input lag en passant par un adaptateur usb ?



  • Bonjour,

    Suite a l'échange ci-dessus, comme je disposais de tout ce dont j'ai besoin pour câbler directement la manette, je me suis lancé (je garde l'ide de l'adaptateur Mayflash mais il est indispoible sur amazon pour le moment).

    J'ai donc créer une pieuvre en coupant un câble rs232 et en rajoutant des connecteurs pour chaque pin.

    Dans recalbox.conf, j'ai mis la config suivante :

    controllers.gpio.enabled=1
    controllers.gpio.args=map=5 gpio=4,17,27,22,-1,-1,25,-1,-1,-1,-1,-1,-1

    Dans l'interface de recalbox, j'ai choisi le contrôleur GPIO custom pour le joueur 1 ("#0 GPIO CUSTOM CONTROLER 1")

    Il ne se passe strictement RIEN !

    Dans l'interface recalbox je n'arrive pas a faire défiler les émulateurs.
    Dans l'émulateur amstrad, si je retourne au Basic, je ne vois pas les flèches caractéristiques lorsque je bouge la manette ou que j'appuye sur le bouton de tir.

    J'ai bien évidemment redémarré (de nombreuses fois ! lol).

    Ma manette fonctionne (je l'ai testée sur mon vieux ordinateur MSX).
    J'ai vérifié au multimètre que j'ai bien le 5V entre les pin 7 et 8 du DB9 femelle.
    J'ai prêté une grande attention au câblage.

    Quelqu'un a t-il une idée ?

    Merci d'avance.


  • Staff
    Screenscraper
    Developer
    Global moderator
    Team

    @cfm Très honnêtement, les joystick de l'époque (QuickShot et autres) c'est très sympa pour le coté nostalgique, les sensations et parfois les "click-click" caracteristique, mais coté ergonomie, c'est complètement à la ramasse par rapport aux pads actuels, 8bitdo compris.

    Coté input-lag justement, avec un quickshot, on ne s'en rends pas forcement compte, mais la course du joystick et celles du micro-switch est tellement longue que le lag se situe entre la chaise et l'ordinateur plutôt que dans le port USB.

    Toujours pour l'input-lag, je me bat sans arrêt pour mettre fin à cette superstition sur le supposé input-lag d'un USB. La fréquence est tellement élevée (même en USB1) et les trames échangées entre le joy et la machine tellement petites, que le temps de transmission est jusqu'à des milliers de fois plus rapide (très inférieur à la milliseconde) que le temps d'une frame du jeu (entre 16ms et 20ms pour les jeux de l'époque).

    Conclusions, on est nettement plus efficace avec un pad qui a un dpad à course très courte, qu'avec n'importe quel joystick (y compris les arcade) où les courses sont nettement plus longues, que ce soit en USB ou en GPIO.
    J'ai pu finir des jeux sur C64, 800XL ou AppleII avec des pads modernes, alors qu'il était extrêmement difficile à l'époque d'avancer sur ces mêmes jeux 🙂

    Après pour les sensation et le coté nostalgique, c'est autre chose 😉

    En ce qui concerne ton branchement, sans voir le joystick et les branchements, il est difficile de t'aider à debugger tout ça 🙂
    Avec quelques infos en plus, peut-être que @ian57 pourra donner un coup de main.



  • @Bkg2k merci pour les explications très complètes. Je me posais la question de l'input lag car quand les ports usb1 sont apparus, il a fallu longtemps avant que les claviers et souris fonctionnent sans bug. Et c'était aussi probablement lié au fait que les machines étaient moins puissantes, ce qui est le cas d'un raspberry. Bref, j'ai bien compris tes arguments et il n'y aura pas de lag :-).

    En dehors du côté nostalgique, j'ai aussi une autre raison d'utiliser ce joystick c'est que je souffre d'arthrose au niveau du pouce gauche. Je peux encore jouer mais quand j'arrête, je déguste...

    En ce qui concerne les branchements, j'ai branché comme indiqué plus haut. Et ce qui conforte dans ce choix c'est que l'une des configs en exemple dans recalbox.conf correspond a ces branchements. En plus, encas d'erreur de câblage j'aurais au moins quelque chose qui fonctionne (sauf si je suis complètement a côté de la plaque ! Lol) .C'est pour ça que je pense plutôt a une erreur de config de la part.

    Merci.


  • Staff
    Screenscraper
    Developer
    Global moderator
    Team

    @cfm Je ne sais pas comment est câble ton joystick à l’intérieur, mais si tu as un ohmmètre, tu peux commencer par vérifier que la masse du RPi (que tu peux prendre sur les plusieurs pins) est bien en liaison avec les pin 7/11/13/15/22 selon ce que tu actionnes sur le joystick.
    Ça te permettra d'être certain que le câblage est bon et que le joystick se comporte bien comme attendu.



  • Bonjour,

    Voici le shéma du câble que j'ai fabriqué.

    db9 vers gpio.png

    Je me suis basé sur les infos de ce site : http://wiki.icomp.de/wiki/DE-9_Joystick.

    Comme j'ai plusieurs élément sur mon câble RS232_DB9_Femelle<->DB9 Male-Male<->Joystick, j'ai pu retirer le joystick et mesurer la tension entre les broches 7 et 8 qui est bien de 5 Volts.

    Je n'ai pas relié les masses entre elles ! j'avais supposé que c'est fait coté RPI mais c'est peut être ça mon erreur ???


  • Staff
    Screenscraper
    Developer
    Global moderator
    Team

    @cfm Alors, 2 choses:

    • La première: sur ton, schéma, on ne connait pas les n° de broches du DB9, comme on peut trouver sur ce schéma par exemple:
      7a2aac38-6418-4c7f-8f0e-1729fd0b99e0-image.png

    • Ensuite, es-tu sur du sens? C'est encore une erreur classique:
      175ecbc5-c5d1-46ac-916f-0651d44aaab9-image.png

    • Pour finir, hormis si ton joystick à un turbo, des leds ou toute électronique nécessitant une alimentation, le 5V n'est pas incessante. Les GPIO sont en pull-up (tirés au 8V), et ils sont activé par une mise à la masse. Ce n'est pas très important, car même si tu t'es trompé dans le sens, au pire tu envoie du 5V sur les GPIO qui sont déjà tirés au 5V.



  • Bonjour,

    Je reviens sur ce vieux topic :-).

    Je n'ai pas réussit a faire le câblage correctement. Je me suis donc fait offrir l'adaptateur MayFlash MF104 pour noel.

    L'adaptateur est correctement détecté et lorsque j'appuie sur le bouton Home, la procedure de config de manette m'est proposée. Et là plus rien... quelque soit le bouton sur lequel j'appuie, il ne se passe rien. J'ai redémarré la recalbox avec la manette déjà branché et c'est pareil.

    Une idée ?

    Merci d'avance.



Want to support us ?

329
Online

81.3k
Users

22.2k
Topics

161.1k
Posts