Auteur Sujet: Substitution d'un PCB Pole Position par un PC sous MAME  (Lu 1052 fois)

Hors ligne spectroman

  • alias Tondu
  • Staff
  • Game Cheater
  • *****
  • Messages: 2336
  • Localisation: aubagne
    • Voir le profil
Substitution d'un PCB Pole Position par un PC sous MAME
« Réponse #32 le: Jeudi 28 Mai 2020, 08:29:37 am »
  • T'as oublié ton stockage dans le Morbihan  ):)

    Hors ligne Little_Rabbit

    • ✌(◕‿◕)✌ Donateur 2020
    • Staff
    • Dieu de l' Arcade
    • *****
    • Messages: 5501
    • Localisation: Nantes
    • The early 80's : the arcade golden age !!
      • Voir le profil
    Substitution d'un PCB Pole Position par un PC sous MAME
    « Réponse #33 le: Jeudi 28 Mai 2020, 13:41:42 pm »
  • @Spectro : certes, mais là je ne parlais que du stockage des vieilles consoles et vieux ordi, pas du stockage des bornes d'arcade !... ;)

    Le pauvre Sentinelle en sait quelque chose !...  :-\

    A+
    Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer
    Trois fois rien quoi ! :D

    Hors ligne michel29

    • Addict
    • *
    • Messages: 348
    • Localisation: Quimperlé - Bretagne
    • Passionné depuis 1976 avec Breakout
      • Voir le profil
    Substitution d'un PCB Pole Position par un PC sous MAME
    « Réponse #34 le: Vendredi 29 Mai 2020, 19:36:09 pm »

  • Le pauvre Sentinelle en sait quelque chose !...  :-\


    Sentinelle m'a parlé de la Saint Jean en juin, je ne sais pas pourquoi...  ;D  :D
    Sauvegardons notre patrimoine arcade !!!

    Hors ligne Little_Rabbit

    • ✌(◕‿◕)✌ Donateur 2020
    • Staff
    • Dieu de l' Arcade
    • *****
    • Messages: 5501
    • Localisation: Nantes
    • The early 80's : the arcade golden age !!
      • Voir le profil
    Substitution d'un PCB Pole Position par un PC sous MAME
    « Réponse #35 le: Dimanche 26 Juillet 2020, 16:37:27 pm »
  • Salut,

    Vous aurez remarqué, les semaines (mois ! :-\) filent et il y a peu d'avancées... Force est de constater que le sujet ne me passionne pas, comme je n'y connais rien en MAME, je tâtonne et y vais un peu à reculons, il faut que je me fasse un peu violence pour avancer... ;)

    Comme je vous le proposais dans l'épisode précédent, abordons un peu la configuration des « inputs » sous MAME.

    Je vous préviens d'emblée que je ne maîtrise pas du tout le sujet ! Mais je partage avec vous les quelques trucs que j'ai compris (ou pas ! ;)).

    Comme vous le savez, pour paramétrer les « inputs » sous MAME, il faut presser la touche TAB, puis choisir « Input (this Game) ». Là on choisit input par input celle qu'on veut affecter à telle touche de clavier, ou plutôt dans mon cas à tel ou tel bouton du mon panel Pole Position.

    J'effectue donc les affectations suivantes :

    Coin 1Joy 1 bouton 1
    Coin 2Joy 1 bouton 2
    SERVICEJoy 1 bouton 3
    Gear change (levier de vitesse)       Joy 1 bouton 0
    P1 Pedal 1 AnalogJoy 1 Manette des gaz
    Dial 1 Analog (le volant)Mouse X

    (je fais mes tests avec le bloc pédale de l'upright sur lequel il n'y a que la pédale d'accélération, je n'ai donc pas paramétré de frein)

    Le 1er truc dont je me suis rendu compte, c'est qu'il faut faire très attention aux conflits engendrés par les réglages par défaut de MAME !

    Ainsi dans mon cas, au début, quand je changeais de vitesse, je décélérais alors que j'étais pourtant pied au planché ! Il fallait relâcher l'accélérateur puis accélérer à nouveau pour pouvoir à nouveau accélérer. Cela venait tout simplement du fait que par défaut, le bouton 0 est également affecté à l'incrément de l'accélération ! Mon levier de vitesse restant en position fixe, il maintenait en permanence Bouton 0 enfoncé, et annulait la valeur de ma pédale d'accélération avant le changement de vitesse !



    Je vous conseille donc de virer toutes les configurations par défaut qui utilisent les mêmes boutons que ceux de votre panel. Pour cela, sélectionnez l'entrée qui peut engendrer un conflit, faites Entrée, puis Escape pour que « None » soit affecté à l'entrée en question ;

    Vous devez avoir quelque chose dans ce style :



    Mais pour réussir à faire cela, qui paraît tellement simple, j'ai souvent galéré, sans comprendre pourquoi mon interface était bloquée :(.

    En effet, souvent je relançais MAME et voulais parfaire l'affectation des entrées et faire des tests, mais après avoir fait TAB, il m'était impossible de sélectionner quoique ce soit ! Tantôt cela marchait, et tantôt c'était complètement bloqué ! Ce n'est que tout récemment que j'ai fini par comprendre l'origine de ces blocages ! Je m'étais concentré sur « Input (this game) », mais il peut y avoir des conflits ailleurs !

    Si vous allez cette fois dans « Input (general) », puis « User interface », vous verrez tout en bas que le Bouton 0 est là aussi affecté à UI Select, c'est-à-dire la validation d'un choix dans les menus de l'interface utilisateur : avec mon Bouton 0 qui est le levier de vitesse, qui peut rester dans une position activée en permanence, cela bloquait toute autre sélection dans les menus !



    Ce problème a failli me rendre dingue :D.

    C'en est au point où je me demande si je ne vais pas revoir le code pour l'Arduino de sorte que les boutons physiques soient affectés aux boutons logiques 4, 5, 6 et compagnie pour éviter tout conflit avec les 1er boutons que MAME utilise déjà par défaut !

    Autre truc que je n'ai pas bien compris, toujours pour le levier de vitesse, dans mes nombreux essais, où parfois je repartais de zéro avec une config vierge, je refaisais toutes mes configurations et je me retrouvais avec le levier de vitesse qui fonctionnait à l'envers !  ;D

    J'ai pas mal tâtonné, pour parvenir à la conclusion suivante : il suffit de changer ou ajouter dans le fichier .cfg le champ « value ».

    Dans mon cas, je partais de cette config :

    <port tag=":IN0L" type="P1_BUTTON1" mask="2" defvalue="2">
      <newseq type="standard">
        JOYCODE_1_BUTTON1
       </newseq>
    </port>



    A laquelle j'ajoutais le « toggle » abordé dans le post précédent (pour que le levier ne fonctionne pas comme un bouton qu'on enfonce puis relâche) :

    <port tag=":IN0L" type="P1_BUTTON1" mask="2" defvalue="2" toggle="no">
      <newseq type="standard">
        JOYCODE_1_BUTTON1
      </newseq>
    </port>


    Et j'ajoute enfin un "value=0” :

    <port tag=":IN0L" type="P1_BUTTON1" mask="2" defvalue="2" value=”0” toggle="no">
       <newseq type="standard">
        JOYCODE_1_BUTTON1
       </newseq>
    </port>


    Ainsi mon levier de vitesse fonctionne comme je le souhaite !  ^-



    Toujours au chapitre de la configuration des Inputs, il y a un truc que je n'ai jamais réussi à faire : affecter à un des boutons du panel le passage en mode « Service ».

    Par défaut c'est la touche F2 qui permet de basculer en mode Service. Une nouvelle pression sur F2 et on repasse en mode « Jeu ».

    Je suis pourtant passé par « Input (general) », puis « Other controls ». Là j'ai affecté mon bouton 3 à la place de F2.



    Cela me donne fichier default.cfg suivant :

    <?xml version="1.0"?>
    <!-- This file is autogenerated; comments and unknown tags will be stripped -->
    <mameconfig version="10">
        <system name="default">
            <input>
                <port type="SERVICE">
                    <newseq type="standard">
                        JOYCODE_1_BUTTON4
                    </newseq>
                </port>
                <port type="UI_SELECT">
                    <newseq type="standard">
                        KEYCODE_ENTER
                    </newseq>
                </port>
            </input>
        </system>
    </mameconfig>


    Mais pour autant rien n'y fait : j'ai beau appuyer sur le bouton affecté cela ne fait rien, et c'est toujours seulement la touche F2 qui permet d'aller en mode service !  :(

    Si vous avez la solution, je suis preneur !  <:)

    De la même façon, si quelqu'un a un lien vers des explications sur la syntaxe et la signification de chacun des mots clés de ces fichiers de config XML, je suis preneur car je me suis souvent arraché les cheveux à ne pas comprendre comme cela fonctionnait ! :)

    Voilà, c'est tout ce que j'aurais à dire sur ces configs. Cela reste pour ma part nébuleux et capricieux...


    Donc si je récapitule l'ensemble de toutes les manip :

    - mame –cc pour générer le mame.ini
    - dans mame.ini, remplacer « mouse   0 » par « mouse    1 »
    - dans « Input (this game) », virer tous les conflits possible en les mettant à None
    - dans « Input (this game) », affectez les entrées correspondant à votre panel
    - dans « Input (general », affectez à « UI Select » uniquement la touche Entrée
    - dans le fichier xml du jeu (polepos.cfg dans mon cas), modifier la ligne définissant le levier de vitesse en mettant « <port tag=":IN0L" type="P1_BUTTON1" mask="2" defvalue="2" value=”0” toggle="no">

    Prochain épisode : GroovyMAME et comment passer l'affichage de son PC en 15 kHz ! :)

    A+
    Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer
    Trois fois rien quoi ! :D

    Hors ligne funkycochise

    • Team
    • Dieu de l' Arcade
    • *****
    • Messages: 6624
    • Localisation: Nancy
    • 8 bits generation
      • Voir le profil
    Substitution d'un PCB Pole Position par un PC sous MAME
    « Réponse #36 le: Dimanche 26 Juillet 2020, 20:32:06 pm »
  •  ^-^  :-*