Hyperspin, et l’émulation à la maison (toi aussi fais-toi un PC retrogaming)

Aujourd’hui je vais vous parler d’un sujet un peu edgy, un peu compliqué, à la fois technique, pratique et théorique : l’émulation et comment la rendre aussi accessible que possible, au point où on peut considérer qu’on est en face d’une console de jeux, le pad à la main. C’est ce que j’ai tenté de construire durant ces dernières années sur mon temps libre et je vais vous expliquer un peu comment. En voici une petite vidéo que j’ai faite. Lisez la suite pour en savoir plus :

L’un des arguments pro-console est la facilité d’utilisation : on allume, on se met dans le canapé, et ça marche. Alors oui maintenant il y a les mises à jour constantes de l’OS et du jeu, les installations, mais globalement vous prenez une console d’aujourd’hui et vous n’avez pratiquement rien à configurer : ça marche en moins de vingt minutes après l’avoir déballée.

Le PC tend doucement vers cette voie avec Windows 10, mais surtout, en ce qui nous concerne, pour le jeu via Steam Big Picture et SteamOS. On en parlera plus tard dans la partie logicielle de cet article.

A la base, c’est un article que je voulais faire depuis un moment, mais sans jamais avoir trouvé le temps. Là je profite d’être entre deux chapitres de Eternity pour le faire. L’un des déclencheurs fut une vidéo de Davy Mourier (présentateur sur Nolife) où il présente sa propre borne d’arcade qu’il a commandé chez les gens de Neo Legend. Ils font même des artworks personnalisés sur le cabinet de la borne. C’est chouette, y’a pas à dire, mais ce qui m’a immédiatement frappé, c’est que sa borne faisait tourner un Hyperspin. Si vous ne savez pas encore ce que c’est, vous allez le découvrir dans ce long article, mais sachez juste que globalement, Neo Legend peut tout à fait construire des bornes, et ils font un excellent boulot là-dessus. Il n’y a pas de problème, mais mettre un système tout prêt avec + de 8000 jeux et le vendre dedans ? Il y a un moment où il faut se poser les bonnes questions, surtout quand on voit le fucking prix du truc dans le prix total de la borne. Pire encore : pour des gens comme moi qui ont déjà un système de prêt et qui voudraient le mettre dans une de leurs bornes, c’est niet. On trouve des commentaires sur le net de gens qui se sont fait envoyer bouler par Neo Legend pour avoir osé demander que la borne soit livrée sans ce système tout prêt à l’intérieur. Super commercial tout ça.

Mais je digresse, disons que cet épisode m’a un peu rendu heureux et triste pour Davy. Heureux parce qu’il a pu avoir sa borne à lui, customisée comme il faut, et c’est quelque chose que je rêve d’avoir. Triste parce qu’il fait vivre des gens qui ne méritent pas votre argent. Surtout autant d’argent : leurs bornes vont taper dans les 3000 à 4000€ minimum. Même s’il est justifié, à ce prix on réfléchit à vingt fois avant d’acheter.

L’arcade à la maison

Au début je découvre Hyperspin et je suis genre « wololo c’est pas possible, c’est trop bien fait. » Et l’idée me vient de faire un PC complet qui ne ferait tourner que ça. Je commence alors à rassembler le plus possible d’informations sur les outils, ce qu’il faut et combien de place ça va me prendre. Puis vient le moment de pousser le concept encore plus loin. Des gens sur le net se font leur propre borne d’arcade à base d’un PC faisant tourner des émulateurs : et pourquoi pas moi ?

Seul problème : je ne suis pas du tout bricoleur, mais genre. Pas. Du tout. Avec mon handicap c’est hors de question. Mon bon ami Fluo s’est alors proposé de faire la borne en elle-même et moi le système. Au final la vie a rattrapé cette idée et il ne peut pas s’en occuper même si des plans ont déjà été faits… Mais ce n’est pas si grave, car au moins j’ai une machine d’arcade sous forme de PC de prête.

Avant tout, on va définir deux termes importants pour ceux qui ne connaissent pas trop : l’émulation et le retrogaming

Emulation et rétrogaming, c’est pas pareil.

L’émulation n’est pas forcément liée au jeu vidéo. Il s’agit de créer un programme qui va faire croire à un autre qu’il tourne sur une machine pour laquelle il n’est pas prévu de tourner.

Par exemple un émulateur Game Boy va faire croire à un programme, à du code (par exemple, le code de la cartouche de Tetris) qu’il tourne sur une Game Boy authentique. Quand la cartouche dit « Fais descendre cette pièce de Tetris à l’écran », l’émulateur est sensé répondre et reproduire ce qui est attendu de lui. Certains émulateurs tentent d’atteindre une précision maximale dans la reconstitution des sensations, ou tout simplement de faire marcher certains jeux.

Pour faire un bon émulateur, on doit trouver comment fonctionne la console ou le système qu’on tente d’émuler. Cela est parfois simple, par exemple lorsque les puces qui constituent la machine en questions sont connues et documentées par leurs constructeurs respectifs. A partir du moment où on connaît le fonctionnement d’une puce, par exemple la puce graphique ou sonore, on doit pouvoir la recréer de façon logicielle, pour faire en sorte que la musique qu’on entend sonne exactement comme la vraie console. Certains émulateurs poussent même le vice un peu loin en reproduisant le son du lecteur de disquettes d’un Commodore Amiga ou d’un Amstrad CPC ! Mais parfois, l’émulation n’est pas facile : il faut émuler un contrôleur spécifique (le flingue de la NES, même si ce n’est pas un des pires exemples) ou pire, une connexion réseau à des serveurs. Typiquement, les MMORPG font partie de ces jeux qu’il est particulièrement difficile à émuler quand les serveurs en face fournissant le contenu au jeu sont fermés. En ce sens, le tout online est un vrai défi et un vrai danger pour l’émulation.

