Copy Link
Add to Bookmark
Report

La JOYPAD-mania a commencé, entrez donc dans la Danse!

atari's profile picture
Published in 
atari
 · 3 years ago


Roquevaire le 11/03/95

la JOYPAD-mania a commencé, entrez donc dans la Danse!
par RUIZ Lionel

Il était une fois deux ports placés judicieusement sur la gauche des machines "enhanced" (NdlR: amélirorés) de la gamme ST sorties par la firme ATARI.
Les Anciens se rappeleront avec nostalgie la gamme des 8 bits où les ports se trouvaient non pas sur la gauche mais sur la droite des 800XL.
Et non pas fourrés au dessous de leur machine sous prétexte de raffinement?? Car il faut bien le souligner, quand on voulait jouer Ö deux joueurs joystick, il fallait, si on n'avait pas acheté la rallonge souris, posséder une dextérité hors norme pour intervertir les deux connecteurs. Je n'oserai pas non plus insister sur la mémoire visuelle qu'il fallait pour retenir le sens dans lequel il fallait les enfoncer. Les possesseurs de PC de ma connaissance n'ont, quand Ö eux, jamais dit avoir rencontré de tels problèmes. Ni aucun problème de joystick d'ailleurs. Les veinards ils ont toutes les touches du clavier pour eux tous seuls. Et la souris bien entendu. Oh oui, je me rappelle d'un ou deux êtres qui m'avaient parlé de calibrage, et hum je n'avais pas très bien compris ce dont il s'agissait. Le mot "compatible" doit être a double sens, je pense.
(mots clef: compatible PC, problèmes de compatibilités sont très liés).


Les Joysticks STe, mythe ou réalité?


Je donne la réponse pour que les curieux se rassurent: c'est bien un mythe.
Ca existe en théorie mais en pratique, seuls quelques bricoleurs ont réussi Ö en créer en série limitée. Vous savez, comme les Ferraris, ces modèles artisanaux créés Ö la main sans aide de support quelconque, tout en résine et travail d'orfèvrerie Ö la finition.
C'est un peu comme les contes; on en entend parler dans les livres, les récits se recoupent, on donne même des descriptions détaillées mais nulle trace de ces curiosités dans la nature.


Extrait d'un conte sur le STe:


Oyez, oyez peuple Atarois,
les adresses des ports vont de $FF9201 Ö $FF9203
le premiers de ces trois choix
contient les tirs qui rougreoient
Si bien que les deux derniers restent cois
sauf si d'un mouvement tu agissoit
en se partageant les octets de droits,
quatre forment les bÉtons de joie.
Meme des raquettes peuvent arriver lÖ,
mais c'est une autre histoire que celle lÖ!


