Un pilote InputSprocket pour la manette de Pippin sur Mac

C’est probablement un des premiers trucs dont j’ai parlé au sujet de la Pippin, en 2015, il existe une version ADB de la manette pour les Mac. Mais comme le protocole est propriétaire, elle n’est pas compatible avec les jeux Mac OS classiques. Enfin, sauf en utilisant un petit logiciel des années nonante, qui ajoute la compatibilité avec InputSprocket.

InputSprocket est une API qui date de la fin des années nonante chez Apple, et c’est une sorte de DirectX pour les Mac. InputSprocket fait en réalité partie de Game Sprockets, un ensemble d’API. Il y a une API pour l’affichage, une pour l’affichage en 3D, une pour le son, une pour le réseau et même une pour la reconnaissance vocale. Game Sprockets n’a pas eu le succès de DirectX : les API datent de mars 1996 et Apple a abandonné le tout en mars 1997 quand Steve Jobs est revenu. Malgré tout, une partie significative des jeux de la seconde moitié des années nonante passe par Game Sprocket sur Mac, et c’est vraiment Mac OS X qui a signé la fin des API.

L’intérêt pratique, c’est que les API sont simples. Pour InputSprocket, les jeux passent par l’API, et les développeurs de matériels, eux, doivent juste fournir une extension qui fait le lien entre l’API et le matériel. Et comme les périphériques USB suivent souvent le standard HID, c’est assez courant. Idem pour les trucs en ADB, c’est visiblement simple de proposer le nécessaire. J’ai un joystick Gravis, un Thrustmaster et même un Microsoft qui sont compatibles. De base, Mac OS gère d’ailleurs pas mal de modèles directement.

Une manette dans sa variante ADB, avec un doubleur ADB

Dans le cas de la manette de la Pippin, je suis tombé un jour sur une vieille page qui en parlait et assez étonnamment, le fichier est toujours en ligne. C’est juste une extension, qui nécessite Game Sprockets 1.7.5 si possible. Attention, certains jeux installent une vieille version, et la 1.7.5 ne s’installe pas si vous n’avez pas un OS en anglais (on peut trouver la version française et j’ai une copie au cas où).

Du point de vue du matériel, j’ai utilisé une manette de Pippin en ADB et un doubleur ADB. C’est vraiment plus simple si vous arrivez à en trouver un : ça permet de mettre la manette de la console et une souris derrière un clavier.

Une compatibilité pas totalement parfaite

J’ai testé avec Tomb Raider (le premier) sans soucis, et aussi avec Virtual Game Station, un émulateur de PlayStation. C’est toujours un peu bizarre de jouer à la PlayStation sur un Mac avec une manette de Bandai Pippin. Par contre, Star Wars Episode I: Racer (testé avec d’autres joystick) ne reconnaît pas la manette, mais c’est peut-être parce qu’il ne s’agit justement pas d’un joystick. Mais dans l’ensemble, ça fonctionne à peu près.

Tomb Raider voit la manette


Virtual Game Station aussi


Jouer à Moto Racer 2 avec une manette de Pippin sur un Mac, un rêve inavoué


Le jeu Star Wars ne voit pas de joystick (en bas)

Enfin, il faut noter que l’auteur explique qu’Apple avait proposé une compatibilité InputSprocket au départ (dans un SDK) mais ça ne fonctionne pas avec les versions « récentes » (1.7.x), ce qui a amené le développement de cette solution. Et je pense que ça nécessite un second post sur le sujet…