Le rétrogaming, c’est par contre le fait de jouer à tous ces vieux jeux avec le matériel d’origine. Cela pose des problèmes différents de l’émulation (même si c’est pas incompatible) comme par exemple faire fonctionner une machine physique et donc qui s’use à chaque utilisation, ou encore de brancher une console dotée d’une prise péritel sur des télévisions qui maintenant ne fonctionnent plus qu’avec du HDMI en entrée. Les inconditionnels du rétrogaming vous diront qu’il n’y a pas meilleure sensation et que l’émulation n’est qu’un pis-aller, voire est complètement inacceptable quand il s’agit de jouer à des jeux anciens, et on peut difficilement leur donner tort. L’émulation, puisqu’elle essaye de reproduire, n’arrivera jamais à la hauteur de l’original, même si d’énormes progrés sont effectués tous les jours par des passionnés. On trouve même des filtres graphiques permettant de reproduire les couleurs et le format un peu bombé des écrans CRT (vous savez, ces gros écrans à tube cathodique qui sont arrivés avant les écrans plats.)

Dans ma quête du rétrogaming, je suis arrivé à la conclusion assez rapidement que l’émulation était la meilleure voie à suivre, et ce pour plusieurs raisons :

  • Le côté pratique et logistique d’abord : faire du rétrogaming complet ça suppose qu’on a la place de garder toutes les consoles, manettes, et jeux associés. C’est une véritable passion de collectionneur qui coûte cher en mètres carrés. Ca et les multiples adaptateurs pour gérer les branchements aux télévisions modernes.
  • Le côté compact d’avoir une seule machine capable de tout faire : c’est plus économique.
  • Le défi qui est plus du côté logiciel que matériel (que je gère moins bien)
  • Plus important, la sauvegarde. Si je suis particulièrement admiratif devant ce que réussit à faire l’association MO5.COM, je pense que la sauvegarde de notre patrimoine vidéoludique ne peut pas se faire de façon matérielle. Le matériel ça s’use et ça tombe en panne, et à terme la cartouche qu’on conserve aussi longtemps n’aura plus la machine pour être utilisée derrière pour diverses raisons. Alors que de conserver des jeux sous forme de fichiers ROM (le contenu des cartouches, disques et ce qui constitue le jeu) et des machines sous forme d’émulateurs permettent de transporter le jeu à travers les âges, de système en système, et de les conserver ad vitam eternam. Je comprends le charme de conserver le matériel, mais pour moi c’est voué à l’echec sur le long terme.

J’ai donc opté pour un archivage dématérialisé, avec ses défauts et ses qualités. C’est aussi parce que j’avais de l’espace, car comme vous allez le voir quand je vais balancer quelques chiffres, ça devient rigolo.

Le matériel

Les gens qui ont déjà un PC qui dorment et qui s’intéressent uniquement à la partie logicielle peuvent passer à la séction suivante.

Quand on veut faire un ordinateur dédié à une tâche et pas juste à faire tout et n’importe quoi, on réfléchit bien à ses composants. J’ai fait certains choix et si vous voulez en faire d’autres, vous le pourrez, mais gardez bien à l’esprit que j’ai choisi tel ou tel composant pour mes propres besoins.

Donc, il fallait un PC petit, silencieux et costaud. Petit et silencieux car il devait rester sous la télévision ou être placé dans une borne, et costaud pour faire tourner le plus de machines possibles. Le problème c’est qu’on ne peut pas tout avoir. J’ai décidé que le côté costaud était plus important, et du coup j’ai un peu sacrifié le form factor.

Au total, j’en ai eu pour environ 600-700€ sans compter les achats annexes que je vais indiquer plus bas. Encore une fois, on peut s’en tirer pour bien moins cher en faisant de la récupération ou en sacrifiant certains composants. J’ai par exemple récupéré une carte graphique d’un PC plus ancien.

Je vais vous faire un TL;DR des familles pour ceux qui ne veulent pas entrer dans les détails. Ca va du moins gourmand au plus gourmand (et bien sûr, le prix ne sera pas le même !)

  • Vous voulez émuler jusqu’aux consoles 16 Bits (SuperNES/Megadrive)  : un CPU en dessous d’un i3, peu de RAM et une carte graphique intégrée. 1 To de disque dur suffiront si vous incluez l’intégralité des jeux d’arcade de la planète. Si seules les consoles vous intéressent, un simple SSD de 250 Go fera l’affaire. Il est possible de se faire ce genre de configuration pour 200-300€ voire moins.
  • Vous voulez émuler jusqu’aux consoles 32 Bits (PS1/Dreamcast/Saturn) : un CPU i3-i5 est de rigueur, toujours peu de RAM et une carte graphique de milieu de gamme (genre une x50 chez Nvidia). Pour le stockage, le 32 Bits apportant le support CD, il va falloir envisager le disque dur de 2 Go. Heureusement la Saturn et la Dreamcast n’ont pas eu masse de jeux, c’est surtout la PS1 qui est inquiétante (voire plus bas la section sur les disques durs)
  • Vous voulez émuler jusqu’à la Gamecube/PS2/Wii et des jeux Steam : en suivant les conseils du site de Dolphin (émulateur Gamecube/Wii) vous verrez qu’un Core i5 est déjà nécessaire, et que pour la carte graphique c’est plutôt du côté des séries x60 de Nvidia, à partir de la Geforce 460 qu’il faut regarder. Voir plus bas pour les cartes graphiques. Pour le disque dur, il va falloir viser beaucoup, beaucoup plus haut. Envisagez le 6 To (ou tout du moins 6 To réparti sur plusieurs disques).