"The bringer of War" (NdlR: titre de la musique d'EPIC pour la version ST)


Ce n'est que maintenant que l'on peut dépoussiérer ces fameux ports STe, en y branchant un joystick JAGUAR, appelé "JAGUAR controller". Le prix est aux alentours de 250Frs, et comprend un superbe carton noir incluant le monstre. Si je dis le monstre, ce n'est pas pour être péjoratif, c'est juste un qualificatif quand je le compare aux joypads des consoles concurrentes.

Decrivons-le:

  • Joypad 8 directions, classique bien que surprenant pour les anciens du Stick.
  • 3 firebuttons placés de manière ergonomique avec un repère sur le central.
  • un bouton Pause
  • un bouton Option
  • Un pavé numérique type Téléphone Ö 12 touches, devant lequel on peut insérer des fiches.

Le tout relié Ö un câble de 12 fils sur les 15 que pourraient supporter le port STe. Ceux manquants correspondant Ö ce qui aurait pu donner vie Ö des Paddles selon la littérature de science fiction type "Héroic Fantasy" que l'on peut lire Ö ce sujet.


Comment diable caser tout áa dans un port 12 broches?


Ca c'est la question que je me suis posée en bon logicien qui se respecte.
En effet comment faire tenir dans 12 fils ce que je considère comme 21 signaux indépendants possibles.

  • 4 directions logiques
  • 5 boutons supérieurs
  • 12 boutons sur le pavé numérique

De plus Ö la lecture, on ne bénéficie que de 3 Octets en réalité. Soit 24 selecteurs binaires pour deux joysticks.
Je me suis dit; ils ont dñ faire des compromis. Je pensais que sur le pavé numérique, on avait établi des schémas différents de cablage et que donc on ne pouvait pas appuyer sur deux touches Ö la fois si on voulait une réponse cohérente. J'étais loin de la solution, en réalité on pouvait tout obtenir mais áa, j'ai mis du temps Ö le comprendre.


Allo Joypad? ici l'ordinateur! tu me reáois?


C'est de cette manière que j'ai tout d'abord essayé de lire le Joypad, fort de l'enseignement appris dans la lecture des Joysticks STe que nous nous étions bricolés, mon frère et moi.
Réponse: $FF sur toute la ligne quelque soit les touches que j'appuie.
C'est lÖ que je me suis dit: Zut il est bogué ce &!#@ de #&!%.
Alors j'ai essayé LLAMAZAP-Démo, un shoot'em up de première classe.
Et pour ce jeu, tout fonctionna très bien.
Il se fout de moi celui lÖ dis-je dans un emportement tout aussi mesuré.
Retour au banc d'essai et il redevient muet comme une carpe. Autant vous dire que je n'avais pas l'air malin (et ce n'est pas la peine de vous foutre de moi).
Alors j'ai appelé: Patriiiiiiiiiiick; non pas Bruel mais mon frère.
Avec un peu d'entêtement on a essayé de le lire en vain, alors que notre joystick STe "maison" fonctionnait très bien. C'est alors que l'on a essayé ce qui allait nous sauver: le pokage.
On a donc essayé (sans y croire car cela n'avait pas de sens) de mettre 0 dans l'adresse des joysticks en $FF9201, en $FF9202 et en $FF9203 (par erreur).

Le CHEAT MODE:


Prenez avec un éditeur de secteurs, recherchez Ö l'adresse $FF9201 la séquence $FFFFFF et remplacez la par $FFFFEE. Vous pourrez alors jouer avec le Joypad.
Voici, avec un peu d'humour ce que l'on pourrait trouver comme Cheat mode dans un magazine pour avoir les commandes infinies Ö ce grand jeu qu'est la programmation des Joypads.


La Soluce Complète:

 PadH0  = direction Haut Paddle0 
PadB0 = direction Bas Paddle0
PadG0 = direction Gauche Paddle0
PadD0 = direction Droite Paddle0
Pause0 = Bouton de Pause Paddle0
Option0= Bouton Option Paddle0
FireA0 = Bouton Fire A Paddle0
FireB0 = Bouton Fire B Paddle0
FireC0 = Bouton Fire C Paddle0
N1P0 = Numeric 1 Pad0 N2P0 = Numeric 2 Pad0 N3P0 = Numeric 3 Pad0
N4P0 = Numeric 4 Pad0 N5P0 = Numeric 5 Pad0 N6P0 = Numeric 6 Pad0
N7P0 = Numeric 7 Pad0 N8P0 = Numeric 8 Pad0 N9P0 = Numeric 9 Pad0
N*P0 = Numeric * Pad0 N0P0 = Numeric 0 Pad0 N#P0 = Numeric # Pad0


La case mémoire $FF9203, se décompose en 8 valeurs appelées bits.
b7-b6-b5-b4-b3-b2-b1-b0 dans l'ordre du plus fort au plus faible.
On peut mettre une valeur dans cette adresse qui aura pour but une activation.

 si b0 vaut 0, le Padx0 est actif 
si b0 vaut 0, Pause0 est actif
si b3 vaut 0, Option0 est actif
si b0 vaut 0, FireA0 est actif
si b1 vaut 0, FireB0 est actif
si b2 vaut 0, FireC0 est actif
si b1 vaut 0, la colonne numérique N1P0 N4P0 N7P0 N*P0 est active
si b2 vaut 0, la colonne numérique N2P0 N5P0 N8P0 N0P0 est active
si b3 vaut 0, la colonne numérique N3P0 N6P0 N9P0 N#P0 est active


Et pareil avec l'autre port STe sur les bits b4-b5-b6-b7.

La case mémoire $FF9201, se décompose en 8 valeurs appelées bits.
b7-b6-b5-b4-b3-b2-b1-b0 dans l'ordre du plus fort au plus faible.
On peut lire une valeur Ö cette adresse qui nous informera de l'état du Joypad.

 si b0 vaut 0, on a appuyé sur pause0 
si b1 vaut 0, on a appuyé sur FireA0 ou FireB0 ou FireC0
si b2 vaut 0, on a appuyé sur pause1
si b3 vaut 0, on a appuyé sur FireA1 ou FireB1 ou FireC1


La case mémoire $FF9202, se décompose en 8 valeurs appelées bits.
b7-b6-b5-b4-b3-b2-b1-b0 dans l'ordre du plus fort au plus faible.

 si b0 vaut 0, on a appuyé sur PadH0 ou N*P0 ou N0P0  ou N#P0 
si b1 vaut 0, on a appuyé sur PadB0 ou N7P0 ou N8P0 ou N9P0
si b2 vaut 0, on a appuyé sur PadG0 ou N4P0 ou N5P0 ou N6P0
si b3 vaut 0, on a appuyé sur PadD0 ou N1P0 ou N2P0 ou N3P0


Du coup, en inhibant certaines touches de manière judicieuse, on peut savoir sur quelle touche a appuyé le joueur. Certaines opérations nécessitent donc deux lectures de l'adresse (pavé numérique).

Exemple utile pour avoir l'équivalent d'un Joystick un Bouton.
POKE $FF9203,$EE : inhibe les pavés numériques et autorise les FireA + Pause.


Comment être sñr de l'appui d'une touche donnée:

 PadH0  = 2b0=0 et $FF9203 contient bxxxx1110 
PadB0 = 2b1=0 et $FF9203 contient bxxxx1110
PadG0 = 2b2=0 et $FF9203 contient bxxxx1110
PadD0 = 2b3=0 et $FF9203 contient bxxxx1110
Pause0 = 1b0=0 et $FF9203 contient bxxxx1110
FireA0 = 1b1=0 et $FF9203 contient bxxxx1110
FireB0 = 1b1=0 et $FF9203 contient bxxxx1101
FireC0 = 1b1=0 et $FF9203 contient bxxxx1011
Option0= 1b1=0 et $FF9203 contient bxxxx0111
N1P0 = 2b3=0 et $FF9203 contient bxxxx1101
N2P0 = 2b3=0 et $FF9203 contient bxxxx1011
N3P0 = 2b3=0 et $FF9203 contient bxxxx0111
N4P0 = 2b2=0 et $FF9203 contient bxxxx1101
N5P0 = 2b2=0 et $FF9203 contient bxxxx1011
N6P0 = 2b2=0 et $FF9203 contient bxxxx0111
N7P0 = 2b1=0 et $FF9203 contient bxxxx1101
N8P0 = 2b1=0 et $FF9203 contient bxxxx1011
N9P0 = 2b1=0 et $FF9203 contient bxxxx0111
N*P0 = 2b0=0 et $FF9203 contient bxxxx1101
N0P0 = 2b0=0 et $FF9203 contient bxxxx1011
N#P0 = 2b0=0 et $FF9203 contient bxxxx0111


Pareil pour l'autre port sur les quatre derniers bits de l'octet.


Effet de surprise:


Sachant que l'adresse $FF9203 inhibait les joypads, mon frère et moi-même pensions pouvoir tester Dynabusters, qui fonctionnait auparavant avec les commandes des joysticks STe, en incluant dans le code un détournement infime pour que le joypad puisse être lu. C'était sans compter sur le machiavélisme des programmeurs du Joypad qui avaient cablé les directions différemment. Résultat: Basculer vers le haut nous faisait aller Ö Gauche et les autres directions répondaient de manière tout aussi loufoque.
Il fallut donc détourner du code au niveau de la lecture des Ports pour simuler un joystick STe.


Un JOYPAD, oui, mais pour jouer Ö quels jeux?


Il est vrai que pour les Joueurs, la partie précédente n'avait que peu d'intérêt. J'aurai un peu de mal Ö répondre Ö cette question car je ne peux connaåtre toute la logithèque qui exploite le Joypad. Néanmoins, je suis sñr des données que je vais vous citer:

LLAMAZAP (FALCON): Utilise seulement le Joypad donc investissement obligatoire si vous voulez jouer Ö ce grand jeu de Jeff Minter.

STEEL TALONS (FALCON): Utilise le Joypad obligatoirement. Le jeu n'a pas l'air fabuleux de prime abord.

DYNABUSTERS JOYPAD (STe-FALCON): Version patchée de Dynabusters pour participer jusqu'Ö 5 joueurs (1clavier+2sticks+2pads). C'est un BomberMan tout Ö fait délirant!!! Et Shareware en plus! donc n'hésitez pas, pour le prix, Ö vous faire enregistrer.

SUPERBOMBERMAN (FALCON): Un BomberMan tout Ö fait splendide avec des bonhommes très coloré et très bien animés avec des gadgets tout Ö fait délirants qui font de lui un jeu dont on ne se décole pas. 6 joueurs au maximum avec une gestion de deux joueurs au clavier. Shareware Franáais. Il est intéressant d'avoir un Joypad car utilise les boutons pour réaliser des coups tactiques.

FIRESNARE JOYPAD (STe): Une version du jeu gérant les Joypads est disponible. Le but est de dévorer ses adversaires chenilles. Délirant Ö trois joueurs où on se tord le poignet Ö essayer de croquer les participants (3 joueurs).

ROAD RIOT (FALCON): Course de Voitures plutìt peu réaliste mais nécessitant le joypad pour tourner.

FRANTICK (STe-FALCON): Jeu Shareware très bien réalisé, avec des effets Ö la Jeff Minter utilisant les Joypads si on en possède. Une sorte de Tempest en deux dimensions. Une version bridée est disponible dans le domaine Public.

PUSCH IT (FALCON): Un jeu de réflexion Ö la "Stone Age" si mes souvenirs sont bons qui autorise les Joypads (Shareware testé non achevé donc "no comment").
...

Mais maintenant c'est Ö vous de créer des jeux pour compléter cette liste. Cela ne devrait pas être dur avec les informations que je vous ai fourni.

Voila, l'article est fini. Il a été écrit pour le POWER Falcon magazine en pensant tout particulièrement Ö RAY BAN, imprimeur du magazine. Je préciserai en plus en guise de clin d'oeil pour notre machine qu'il devrait être possible en théorie de jouer Ö un jeu pour 10 joueurs en simultanée sur un seul Atari (STe ou Falcon).
Il comprendrait:

  • 2 joueurs évoluant sur le clavier.
  • 2 sur joysticks standards dans les ports usuels.
  • 4 joueurs sur les ports STe avec des rallonges duplicatrices.
  • 2 joueurs sur le port imprimante, il existe en effet un adaptateur pour y connecter deux joysticks classiques (marche pour GAUNTLET II et DYNABLASTER).


Pas mal, non?

Signé: The TELLER

Bon maintenant parlons un peu de moi:


Si ce TXT vous a plu , n 'hésitez pas Ö me le faire savoir par courrier. Pareil si vous avez des questions , des problèmes Ö me poser ainsi que des idées de Jeux Ö programmer , n'hésitez pas Ö m'en faire part au plus vite. Je peux aussi vous envoyer les sources de certains de mes Jeux , si vous le désirez afin d'utiliser des routines pratiques que j'ai réalisé en OMIKRON. Je suis intéressé aussi par vos créations, des DEMOS , des Modules Soundtrack ou des domaines publics afin de faire des échanges.

Voici une petite liste de nos récentes créations avec mon frère et ma compagne:

 T.A.U.P.E. .... Le jeu de mineur le plus dément,réaliste et technique conáu! 
FIRESNARE ..... Jeu de chenilles dans lequel il faut croquer son adversaire.
SYNAPSE 2 ..... Un jeu simple , efficace et fignolé sur les réflexes.
SATURN'DAY .... Un programme Ephémeride sur les satellites de Saturne
K.RACTER EDITOR Un Editeur de BITBLT très complet Ö utiliser en OMIKRON
MORPION4....... Un Morpion fou en 3 ou 4 dimension (oui vous avez bien lu)
ESSAY ......... Un Editeur de Textes ASCII tout en Assembleur (avec Macros)
GEARBOX ....... Le meilleur (c'est vrai) compacteur d'images PI1 du marché
DIAMONDS & LIFE Deux petits programmes assembleurs sur les génerations (fou)
VIBRAX ........ Joueur de modules en tÉche de fond avec la routine Bitmaster
CPU_MOD ....... Le meilleur etle plus complet joueur de modules pour Falcon.
Existe aussi en version STe et TT. Avec CDplayer interface!
NEWDATE ....... Petit programme de conservation des Dates (pour ST et STe).


Voici donc mon Adresse complète :

Mr RUIZ Lionel
quartier le clos
13360 ROQUEVAIRE
FRANCE

Alors sur ce , bonne utilisation et Ö bientìt ...

RUIZ Lionel , l'auteur de T.A.U.P.E.

Merci de bien vouloir répandre cette documentation Ö toute personne que cela pourrait bien intéresser.

Adresse e-mail :
ruiz@massilia.univ-mrs.fr (moi-même)
kirstin@odin.u-3mrs.fr (ma compagne)

(réponse assurée)

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT