Page 1 sur 1

Routine de lecture du pad analogique

Publié : sam. 19 mars 2016 20:53
par MooZ
Image

J'avais dit que le pachinko controller serait le prochain hard sur lequel je me pencherai. Mais cet après-midi, en glandant devant la TV, j'ai réussi à extraire la routine de lecture du pad analogique d'Operation Wolf et After Burner II. En forçant les valeurs du pad dans mednafen je suis arrivé à ça:
Image

Pour rappel, et si je ne raconte pas trop de conneries, 2 pad analogiques peuvent être utilisés sur PC Engine, le MicomSoft XE-1AP et le monstrueux Cyber-Stick. Seuls 4 jeux (tous de NEC Avenue) supportent ces pads:
  • Afterburner II
  • Forgotten Worlds
  • Operation Wolf
  • Outrun
Les fichiers de config pour Etripator pour Afterburner II et Operation Wolf sont disponibles ici.
Le pseudo code de la routine de détection/lecture du pad analogique est:

Code : Tout sélectionner

byte tab[] = {
    0x00, 0x01, 0x08, 0x09, 0x02, 0x03, 0x0a, 0x0b,
    0x04, 0x05, 0x0c, 0x0d, 0x06, 0x07, 0x0e, 0x0f
}

X = 0

joyport = 0
delay

for (count=0; count<5; count++)
{   joyport = 2
    delay
    for(Y=0; Y<256; Y++)
    {   A = joyport
        if( (A & 3) == 0 )
            break;
    }
    if( Y == 256 )
        NOT FOUND

    joyport = 3
    delay
    A = joyport
    Y = A & 0x0F
    out[X++] = tab[Y]

    joyport = 2
    delay

    for(Y=0; Y<256; Y++)
    {   A = joyport
        if( (A & 3) == 1)
            break;
    }
    if( Y == 256)
        NOT FOUND

    joyport = 3
    delay
    A = joyport
    Y = A & 0x0F
    out[X++] = tab[Y]
}
Je ne sais pas encore trop comment les données lues sont utilisées. Par exemple, où sont stockés les valeurs des boutons I,II,SEL,RUN ? Quelles valeurs correspondent aux axes X/Y ? etc...
Dans tous les cas, on a dans Operation Wolf:

Code : Tout sélectionner

v30 = (out[0] << 4) | out[1]
Y = (out[2] << 4) | out[6]
v31 = unknown_array[Y]
Y = (out[3] << 4) | out[7]
v32 = another_unknown_array[Y]
v33 = (out[4] << 4) | out[8]
v34 = (out[5] << 4) | out[9]

Re: [Hardware] Pad analogique

Publié : dim. 20 mars 2016 15:33
par Kaminari
Pour info, le support analogique fait partie des fonctionnalités voulues par Kitao Nakamura dans Ootake (en fait, l'implémentation est officiellement en cours de développement depuis plusieurs années). Il est possible de le contacter par mail ou Twitter (il est sympa et comprend l'anglais) pour lui demander des infos sur ce sujet.

kitao@ouma.jp
http://twitter.com/kitao_n

Re: [Hardware] Pad analogique

Publié : dim. 20 mars 2016 21:17
par MooZ
Les gars de chez Micomsoft ont mis à dispo des scans du manuel du XE-1 AP.
http://www.micomsoft.co.jp/cgi-bin/deve ... .cgi?no=32

Le manuel du Cyber Stick.
http://nfggames.com/x68000/Documentatio ... Manual.pdf

Re: [Hardware] Pad analogique

Publié : dim. 20 mars 2016 22:24
par Kaminari
Apparemment le Micomsoft (en DSUB-9) nécessite un adaptateur séparé pour la PCE.

Re: [Hardware] Pad analogique

Publié : lun. 20 juin 2016 21:14
par RayXambeR
Il me semblait qu'il y avait un 5ème jeu analogique mais je suis plus très sûr.
J'ai la manette micomsoft mais je n'ai pas l'adaptateur :(
Ca peut se fabriquer ça (avis aux experts !)

Re: [Hardware] Pad analogique

Publié : mar. 11 déc. 2018 09:50
par MooZ
Un article avec toute la tripaille du pad et de l'adaptateur (xhe-3)
https://www.raphnet.net/electronique/xh ... dex_en.php

Re: [Hardware] Pad analogique

Publié : mar. 11 déc. 2018 11:13
par franz
RayXambeR a écrit : lun. 20 juin 2016 21:14 Il me semblait qu'il y avait un 5ème jeu analogique mais je suis plus très sûr.
Battle Ace (SGX) peut-être?

Re: [Hardware] Pad analogique

Publié : mar. 11 déc. 2018 22:09
par RayXambeR
Bien vu Mooz. Eh eh, pour l'anecdote c'est moi qui ait proposé cette idée d'adaptateur spécifique à Raphaël. Du coup je lui ai envoyé ma manette analogique, un pad PCE et un quintupleur. Et, qq mois plus tard, le voici qui a réussi à concrétiser : génial ! :)
Il est vraiment très fort et il crée un maximum d'adaptateurs en tous genres, tous azimuts. Je vous conseille vraiment ses créations, elles sont faites avec passion et techniquement très au point.

Re: [Hardware] Pad analogique

Publié : mer. 12 déc. 2018 10:16
par MooZ
Je vais surement lui en prendre un. Comme ça je pourrais finaliser le code après avoir barboter un cyberstick :)

Re: [Hardware] Pad analogique

Publié : mer. 06 févr. 2019 11:50
par MooZ
Et voilà, une doc complète sur le xe1-ap.
https://github.com/AleffCorrea/PCE-XE1AP-ANALOG

Re: [Hardware] Pad analogique

Publié : mer. 06 févr. 2019 12:49
par franz
Merci! :D

Re: [Hardware] Pad analogique

Publié : jeu. 07 févr. 2019 07:08
par shubibiman
Merci Mooz :)