Je mets donc mon tablier et je me mets à parler comme Maïté !

Boîtier et alimentation

Il faut choisir un boîtier ! Première étape !

Il n’y a pas de boîtier magique, mais vous voudrez faire la différence entre un boîtier classique dans lequel il n’y a rien (sauf parfois une alimentation qui est fournie) et un barebone. Le barebone est un boitier spécial, car il contient déjà une carte mère faite exprès pour lui. Ca a l’avantage d’avoir du tout intégré et d’être sûr de pas se louper avec les branchements ou de se retrouver comme moi avec un boitier à 4 emplacements pour disque dur mais avec une carte mère qui n’en gère que deux.

Ca c’est le moment où vous voyez un corbeau passer au dessus de ma tête.

Le barebone est cependant rarement économique, et peu évolutif. Il conditionne par exemple le modèle de CPU que vous allez acheter, et ça c’est pas toujours cool.

Notez enfin un détail important : votre boitier doit avoir un double-emplacement pour y brancher une carte graphique à l’arrière. On utilisera pas de carte graphique intégrée car, entre nous, c’est de la merde pour beaucoup trop de raisons.

Prenez donc le boîtier Mini-ITX de votre choix, avec une alimentation n’excedant pas 450-500 watts (ça ne sert à rien). Le nombre de watts va uniquement servir à avoir de la marge par rapport à ce que vous allez consommer. Au mieux vous allez consommer 250-300 watts de toutes façons, mais avec les manettes potentielles, la DolphinBar pour la Wii, et les disques durs externes, ça peut vite grimper. Avec une alimentation trop juste, c’est la coupure et l’endommagement des composants assurés.

Carte mère, processeur et mémoire

Essayez toujours de partir vers la dernière génération. L’écart de prix entre la dernière est l’ancienne ne justifie pas toujours qu’on prenne une génération N-1 de composants.

La carte mère peut provenir de n’importe quelle marque tant qu’elle est au format de votre boîter, qu’elle supporte au moins deux disques durs, et un nombre de ports USB en façade égal aux ports USB de votre boîtier. Ne vous faites pas niquer comme moi. Notez le modèle de socket CPU…

…pour choisir le processeur. L’émulation tire à fond sur le processeur, et il faut donc quelque chose qui tient la route en toutes circonstances, qui est capable, même sous la torture, de ne pas faire ramer ce jeu Playstation 1 auquel vous voulez jouer. Après, si vous êtes fauchés, un i3 peut tout à fait faire l’affaire, mais dites-vous bien que plus vous rognerez sur la puissance des composants, plus vous vous limiterez dans ce que vous voudrez émuler. Un Core i3 aura plus de mal à émuler une Gamecube ou Wii qu’un Core i5. Dans un cas comme dans l’autre, le premier modèle du type de processeur fera l’affaire.

La mémoire enfin, est probablement l’un des composants que vous pouvez le plus négliger. Rappelez-vous bien qu’une PS1 vit avec 2 Mo de mémoire vive. Qu’une Xbox 360 avec 512 Mo… Bref, rien qu’avec 4 Go de mémoire vive vous serez déjà très très large. Après à voir selon les jeux Steam auxquels vous voulez jouer sur votre machine d’arcade.

Carte graphique

Comme indiqué plus haut, selon ce à quoi vous allez vouloir jouer va dépendre votre carte graphique. Déjà évitez les cartes AMD juste parce que les drivers sont simplement à chier. Vous vous prendrez la tête pour rien.

Evitez également autant que possible le chipset intégré de votre carte mère : les Intel Graphics ont un bug avec Hyperspin qui fait que les vidéos ne s’affichent pas. Ce bug a été plus ou mions résolu il me semble mais ne l’ayant jamais rencontré, je ne peux pas expliquer s’il est bien résolu ou pas.

Non, votre choix devra se porter sur une Nvidia.

Si vous pouvez en récupérer une pour des clopinettes, prenez une Geforce 460 ou 560. 460 minimum pour de la Gamecube et plus. Privilégiez les modèles x60 qui sont le milieu de gamme de la marque. Comme expliqué tout à l’heure, si jouer à la Gamecube et au dessus ne vous intéresse pas, sachez qu’une x50 fera parfaitement l’affaire. Plus vous déscendrez dans la gamme plus vous aurez des soucis graphiques imprévisibles. Avec une x20 achetée à 30 euros, un jeu récent mais pas si gourmand comme Rocket League est tout simplement injouable (il plante.)

Au final, privilégiez une vieille x60 ou une x50 si votre budget est serré.

ATTENTION : ce n’est pas parce que dans votre tête une Geforce 920 a un chiffre plus elevé qu’une 770 qu’elle est forcément plus puissante, c’est même l’inverse ! Le chiffre des centaines indique la génération de la carte, et les dizaines le modèle. Une 920 est ainsi sensée gérer des instructions plus récentes, mais sa puissance est en déça d’une 770 et de loin ! La 770 représente le milieu-haut de gamme et a donc beaucoup plus de pèche qu’un bas de gamme de la génération précédente.

Stockage

Il y a deux choses à bien séparer, et c’est pour ça qu’en général je recommande le couple SSD + HDD : Le SSD de 120 à 250 Go pour le stockage du système et d’Hyperspin + des médias, car ça permet de parcourir le tout rapidement et avec des temps d’accès ultra faibles.

Le HDD lui, servira à stocker jeux et émulateurs. Selon ce que vous voudrez stocker il faudra prévoir plus ou moins grand. Aucune marque de disque dur n’est réellement à recommander, mais si je devais vous donner un conseil, prenez du SSD chez Crucial et du HDD chez Western Digital.

Quelques idées de « combien ça prend en place » :

  • Les médias d’Hyperspin (vidéos de jeux notamment) : 130 Go. A stocker sur le SSD ça peut rapidement tout remplir. Ces 130 Go prennent en compte que vous allez stocker l’intégralité des consoles jusqu’à la Wii sur votre système.
  • L’intégralité de la ludothèque arcade des années 70 aux années 2000 tape dans les 400 Go. Cela inclut beaucoup de vieux jeux, mais aussi des jeux à base de disque dur ou disques, comme par exemple les jeux en FMV (Dragon’s Lair) mais aussi des jeux plus récents comme les Dance Dance Revolution. A noter que vous n’êtes pas obligés de stocker ces jeux volumineux et que vous ne pouvez garder que ceux qui étaient stockés sur leur PCB (leur carte quoi), c’est à dire environ 50 Go.
  • Dans les plus gros, on retrouve bien entendu les consoles récentes : PS2 (2,2 To) et Wii (2,5 To), PSP (450 Go), PS1 (450 Go. Oui il y a une tétrachiée de jeux PS1), Gamecube (700 Go), Dreamcast (150 Go), Sega CD (60 Go), …
  • Avant l’arrivée des 32 Bits, on retrouve énormément de systèmes à 500 Mo ou moins.

Avec ces quelques informations, à vous donc de faire vos calculs sur la place qu’il vous faudrait pour stocker vos jeux préférés. Pour rappel un CD de jeu PS1 c’est 700 Mo, mais toute la place était rarement utilisée, par conséquent ça se compresse en règle générale plutôt bien, sauf pour les jeux qui utilisent énormément de vidéo.

Dans ce que je viens de vous indiquer, ne sont inclus que les jeux américains : les jeux européens ne sont pas comptés et les jeux japonais non plus (sauf ceux éventuellement jouables sans la barrière de la langue.)

Périphériques

Là on attaque les à côtés.

Dans un premier temps vous prendrez un clavier et une souris à la fois compacts et pas chers. Vous ne les utiliserez qu’au début pour installer et configurer la bête. Pas besoin donc de lâcher plus de 10-20€ dans un combo clavier/souris.

Vient maintenant l’heure du choix des manettes. Deux choix s’offrent à vous :

  • Des manettes filaires : Selon le nombre de ports USB et votre budget, vous devrez opter pour un hub USB. Ne le prenez pas auto-alimenté : le hub doit venir avec sa propre alimentation afin d’éviter les déconnexions intempestives de manettes. Prenez bien évidemment des manettes Xbox 360 USB. Elles sont pas chères et on en trouve plein et de toutes sortes. En plus elles ont un truc très pratique : un voyant sur le dessus vous indiquant votre numéro de joueur.
  • Des manettes sans fil : Même si c’est jouable avec le dongle des manettes Xbox 360, préférez celui des manettes Xbox One. Il coûte 25€ seul et gère jusqu’à 8 manettes Xbox One facilement. Ca sera moins encombrant que des câbles ! (Mais oui ça coûte plus cher, il faut ce qu’il faut)

Pourquoi pas une manette PS3 ? Parce qu’elle est ultra complexe à configurer avec MotionInJoy et autres joyeusetés. La manette PS4 je n’ai pas testé par contre.

Si vous comptez jouer à la Wii ou à des jeux de tir pensez bien sûr à acheter deux Wiimotes, mais surtout, vous aurez besoin d’une Mayflash Dolphinbar. Il s’agit, pour 20 malheureux euros, d’une sensor bar et d’un récepteur bluetooth. L’utilisation est d’une simplicité déconcertante et synchroniser les Wiimotes se fait en un clin d’oeil, on peut même configurer la barre pour faire en sorte que votre pointeur de souris soit contrôlable à la Wiimote. Comme je le disais, la Wiimote fait également un excellent flingue pour des jeux comme Time Crisis.

Les logiciels

Bon, on a tout le matériel, le PC est monté, prêt à démarrer, quoi qu’on fait maintenant ?

Je ne vais pas vous dire pas à pas comment configurer tel ou tel outil, mais ça vous donnera les pistes suffisantes pour voir par où commencer !

Windows

Avant de continuer on va couper court à tous les trolls : pourquoi Windows et pas Linux ?

  • Pas mal d’émulateurs ne fonctionnent pas ou pas bien sous Linux. (Ne me parlez pas de Retroarch, j’aborderai son cas plus tard)
  • Le support du matériel peut être prise de tête
  • Concrètement rien ne m’obligeait à passer sous Linux, tout ce que peut faire Linux pour ce genre de box, Windows 7 peut le faire, et le fait très simplement.
  • Hyperspin ne fonctionne pas sous Linux. Il existe bien sûr d’autres frontends que Hyperspin mais cela ne m’intéresse pas.

Si c’était à refaire aujourd’hui j’installerais peut-être Windows 10 pour les lulz, mais histoire d’être certain de son coup, un bon vieux Windows 7 éprouvé est ce qu’il y a de mieux. Léger et stable, c’est tout ce qu’on lui demande. Il y a des gens qui arrivent à s’en sortir avec un Windows 8, mais c’est comme les légendes : on en entend beaucoup parler mais on ne les voit jamais.

L’idée sera de configurer votre Windows pour qu’il s’installe sur le SSD et surtout qu’il soit le plus clean possible, en limitant le nombre de popups :

  • Papier peint uni
  • Modèle de son « aucun son » pour qu’on entende aucun bruit ed Windows
  • Désactiver l’éxecution automatique des clés USB et CD
  • Régler pour télécharger mais ne pas installer automatiquement les mises à jour de Windows Update (sauf si vous voulez redémarrer inopinément en plein jeu)
  • Installez un serveur VNC pour contrôler votre borne à distance et créez des lecteurs réseau en écriture uniquement pour l’utilisateur de votre PC principal. Cela vous permettra de transférer facilement par réseau des fichiers sur la borne sans empêcher les gens de jouer avec.
  • Désactiver la mise en veille de l’écran
  • Désactiver toutes les mise en veilles possibles en fait :

Ouvrez un cmd.exe dans Démarrer -> Executer et tapez :

c:\windows\system32\powercfg.exe -change -monitor-timeout-ac 0
c:\windows\system32\powercfg.exe -change -monitor-timeout-dc 0
c:\windows\system32\powercfg.exe -change -disk-timeout-ac 0
c:\windows\system32\powercfg.exe -change -disk-timeout-dc 0
c:\windows\system32\powercfg.exe -change -standby-timeout-ac 0
c:\windows\system32\powercfg.exe -change -standby-timeout-dc 0
c:\windows\system32\powercfg.exe -change -hibernate-timeout-ac 0
c:\windows\system32\powercfg.exe -change -hibernate-timeout-dc 0
c:\windows\system32\powercfg.exe -change -H off

Ca désactive toutes les mises en veille. Votre machine tournera maintenant H24, 7 jours sur 7.

Utilitaires

Vous allez avoir besoin de trois logiciels surtout. Le reste viendra au fur et à mesure.

Le premier est 360 Controller Guide Button. Ce petit programme va vous permettre d’affecter le bouton Xbox de vos pads (jusqu’à 4 pads) à une touche du clavier. Nous reviendrons sur les problématiques de mapping des touches plus tard. Généralement on le configurera pour qu’il appuie sur la touche Esc du clavier quand on appuie sur le bouton central Xbox. Ca sert notamment à avoir une touche unique pour quitter les émulateurs.

Le second est utile si vous avez plusieurs machines d’arcade, il s’agit bien sûr de Dropbox. Dropbox permet une synchronisation entre différentes machines des sauvegardes des jeux et high-scores, et autres joyeusetés. Si vous n’avez qu’une seule bécane vous pouvez complètement zapper ça.

Le dernier utilitaire et non des moindres, est nécessaire si vous utilisez des jeux à base de CD/DVD. En effet, tous ne gèrent pas le format .iso et il vous faudra un lecteur virtuel : Daemon Tools. Si possible, trouvez une version 4. Si pas possible, la dernière devrait fonctionner à peu près maintenant. Par contre, faites bien attention car DT Lite tente de vous installer un adware si vous ne faites pas attention et cliquez sur Next sans regarder.

Hyperspin

On attaque le gros morceau ! J’aurais limite pu faire tout un article sur Hyperspin.

HS, puisque c’est son petit nom, a un site officiel qui se trouve ici.

HS est un « frontend », donc une interface. Ce n’est pas un émulateur ou un système tout en un. Il nécessite beaucoup de doigté mais est d’une grande simplicité une fois qu’on a compris son fonctionnement.

C’est aussi une sale petite pute qui n’en fait qu’à sa tête, gourmand et mal écrit. Mais on peut pas tout avoir, hein.

Hyperspin est donc ce logiciel que vous voyez sur la borne d’arcade de Davy Mourier ou sur la vidéo que je vous ai montrée en début d’article. Pour cela il utilise des tonnes de fichiers « médias » qui sont des logos, des vidéos, des photos de cartouches et de boîtes de jeux, et aussi des habillages graphiques qui font que le tout soit à peu près cohérent. Une communauté US incroyable s’est réunie pour créer tous ces médias, et à peu près tout jusqu’à la Gamecube a été référencé et crée. Sur la Super Nintendo par exemple quand on passe sur un jeu on voit une photo de la boîte cartonnée du jeu de l’époque et de sa cartouche.

HS est fourni tel quel sans ses médias : c’est à vous de les récupérer. On en trouve un certain nombre dans la section Downloads du site de Hyperspin mais pour les vidéos il faudra vous tourner vers le site de EmuMovies.

A noter que si télécharger tout à la main vous gonfle (exemple ici, le pack de logos Game Boy), ce qui est compréhensible, vous pouvez faire une donation pour un statut de membre Platinum à vie à Hyperspin (50$) ce qui donne accès entre autre à HyperSync, un outil synchronisant vos médias avec ceux du site de Hyperspin. De quoi se faire une configuration en un clin d’oeil et de contribuer un peu à la communauté. Le 50$ de Hyperspin donne un coupon de 25% pour le statut Platinum de EmuMovies aussi qui est nécessaire pour les vidéos des jeux (25% de 60$ de Emumovies ça fait 45$). Comptez donc 95$ si vous voulez vous simplifier la vie lors de la configuration de votre Hyperspin. Personellement j’ai estimé que pour remercier la communauté d’avoir compilé tout ça, ça le méritait largement.

A noter que les jeux seront à récupérer par vos propres moyens. Vous êtes sensés jouer aux jeux que vous possèdez (mais tout le monde sait que vous n’écouterez pas ce conseil.)

A noter également qu’une version Android de Hyperspin est disponible sur leur site !

Un peu d’historique

C’est totalement optionnel, si vous voulez du concret, passez à l’étape suivante. Si vous aimez le popcorn, par contre, continuez à lire.

Cela ne s’est néanmoins pas toujours très bien passé pour HS. Son auteur, BBB, est aux abonnés absents et refait surface une fois toutes les quelques années, pond une nouvelle version qui corrige et améliore deux trois trucs, puis disparaît aussi sec. Fort heureusement, HS est stable mais mériterait quelques améliorations. Ses faiblesses sont contournées par des hacks parfois moches, parfois élégants, mais ça demande beaucoup de recherche.

L’autre point important est au sujet de la communauté francophone. Celle-ci s’est en effet brouillée avec la communauté US au point où de nombreux comptes ont été bannis des forums. L’objet de leur discorde ? HS est, selon les français, gratuit. Totalement, hyper gratuit. Si le logiciel est en effet gratuit, les médias eux, sont gratuits si on accepte de passer son temps à télécharger via le site (ce qui peut être un peu fastidieux) plutôt que d’utiliser le FTP ou Hypersync. Leur argumentaire est à moitié vrai (donc à moitié faux aussi) puisque pour eux, comme les médias utilisent des illustrations de toutes façons sous copyright, les faire payer est quand même gonflé de la part de la communauté US.

Sauf qu’ils n’ont pas capté que le prix payé pour être membre platine couvre l’entretien du serveur de stockage et la bande passante, qui eux ne sont pas gratuits. Mais ça, que voulez vous, c’est typiquement franchouillard comme raisonnement.

Du coup ils ont fait chier leur monde à ce sujet et se sont retrouvés bannis. Comme ce sont des français, ils se sont mis à râler tellement fort qu’ils en ont crée un site, Hyperfreespin au design douteux. Quand je dis douteux je devrais plutôt dire Bling bling et peu inspiré. En sous-marin donc, ils réinventent toute la roue. Ils utilisent Hyperspin, mais refont thèmes, logos, et autres artworks à la main. Ils ont même fait une « HFS Box » qui est une version préconfigurée d’Hyperspin par leurs soins. Le tout est bien sûr vérouillé derrière un statut de membre de leur forum confus et qui demande surtout à l’utilisateur de participer à la communauté pour télécharger tranquillement les médias.

Le plus cocasse, c’est que ce groupe a muté en association et que maintenant, à défaut de participer à la communauté, on peut donner de l’argent pour avoir accès à leur « cloud »… ce qui est exactement ce que fait la communauté US.

Vous ne me croyez pas ? Lisez cette page.

Je cite :

C’est aussi à la demande des membres souhaitant soutenir notre travail autrement que par la création qu’un système de dons fut mis en place et qui nous a permis jusqu’a aujourd’hui de financer le serveur qui nous héberge ainsi que les rassemblements que nous organisons. Aucun euro donné ne va dans la poche de qui que ce soit ici, car ces finances sont toutes réinvestis pour permettre a HyperFreeSpin de vivre aujourd’hui et demain.

C’est cette attitude détestable que je condamne surtout. Réinventer la roue n’a jamais servi à rien sinon à perdre son temps et son énergie.

Voilà pour la partie historique rigolote. On est pas content de payer alors on va faire la même chose de notre côté. C’est d’une putain de logique. J’ai déjà vu ça dans d’autres communautés et ça me désole.

Enfin, passons à des choses plus réjouissantes…

Installation et Configuration de Hyperspin

Hyperspin se télécharge par ici. A noter que des membres du forum ont commencé à créer des « HS Builds » disponibles pour les membres Platinum. Ces « builds » sont en fait des HS préconfigurés avec émulateurs prêts à fonctionner (il vous faut vos jeux quand même !)

Une fois décompressé dans son dossier (au hasard C:\Hyperspin) vous voudrez utiliser HyperHQ pour le configurer.

Comment fonctionne Hyperspin

En gros, Hyperspin n’est qu’un « menu ». Une interface qui permet de lancer des jeux. On arrive sur Hyperspin sur une « wheel », un menu sur le côté qui est le menu systèmes. On choisit sa console ou son ordinateur à émuler, et on valide. On arrive alors dans une « sub-wheel » dédiée à cette machine et dans laquelle on trouvera nos jeux.

Pour que tout marche et s’affiche bien, Hyperspin regarde un fichier .xml qui liste les systèmes, avec des noms normalisés. Quand je dis normalisés c’est qu’il s’appelle comme ça et pas autrement.

Quand on va dans un système (par exemple la NES), il regarde le fichier .xml des jeux NES et à partir de cette liste recherche les médias correspondants (logos, illustrations, boîtes, cartouches, vidéos, etc.) et s’il les trouve, il les affiche. Pour bien comprendre, il suffit de prendre un exemple concret. D’abord voici une arborescence type de Hyperspin :

C:\Hyperspin
C:\Hyperspin\Databases
C:\Hyperspin\Databases\Nintendo NES\Nintendo NES.xml
C:\Hyperspin\Medias\Nintendo NES
C:\Hyperspin\Medias\Nintendo NES\Images
C:\Hyperspin\Medias\Nintendo NES\Images\Artwork1
C:\Hyperspin\Medias\Nintendo NES\Images\Artwork2
C:\Hyperspin\Medias\Nintendo NES\Images\Artwork3
C:\Hyperspin\Medias\Nintendo NES\Images\Artwork3\Super Mario Bros.png
C:\Hyperspin\Medias\Nintendo NES\Images\Wheel
C:\Hyperspin\Medias\Nintendo NES\Images\Wheel\Super Mario Bros.png
C:\Hyperspin\Medias\Nintendo NES\Videos
C:\Hyperspin\Medias\Nintendo NES\Videos\Super Mario Bros.mp4
C:\Hyperspin\Medias\Nintendo NES\Themes
C:\Hyperspin\Medias\Nintendo NES\Themes\Super Mario Bros.zip

Alors c’est très simplifié hein, imaginez juste qu’il peut y a un fichier de chaque type par jeu dans votre ludothèque virtuelle.

Quand vous voudrez afficher la NES, il chargera le .xml correspondant dans Databases, puis ira afficher tous les médias se trouvant dans les dossiers respectifs. Ainsi, si on veut rajouter un jeu du genre « Mon jeu homebrew NES » il faudra l’ajouter dans le .xml, puis ajouter un fichier correspondant avec exactement le nom tel qu’il est dans le .xml

C’est assez simple quand on y pense, et ça permet une certaine souplesse puisque l’ajout ou le retrait d’un jeu consiste juste à supprimer des fichiers et une entrée dans un .xml

Donc ok, c’est cool, mais comment Hyperspin fait pour lancer le jeu, quand on valide ?

Il fait appel à un lanceur qui s’appelle RocketLauncher.

RocketLauncher

Depuis l’an dernier, RocketLauncher a son propre site. Avant il faisait partie de Hyperspin et s’appellait HyperLaunch. Ses développeurs ont jugé bon de se séparer d’Hyperspin pour une raison très simple : leur launcher est devenu tellement universel qu’il peut être utilisé par d’autres interfaces comme GameEX par exemple.

RocketLauncher est lancé par Hyperspin. Hyperspin lui dit juste « Hé, lance-moi le jeu Super Mario Bros de la Nintendo NES. » et RocketLauncher ? Il se démerde. Pour ça on va lui indiquer dans quels dossiers on garde nos jeux, ainsi que l’émulateur qu’on va utiliser. RocketLauncher est préconfiguré pour gérer un très vaste choix d’émulateurs qu’il configure tout seul : à part les touches (nous y reviendrons), il s’occupe de passer l’émulateur en plein écran, de gérer les graphismes, et globalement de faire en sorte qu’à aucun moment on ait d’intervention à faire à la souris ou à se balader dans les menus de l’émulateur. Via un système de scripts AutoHotKey, RocketLauncher a aussi été préparé aux petits oignons par sa communauté très active. RL sait par exemple que l’émulateur NES NEStopia a besoin de tel ou tel paramètre passé à la ligne de commande pour s’executé en plein écran. De la même façon, il sait que tel émulateur PS1 gère mieux les .iso que les lecteurs virtuels ou inversement.

Encore mieux, dans le cas d’un jeu à base de CD/DVD, il va décompresser le fichier .iso (on vous conseille de stocker vos jeux en RAR5 plutôt qu’en 7zip, car plus rapide à décompresser) via une barre de progression, le monter sur un lecteur virtuel de Daemon Tools, et vous laisser jouer. Quand vous avez fini, il s’occupe tout seul de démonter l’image et de supprimer le fichier temporaire crée. Du travail de pro.

RL est complexe mais particulièrement jouissif car on peut le configurer jusqu’à la moelle, comme faire en sorte que tel émulateur soit utilisé à la place de l’émulateur standard pour certains jeux. On peut également, par exemple, avoir un menu de pause appelé par une touche de votre manette (ou une combinaison de touches) et consulter high scores, manuels, flyers, publicités vidéos, soluces et tips puis revenir à notre jeu.

C’est hyper puissant.

Je ne vais pas m’étendre plus sur le sujet, RL possède un wiki assez complet et les premiers pas peuvent s’avèrer un peu difficiles, mais avec quelqu’un pour vous guider, ça se passe très bien. Le forum d’Hyperspin regorge également de guides sur comment configurer tel ou tel système, ne passez pas à côté !

Les émulateurs

C’est pas la partie chiante mais presque. Pour savoir quel émulateur utiliser, le moyen le plus simple est de regarder dans RocketLauncher quels émulateurs il propose pour le système qui vous intéresse. Après, il faut faire un tour dans les scripts de RL : le début est bien souvent bourré de commentaires sur comment configurer tel ou tel émulateur et surtout où les récupérer. Votre premier réflexe sera par exemple donc d’aller voir Dolphin.ahk dans les dossiers de RocketLauncher pour comprendre comment configurer Dolphin, le fameux émulateur Gamecube/Wii. Si vous suivez les instructions à la lettre, tout se passe bien en règle générale.

Pensez surtout à prendre la version de l’émulateur indiquée dans le script RocketLauncher concerné ! En effet, d’une version à l’autre un émulateur peut fonctionner différement et empêcher RL de le détecter correctement ou de le passer en plein écran au lancement, par exemple.

L’autre conseil de base c’est de tester l’émulateur avant de le lancer via RL, ne serait-ce que pour éviter que Windows ouvre une fenêtre disant « HE CE PROGRAMME VIA D’INTERNET TU ES SUR QUE TU VEUX L’EXECUTER HEIN DIS ? » car évidemment, il ne demande ça qu’une fois et si vous ne l’avez pas déjà fait, alors RL va faire la gueule et ne pas vous lancer l’émulateur.

A noter que pour MAME, l’émulateur multi-arcade, les gars d’Hyperspin proposent une version précompilée avec les derniers patches et surtout un « no nag screen » qui retire l’écran de warning à chaque démarrage de l’émulateur. On trouve la version 169 par ici.

XPadder

XPadder est un logiciel indispensable à un système d’arcade, car il permet de configurer les boutons d’une manette pour qu’ils appuient sur des touches prédéfinies. Il existe une alternative appellée JoyToKey mais que je n’ai jamais utilisé.

Pour XPadder, ça implique cependant que votre émulateur soit configuré pour répondre à ces touches au préalable. La configuration de tous vos émulateurs peut s’avérer fastidieuse mais c’est hélas un mauvais moment à passer. Courage.

Beaucoup d’émulateurs gèrent en effet peu ou mal les manettes nativement, il est donc intéressant de les utiliser en tant que claviers virtuels via XPadder.

Le logiciel va donc détecter votre ou vos manettes et charger le profil demandé. Là où c’est magique c’est que RocketLauncher est capable de charger un profil XPadder différent selon le système, émulateur ou même jeu que vous lancez. 

Un exemple de configuration XPadder que j’ai faite (à gauche le bouton de la manette Xbox 360, à droite la touche sur le clavier)

Player 1:
Haut -> Flèche Haut
Bas -> Flèche Bas
Gauche -> Flèche Gauche
Droite -> Flèche Droite
A -> W
B -> X
Y -> S
X -> Q
Start -> A
Back -> T
LB -> D
RB -> C
LT -> F
RT -> V

Player 2:
Haut -> P
Bas -> I
Gauche -> L
Droite -> O
A -> K
B -> G
Y -> H
X -> J
Start -> N
Back -> U
LB -> INS
RB -> PGup
LT -> Del
RT -> PGDn

Alors, il n’y a pas de bon et de mauvais mapping de touches. 

Le bon mapping, quand tu appuies sur Haut, ben il fait flèche haut quoi, et le mauvais mapping ben, il appuie sur flèche haut quand tu fais Haut quoi. C’est pas pareil.

Plus sérieusement, c’est à l’appréciation de chacun. XPadder permet également de charger des profils différents selon les executables lancés. On fera par exemple attention à afficher un profil vierge pour tous les programmes qui utilisent la manette nativement. Par exemple Steam et tous les jeux autour.

Ca peut être compliqué et ça sera souvent source d’emmerdes, mais il n’y a pas de solution miracle au problème des touches. Il faut juste vous assurer de tester vos émulateurs et vérifier que tous les boutons de la manette font bien ce qu’on leur demande. Sur certains systèmes où la forme de la manette est bizarre, il faudra vous adapter en conséquence pour trouver la bonne configuration qui soit à peu près naturelle sur un pad Xbox 360.

Gestion des bases de données de jeux

Là, pour gérer votre ludothèque, il y a aussi plusieurs écoles. Certains vont récupérer l’intégralité des jeux d’un système, d’autres se feront des favoris, et d’autres iront carrément garder que ceux qui les intéressent. Dans tous les cas vous serez amenés à manipuler les .xml d’Hyperspin pour adapter les listes à vos envies. Par exemple pour virer les 15 versions de FIFA sur PS2.

On trouve les listes et les listes par genre sur la partie HyperList du site d’Hyperspin.

Vous pourrez avoir besoin de Hyperspin XML Bidouilleur, un excellent outil qui permet par exemple de comparer votre liste avec un dossier, et d’y ajouter les jeux qui ne sont pas dans la liste (ou au contraire, retirer les jeux présents dans la liste mais absents de vos dossiers.) Cela vous permet notamment de contrôler si vos bases de données .xml sont correctes et d’éviter des moments gênants où vous voulez montrer votre système à un ami, qu’il lance un jeu qu’en fait vous ne possèdez pas parce que vous avez fait une faute de frappe dans le nom.

D’autres outils comme les Hyperspin Tools sont également recommandés. L’un deux, Rename ROMs, se basera sur la signature CRC contenue dans certains .xml pour deviner comment doit s’appeler votre jeu pour coller aux règles de nommage de Hyperspin. Très très utile pour faire du renommage de masse et harmoniser vos .xml et jeux !

Kodi

Le site de Kodi est l’endroit idéal pour récupérer ce fabuleux « media center ». Il s’agit d’une interface plein écran adaptée à la lecture de vidéos. Ces vidéos peuvent être sur votre réseau, mais ile xiste également un plugin Crunchyroll, Nolife, Youtube, etc. C’est l’interface idéale pour profiter votre médiathèque et on peut bien sûr la lancer depuis Hyperspin et la contrôler à la manette !

Steam

L’autre compagnon indispensable, si votre bécane le permet bien entendu, est Steam. Lançable depuis Hyperspin également, Steam en mode Big Picture (adapté à la manette et la télévision) va vous permettre de lancer tous ces jeux d’arcade sympathiques depuis votre borne. Comme beaucoup de jeux ont été refaits pour PC et sont dispo sur Steam (les Final Fantasy, Metal Slug, King of Fighters, mais des choses aussi plus récentes !). Towerfall, Jackbox Party Pack, Blaze Rush, et d’autres jeux sont sur Steam, et on sous-estime très facilement tout ce à quoi on peut jouer, pour peu qu’on ait ces jeux sur son compte Steam bien évidemment.

Bien sûr, pour profiter de jeux PC dans de bonnes conditions, vous aurez besoin d’une configuration correcte.

Un peu de fun…

Voilà, on a fait un peu le tour de tout ce qu’il y a à savoir. Le sujet est hyper vaste, et vous aurez sûrement besoin d’un peu d’aide pour vous lancer dedans.

L’idéal est de faire joujou avec Hyperspin sur votre PC pour commencer, puis quand vous vous sentirez prêt, à le mettre sur un petit PC de salon construit pour rester sous votre télévision.

On passe peut-être plus de temps à configurer tout ça qu’à jouer avec, mais c’est très plaisant et on essaye de corriger bug après bug pour obtenir un système parfait. Je fais ça sur mon temps libre de temps en temps, aprfois il se passe un mois complet sans que je ne remette les mains dans le cambouis, mais pour tout amateur de jeu vidéo et surtout de son histoire, c’est une mine d’or, un musée qu’on peut se confectionner soi-même avec un peu de patience et d’argent.

Lorsque vous recevez du monde, un petit jeu à faire est de laisser Hyperspin choisir pour vous via la sélection aléatoire un jeu sur un des systèmes de votre choix. Chaque personne teste un nouveau jeu quelques minutes, et on tombe parfois sur des grosses daubes comme sur des jeux très sympas. Parfois aussi, on tombe sur des simulateurs équestres très poussés ou des jeux de pêche. On ne peut pas toujours être chanceux !

N’hésitez pas à poser des questions dans les commentaires, ils sont là pour ça ! J’essayerai de vous aider si vous êtes intéressés, mais je vous invite aussi à aller voir le forum d’Hyperspin en premier lieu et d’essayer par vous-même !