Jouer aux Sonic MD de nos jours / Le MiSTer FPGA
Par ced_
Publié le 08.05.2021
Si vous vous intéressez au retro gaming vous avez surement entendu parler du MiSTer FPGA. Mais il n’est pas toujours aisé de comprendre de quoi il s’agit, comment ça marche, qu’est-ce qu’on peut faire avec et comment en obtenir un. Vous saurez tout dans ce long article sur le fameux MiSTer FPGA.
Emulation software VS FPGA
Vous connaissez surement tous l’émulation, mais pourquoi software ? Je vous explique. L’émulation traditionnelle, dite software, consiste à programmer un logiciel (l’émulateur) qui va permettre à du code écrit pour une plateforme de tourner sur une autre plateforme non compatible initialement. Par exemple, faire tourner un jeu Megadrive sur un PC. Dans le processus d’écriture d’un émulateur il faut émuler la gestion du code par un hardware potentiellement totalement différent, et dans le processus le programmeur ajoute forcément des approximations/raccourcis pour arriver à ses fins. Le programme émulé tournera rarement exactement comme sur sa plateforme d’origine. De plus, de par son principe, l’émulation software nécessite une plateforme d’arrivée bien plus puissante que la plateforme d’origine et ajoute de l’input lag, car il faut bien "traduire" le programme d’origine vers un nouveau language à la volée (je simplifie volontairement) et cela occupe forcément quelques cycles d’horloge. La conséquence c'est donc de l’input lag, c’est à dire qu'un délai est ajouté entre le moment où le joueur appuie sur sa manette et le lancement de l’action à l’écran.
Et puis il y a des plateformes connues comme difficilement "émulable" à cause de leur complexité hardware, comme la Saturn, même si des progrès ont été fait ces dernières années.
L’autre solution c’est le FPGA ! C’est le nom que l’on donne à un circuit intégré programmable, que l’on peut reprogrammer à sa guise. Concrètement, ça veut dire quoi ? Qu’il est possible de reprogrammer ce circuit pour le faire fonctionner exactement comme une autre puce, ou carrément comme un hardware complet (puces + carte mère). Il est donc possible de reprogrammer une puce FPGA pour la faire fonctionner comme une Megadrive. Lorsque le fonctionnement du hardware d’origine est complètement reproduit c’est comme si vous avez une vraie Megadrive. Vous comprendrez donc qu’il est alors facile de faire tourner un jeu Megadrive dessus, il n’y a plus besoin d’émulation software puisque le jeu tourne sur la puce FPGA comme s’il s’agissait de la console d’origine. Les avantages sont énormes: Reproduction exacte de l’expérience d’origine, aucun input lag, possibilité d’améliorer le hardware d’origine pour corriger les erreurs de conception et améliorer l’expérience (boost de fréquence par exemple).
Concrètement ce n’est pas aussi simple que ça. Pour reproduire parfaitement un hardware il faut bien comprendre son fonctionnement, décortiquer la carte mère et ses différentes puces. Lorsqu’il s’agit d’hardware bien documenté comme celui de la Megadrive c’est plus simple, et la reproduction FPGA de cette console est aujourd’hui parfaite, mais pour d’autres hardware il peut arriver que le développement prenne plus de temps et que le programmeur doivent y aller à tâtons (reverse engineering).
Vous le savez surement mais tous les produits fabriqués par Analogue comme la Mega Sg, un clone HD de la Megadrive, sont basés sur du FPGA et proposent une expérience complète identique à une vraie Megadrive avec le port cartouche et les ports manettes d'origine pour jouer avec vos jeux et manettes officielles.
Pour plus d’infos, je vous renvoie vers la page wikipedia du FPGA.
MiSTer FPGA : le projet
MiSTer est un projet open-source de plateforme d’émulation FPGA initié par le programmeur Alexey Melnikov et qui utilise la carte DE10-Nano. MiSTer s’inspire de MiST, un projet antérieur de recréation de l’Atari ST sur du FPGA (MiST voulait dire MiniST).
Le DE10-Nano est une mini carte mère produite par Terasic, une société Taiwanaise appartenant à Intel, qui a été créé dans le but d’initier les étudiants à la programmation FPGA. Cette carte a été choisie par Alexey Melnikov car elle offre l’avantage d’être puissante, pas très chère (car pour les étudiants) et extensible (contrairement à celle utilisée pour le MiST).
Cette carte qui ressemble à un Raspberry Pi propose comme puce FPGA un Altera Cyclone V qui dispose de 110 000 LE (portes logiques). A titre de comparaison le Cyclone 3 utilisé pour le MiST en a 24 624. Elle a aussi un processeur ARM Cortex A9 double coeur à 800 MHz qui permet de faire tourner Linux version ARM et de gérer entre autre les périphériques USB. L’Altera et le cpu ARM sont intégré dans la même puce, ce qui permet une communication extrêmement rapide entre les deux. La carte possède aussi 1Go de DDR3 SDRAM, un port microSD card, un port de sortie HDMI, une prise USB et un port Ethernet.
La carte seule est trouvable dans les boutiques d’électronique dans les 140 euros. Mais il est déconseillé de l’acheter seule. En effet Alexey Melnikov a conçu des cartes d’extension à associer au DE10-Nano pour en faire une plateforme plus puissante et agréable à utiliser. Ces cartes étant open source n’importe qui peut les produire et les vendre avec le DE10-Nano.
Composer un MiSTer
Le coeur du MiSTer c’est donc la carte DE10-NAno. Mais avec la carte seule nous n’irez pas bien loin. Seul un nombre très restreint de plateformes peuvent être reproduite dessus. Il faut donc y ajouter des modules supplémentaires.
Petit aperçu des modules disponibles :
Module SDRAM
La première chose à ajouter c'est une barrette mémoire de 128Mo de SDRAM, car elle vous donnera accès à l’ensemble des plateformes reproduite sur le MiSTer. Indispensable !
Module I/O Board
Ce module propose une sortie vidéo VGA ainsi qu’une sortie son en jack pour brancher le MiSTer sur des écrans CRT ou des bornes d’arcades. Il a aussi un ventilateur pour rafraichir la puce FPGA ce qui peut être utile pour les longues sessions de jeu.
Il a aussi 3 boutons de contrôles supplémentaires (un bouton de réinitialisation du MiSTer, un bouton de réinitialisation du core et un bouton pour accéder à la configuration) qui peuvent ajouter une certaine simplicité d’utilisation, même si pas indispensable.
Et pour finir un lecteur de carte microSD supplémentaire qui permet d’avoir une seconde carte en FAT 16 utilisable sur certains core comme le MSX.
Module 7 USB
Il est aussi possible d’ajouter 7 ports USB pour y brancher clavier/souris, clé wifi, ou tout un tas de manettes pour du multiplayer. Je vous le conseille.
Module RTC
Il s’agit d’un pile qui garde en mémoire la date et l’heure lorsque le MiSTer n’est pas connecté à internet. Certains cores comme l’Amiga peuvent l’utiliser. Pas indispensable.
Tout cela peut paraitre compliqué mais beaucoup de marchands proposent maintenant des packs complets clé en main. Plus besoin de se prendre la tête. Il faudra compter dans les 300 euros pour l’ensemble.
Les plateformes reproduites
Comme dit plus haut, il s’agit un projet open-source de reproduction de hardware permettant de jouer à des jeux vidéos. Le projet ayant plusieurs années, un très grand nombre de consoles, ordinateurs et bornes d’arcade des années 80 et du début des années 90 sont reproduits. Chaque plateforme est appelé core.
Pour les consoles, vous pourrez jouer à toutes les consoles SEGA jusqu’au Mega CD, à toutes les consoles Nintendo de la NES à la GameBoy Advance, sans oublier la NeoGeo ou la PC Engine. Globalement toutes les consoles qui font de la 2D sont là, manque seulement la WonderSwan et la NeoGeo Pocket dont les développements sont en cours. Pour ce qui est des consoles 3D, la Playstation et la Saturn devraient avoir droit à leur réplication FPGA d’ici la fin de l’année. Il faut cependant comprendre que la puce du DE10-Nano a ses limites et il semble que les consoles au delà des 32 bits ne peuvent pas être reproduites.
Du coté des ordinateurs, l’Atari ST, l’Amiga, l’Apple II, le CPC 6128 pour ne citer que les plus connus sont bien là. Il est même possible de répliquer un cpu 486 pour y installer DOS ou même Windows 95 !
Pour l’arcade, beaucoup de bornes ont un hardware unique, il faut donc développer un core pour chaque jeu. Aujourd’hui plus d’une centaine de jeux d’arcade sont jouables sur MiSTer dont beaucoup de jeux Sega du tout début des année 80 (ceux sortis avant Hang-On) et tous les jeux CPS comme Street Fighter II.
Pour voir la liste complète des systèmes je vous invite à aller sur la page du wiki officiel du projet et à jeter un oeil au menu sur la droite qui liste tous les cores officiels. Petite subtilité : le MiSTer peut aussi accueillir des cores non officiels. Les plus connus sont ceux développé par le programmeur Jose Tejada qui a ouvert un Patreon pour ceux qui veulent l'aider financièrement dans son travail. Il est à l'origine des core CPS et CPS2.
Retour sur expérience
La configuration d’un MiSTer FPGA n’est clairement pas plug’n’play, mais s’apparente à la configuration d’un Raspberry Pi. Ce n’est donc pas vraiment accessible aux néophytes, mais si vous vous y connaissez un minimum en informatique et que vous savez lire des tutos en anglais, vous vous en sortirez.
Une fois configuré le MiSTer FPGA est très agréable à utiliser. Il démarre en quelques secondes et les menus, bien que simplistes, sont très complets. Pas de superflus ici, pas de pochettes de jeux ou autres fioritures, l’expérience va à l’essentiel pour un maximum de réactivité.
Le MiSTer reconnait aussi la très grande majorité des manettes, et accepte les dongles USB ou Bluetooth pour jouer en wireless si c’est votre truc.
Quand à l’expérience de jeu, elle est parfaite. Je n’ai vu aucune différence entre les jeux joués sur ma Megadrive et le MiSTer FPGA. De même jouer sur le MiSTer à la NeoGeo ou aux bornes d’arcade de l’époque est une expérience incroyable. Vous avez enfin une borne d'arcade à la maison !
Le MiSTer propose aussi tous les réglages attendus par les plus exigeants: l’upscale seulement sur des valeurs entières (pixel perfect) et jusqu’au 1440p 60Hz, et l’ajoute de filtres pour simuler le rendu CRT (avec des hybrides scanlines) ou le rendu LCD des consoles portables.
Certain cores proposent aussi le "save state" qui permet de sauver sa progression à n'importe quel moment. L'implémentation de cette feature n'est pas la norme car elle est bien plus difficile à faire fonctionner en FPGA qu'en émulation software. Cependant, le MiSTer gère de base les "Cheats" qui permettent de jouer avec plus de crédits, ou en mode invincible sur beaucoup de jeux.
Par des fans pour les fans, voilà comment on pourrait résumer le MiSTer FPGA.
Est-ce que ça vaut le coup ?
Ben ça dépend...
Déjà il faut compter dans les 300 à 400 euros pour un MiSTer FPGA complet. C’est une somme ! Mais en même temps c’est le prix d’une NeoGeo en loose, là où le FPGA ne fait pas que la NeoGeo ;)
Après, si vous n’êtes pas un gros joueur de jeux retro vous pouvez passez votre tour, un émulateur PC sera un meilleur choix. Pareil, si vous êtes un joueur retro et que l’expérience de jeu sur émulateur vous satisfait pleinement, vous n’avez pas besoin d'un MiSTer FPGA non plus.
Je pense que vous serez intéressé si vous recherchez l'expérience retro gaming ultime, avec une reproduction parfaite des jeux et aucun input lag. Pareil si vous êtes un pro gamer retro et que l'absence d'input lag est indispensable pour faire des speedruns.
En ce qui me concerne, j'ai beaucoup joué sur Megadrive dans ma jeunesse, et j'ai toujours ressenti une gène quand je jouais sur émulateur aux jeux sur lesquels j'avais passé des centaines d'heures plus jeune. Surement que l'input lag ou les quelques approximations de l'émulation en était la cause. Sur MiSTer je trouve les sensations d'époque et j'y passe bien plus de temps que sur mon Raspebby Pi que j'ai définitivement rangé à la cave ;)
Aussi, ça vous reviendra moins cher que l’achat des consoles d’origine, sans parler de la place que prend un écran CRT ou le prix d’un upscaller pour y jouer sur une télé HD.
Bref, à vous de voir, vous avez toutes les infos maintenant ;)
Où acheter un MiSTer FPGA ?
Si vous tapez MiSTer FPGA dans votre moteur de recherche favoris vous trouverez facilement des marchands en ligne qui vendent le MiSTer. Privilégiez les marchands spécialisés dans le retrogaming si vous voulez éviter les mauvaises surprises.
Personnellement, je vous conseille le site de ManuFerhi, car il est basé en Espagne et vous n’aurez pas à payer les frais de douanes : https://manuferhi.com/c/mister-fpga
Configurer un MiSTer FPGA
Le wiki officiel du projet se trouve ici. Vous y trouverez absolument toutes les infos pour utiliser au mieux votre MiSTer. Par contre c’est en anglais, ben oui fallait travailler à l’école ;)
Mais je vais quand même vous aider ci-après avec une série de tutos et d’astuces/conseils issues de mon expérience pour tirer le meilleur du MiSTer.
Configurer la carte SD
On commence par un guide pour configurer une carte micro SD afin d’installer le logiciel du MiSTer sur la machine. Pour info, vous pouvez aussi trouver le guide officiel ici.
Il vous faut donc une carte micro SD sur laquelle vous allez installer l’OS du MiSTer et les différents cores. Pour les roms ou isos des jeux, ils peuvent aussi être installé sur la carte micro SD ou sur un support externe branché en USB (clé USB ou disque dur).
En ce qui concerne la taille de la carte, je vous conseille au minimum 4Go mais dans ce cas vous devrez mettre la majorité de vos roms sur un stockage externe. Si vous souhaitez tout mettre sur la carte SD voici à titre informatif la taille que prennent les fullsets des différentes consoles :
- Fullset Sega Master System : 120 Mo
- Fullset NES : 480 Mo
- Fullset GameGear : 160 Mo
- Fullset GameBoy & GameBoy Color : 2 Go
- Fullset GBA : 22 Go
- Fullset PCEngine : 200 Mo
- Fullset Megadrive : 2,3 Go
- Fullset Super Nintendo : 4,2 Go
- Fullset NeoGeo : 8 Go
- Fullset Mega CD : 150 Go
La méthode recommandée pour préparer sa carte micro SD est dite celle de Mr Fusion. Il s’agit d’une image à télécharger et à installer sur la carte micro SD. Ce n’est pas plus compliqué.
Etape 1 : Téléchargez la dernière version du fichier mr-fusion.img.zip ici.
Etape 2 : Téléchargez et installez un utilitaire pour flasher votre carte SD et y installer l’image. Le wiki officiel conseille ces trois logiciels: Apple Pi Baker, belanaEtcher, Win32 Disk Imager.
Personnellement j’ai utilisé belanaEtcher qui est simple à utiliser et fonctionne aussi bien sur Windows que sur Mac.
Etape 3 : Formater la carte SD
Voici les étapes à suivre si vous utilisez belanaEtcher (mais les autres logiciels devraient fonctionner de manière similaire) :
- Cliquez sur Flash from file et sélectionnez l’image MrFusion téléchargée précédemment
- Select Target pour sélectionner votre carte SD. Attention: vérifiez à deux fois que vous avez sélectionné la bonne carte SD avant de lancer le processus, sinon vous pouvez vite vous retrouver à formater (effacer) le mauvaise support branché en USB :(
- Cliquez sur Flash et c’est parti :)
Installer MiSTer
Mettez maintenant votre carte micro SD configurée avec la méthode précédente dans le MiSTer. Insérez là dans le bon port micro SD du MiSTer. En effet, si vous avez un MiSTer avec le module I/O Board vous aurez deux ports micro SD. Vous devez utiliser le port micro SD qui se trouve sur la même carte que la puce FPGA, c’est celui qui se trouve sur la deuxième carte en partant du haut sur le coté, le plus proche du port HDMI.
Une fois la carte micro SD placée dans le MiSTer, allumez-le et l’installation va commencer. Cela va prendre quelques minutes, puis le MiSTer va redémarrer.
Mettre à jour le MiSTer
Une fois votre MiSTer redémarré, branchez-le à votre box internet avec un cable Ethernet. Attendez que la petite icône internet apparaisse dans la barre du haut, puis branchez un clavier USB et appuyez sur F12 pour vous rendre dans les System Settings.
Dans le menu allez dans Scripts, confirmez que vous voulez continuer, et sélectionnez le script update. Ce script va mettre à jour le MiSTer en allant télécharger les éléments suivants:
- Tous les cores officiels (consoles, ordinateurs, arcades).
- Les video scaler filters
- Les GameBoy palettes
- Les cheat codes
- Les scripts
Cela va durer entre 10 et 20 minutes la première fois.
Vous remarquez qu’il y a aussi un script wifi qui permet de configurer le wifi si vous avez branché une clé wifi en USB au MiSTer. Sachez que toutes les clés wifi ne sont pas reconnues par le MiSTer. J’ai cru comprendre que même avec des clés reconnues le wifi pouvait être capricieux, je suis personnellement resté sur de l’ethernet. Vous pouvez retrouver une liste de clé wifi compatible ici.
Configurer une manette
Une fois tous les cores téléchargés, il faut configurer une manette, surtout pour jouer, mais aussi pour naviguer dans les menus et ne plus avoir besoin du clavier.
Donc, branchez une manette en USB. La grande majorité des pads USB seront reconnus y compris les pads PS4 et Xbox. Vous trouverez plus bas dans cet article quelques conseils sur les bons pads à utiliser.
Appuyez sur le F12 du clavier pour revenir dans les System Settings. Sélectionnez Define Joystick buttons. On va alors vous demander de configurer les boutons de votre manette. La grande majorité des pads USB seront reconnus y compris les pads PS4 et Xbox.
Quelques précisions sur la configuration des manettes :
DPAD Test: press right - Au début on va vous demander de presser le bouton droit du DPAD (croix directionnelle). Cela permet au MiSTer d’identifier le pad que vous voulez configurer dans le cas où plusieurs pads seraient connecté au MiSTer, et pour garder la configuration en mémoire pour votre prochaine session de jeu.
Stick 1 Test: Tilt RIGHT - pour les mêmes raison que précédemment on vous demande de pousser le stick analogique de votre manette vers la droite. Si votre manette n’a qu’une croix directionnelle appuyez sur la touche espace de votre clavier pour sélectionner Undefine.
On va ensuite vous demander de configurer toutes les touches de votre manettes. Le modèle de manette utilisé comme référence par le MiSTer c’est celle de la Super Nintendo avec un stick analogique gauche supplémentaire. La configuration de ces boutons va définir la configuration de bases utilisée par tous les cores. Mais sachez que vous pourrez par la suite configurer votre manette indépendamment d’un core à l’autre.
Press: Mouse Move RIGHT/LEFT/UP/DOWN - Pour les cores nécessitant une souris comme les ordinateurs, vous pouvez indiquer quelles boutons de votre manette permettra de déplacer le curseur de la souris.
Press: Mouse Emu/Sniper - Important, vous pouvez définir le bouton qui va passer votre manette en mode souris. Ce qui veut dire qu’en appuyant sur ce bouton, vous pourrez déplacer la souris avec votre manette, et en relachant vous reviendrez sur une configuration manette plus classique. Très utile sur les cores qui gère en même temps une souris et une manette comme l’Amiga et passer de l’un à l’autre.
Press: MENU - Ce bouton vous permettra d'afficher le menu du MiSTer pour changer de core ou de jeu. Il peut s’agir d’une combinaison de bouton si vous manette n’en a pas assez de libre, comme haut+Start.
Press: Menu: OK - Pour définir le bouton de validation dans les menus du MiSTer. Par exemple A.
Press: Menu: Back - Définie le bouton de retour dans les menus du MiSTer. Par exemple B.
Analog X/Y: Tilt RIGHT - Pour définir votre stick analogique principal. Si votre pad n’en a pas, appuyer sur la touche Espace de votre clavier pour choisir Undefined.
Une fois votre manette configurée, vous n’aurez plus besoin de votre clavier sauf cas particuliers (reconfiguration de manettes ou utilisation des cores d’ordinateurs).
Lancez votre premier jeu
Comme on l’a vu le script update a téléchargé tous les cores officiels sur votre carte SD. Mais pour jouer vous aurez besoin des roms des jeux. Pour des raisons légales elles ne sont pas fournies avec. Pour ce tuto on va jouer, au hasard, à Sonic sur Megadrive :)
Je vous laisse d’abord récupérer la rom du jeu au format .BIN, .GEN ou .MD après une recherche sur internet. S’il est au format zip, décompressez-le.
Branchez ensuite la carte SD sur votre ordinateur. Vous devriez y voir un répertoire games, c’est là où tous les jeux seront stockés.
Dans ce répertoire trouvez celui qui a pour nom Genesis, et copiez-y la rom du jeu.
A noter que si vous souhaitez mettre vos roms sur un support externe USB, il suffit de reproduire la structure games/Genesis à la racine de votre support pour qu’il soit automatiquement pris en compte à la place de celui de la carte SD.
Remettez la carte SD dans le MiSTer et allumez-le.
Le premier menu qui s’affiche permet de choisir la catégorie de core à lancer: Arcade, Computer, Console, … Si vous appuyez sur le bouton "Menu back" de la manette à partir de ce menu vous afficherez les System Settings. Appuyez de nouveau sur "Menu back" pour revenir au menu initial.
Sélectionnez Console, puis Genesis. Le MiSTer va alors charger le core Genesis et se comporter comme une Megadrive. Par défaut le menu du core s’affiche et c’est ici que vous pourrez configurer plus particulièrement ce core. S’il ne s’affiche pas, appuyez sur le bouton "Menu" de votre manette. Sélectionnez d’abord Load *.BIN,GEN,MD, ce qui va afficher le répertoire games/Genesis de la carte SD (ou du support externe). Vous pouvez alors sélectionner le fichier du jeu pour le lancer.
Pendant une partie, vous pouvez revenir au menu du MiSTer en appuyant sur la touche "Menu" que vous avez configurez précédemment.
Voilà vous avez lancé votre premier jeu :)
Petit tour dans les menus
On va maintenant explorer les menus du MiSTer une fois un core lancé.
La première page du menu a le même nom que le core (dans l’exemple précédent Genesis). De là vous pouvez choisir le jeu à lancer et accéder à une série de paramètres. Pour changer leurs valeurs il faut appuyer sur la touche "Menu OK" ou les deux boutons de tranche L et R.
Je ne vais pas passer en revu les différents paramètres car ils sont nombreux et assez évidents, mais si vous avez des questions n’hésitez pas à consulter le wiki officiel qui propose une page explicative pour chaque core comme ici ou passez sur notre Discord.
Voici tout de même quelques réglages que je vous conseille pour la Megadrive:
- Passer la région en US ou JP pour avoir une Megadrive en 60Hz.
- Allez ensuite dans Audio and Video et sélectionnez Corrected pour 320x224 Aspect afin d’avoir une image au ratio proche du rendu de l’époque.
- Pour toutes les autres options, laissez par défaut.
A partir du menu Genesis, vous pouvez appuyer sur le bouton droite de la manette pour accéder au menu System ou sur gauche pour accéder au menu Misc, Options qui permet de changer le volume.
Le menu System c’est celui qui va nous intéresser le plus.
Le premier paramètre Core permet de charger un autre core si vous décider de passer d’un jeu Megadrive à un jeu Master System par exemple.
Dans le second paramètre Define Genesis buttons vous pourrez reconfigurer les touches de votre manette pour ce core uniquement si vous le souhaitez.
Le menu Scale filter permet de choisir le rendu vidéo. Par défaut il est sur Internal, mais si vous le passez sur Custom vous pourrez ensuite sélectionner juste en dessous un fichier externe qui va configurer le rendu. Par défauts de nombreux fichiers sont proposés.
Tous les fichiers à la racines sont les plus recommandés mais vous pouvez farfouiller dans les sous répertoires si vous cherchez un réglage particulier.
Le deux réglages de référence sont:
- Interpolation (Sharp) pour un rendu en interpolation très précis. A utiliser si vous n’êtes pas en pixel perfect et que vous ne souhaitez pas de scanlines.
- Scanlines (Sharp) pour un rendu CRT très propre avec hybrid scanlines. Le Scanlines (Soft) est interessant aussi. Testez celui que vous préférez.
Il y a aussi des filtres LCD très réussi pour les consoles portables.
Ensuite n’oubliez pas de sélectionner Save settings si vous souhaitez sauvegarder toutes les modifications faites sur ce core.
Et pour finir avec ce menu System, vous pouvez rebooter le MiSTer en allant sur l’option Reboot tout en bas du menu.
MiSTer.ini : Ce qu’il faut savoir
Le MiSTer propose au travers de son fichier MiSTer.ini placé à la racine de la carte SD la possibilité de configurer divers paramètres.
Pour l’éditer vous pouvez l’ouvrir dans un éditeur de texte basique comme le bloc-note Windows, mais le plus simple est d’utiliser l’outil présent dans les scripts. Pour lancer l’outil d’édition du MiSTer.ini : Sur le premier menu après allumage du MiSTer, faites "Menu back" puis allez dans scripts. Lancez le script qui s’appelle ini_settings.
Dans ce fichier .ini il y a beaucoup de paramètres, mais voici les réglages principaux que vous aurez surement besoin de modifier:
video_mode :
- pour régler la résolution d’affichage. Si vous avez un écran 1080p et que vous ne souhaitez pas jouer avec des scanlines et ni en pixel perfect, sélectionnez « 1920x1080 60Hz ».
- Si vous désirez jouer avec scanlines et/ou en pixel perfect c’est le mode « 1280x720 60Hz » qu’il faut sélectionner.
- Et si vous avez un écran 4K le meilleur choix c’est le « 1920x1440 60Hz ». Mais attention tous les écrans 4K n’acceptent pas cette résolution.
vscale_mode : C’est un autre paramètre important qui définie la manière dont le MiSTer va upscale le rendu des jeux :
- Par défaut il est réglé sur scale to fit the screen height, c’est à dire que le MiSTer va upscale l’affichage pour remplir toute la hauteur de l’écran. Pour rappel les consoles comme la Megadrive ont rendu en 240p (240 pixels en hauteur) et que pour remplir les 720p ou 1080p de votre écran le MiSTer va devoir multiplier les pixels. Dans ce mode, l’upscaling ne sera pas entier, s’il faut upscaler le rendu de 3.2 fois pour remplir tout l’écran, il le fera. Les conséquences, ce seront des effets de shimmering (défauts visuels) lors des scrolling et des scanlines qui ne rendent pas bien. Mais combiné avec le filter Interpolation (Sharp) vu dans le paragraphe précédent, le rendu reste très propre.
- Le réglage suivant Use integer only va forcer le MiSTer à ne multiplier les pixels d’origine que par un nombre entier. Le jeu ne prendra pas tout l’écran mais ce sera pixel perfect (rendu plus propre) et les scanlines seront parfaites.
composite_sync: à activer si vous voulez brancher votre MiSTer sur une télé CRT avec la sortie VGA.
Les autres paramètres peuvent rester par défaut et ne seront utile que pour des cas très particuliers.
Je vous partage aussi une astuce très interessante: il est possible de définir dans le .ini le paramètre de scale filter qui sera utilisé par défaut sur tous les cores. On peut aussi les définir core par core. Par exemple, pour ajouter le filter Scanlines (Sharp) sur tous les cores sauf les cores GameBoy, Lynx et GBA où on mettra les filtres LCD voici ce qu’il faut ajouter à la fin du fichier MiSTer.ini :
Code:
; Default filters for video scaler and audio. Paths must be relative to scaler/audio filter filders without leading slash.
vfilter_default=Scanlines (Sharp).txt
[AtariLynx]
vfilter_default=LCD Color (Gameboy Color).txt
[GameBoy]
vfilter_default=LCD Monochrome (Gameboy).txt
[GBA]
vfilter_default=LCD Color (Gameboy Color).txt
Pour plus d’infos sur la configuration du MiSTer.ini : https://github.com/MiSTer-devel/Main_MiSTer/wiki/Configuration-Files
Le script indispensable: Update All
Comme vous l’avez vu le MiSTer a un système de scripts que l’on exécute et qui rend son utilisation plus agréable. La communauté est très active et propose tout un tas de scripts interessants que l’on peut ajouter aux scripts de base.
LE script indispensable c’est le Update All !
C’est une compilation de plusieurs scripts qui va principalement :
- Lancer le script officiel de mise à jour des cores (celui qu’on a utilisé quelques paragraphes plus haut)
- Télécharger les cores développés par Jotego. Il s’agit d’un programmeur qui développe principalement des cores arcade dont le CSP2.
- Télécharger les bios nécessaires à certains systèmes installés comme le Mega CD
- Télécharger les roms arcade manquantes
- Réorganiser les répertoires des bornes d’arcade (par année, par développeur, etc)
Pour l’installer, rendez vous sur la page officiel GitHub du script et cliquez sur le lien proposé dans le paragraphe "Setup". Téléchargez et dézippez le update_all.sh dans le répertoire /Scripts de la carte SD.
A noter que dans le cas où vous voulez stocker vos jeux sur support externe, il faudra téléchargez une autre version du script toujours proposée sur le GitHub (voir Alternative Setups).
Remettez ensuite la carte SD dans le MiSTer, allez dans les scripts et lancez le Update_all. La première fois la mise à jour durera dans les 30 minutes, mais les fois suivantes ça ira beaucoup plus vite.
C’est un script vraiment très utile car il fait tout et récupère même les bonnes roms pour chaque borne d’arcade pour vous. C’est un gain de temps incroyable, car les cores arcade sont très sensible à la version des roms utilisés et si vous n’avez pas la bonne, le jeu ne se lancera pas.
Les accessoires conseillés
Le MiSTer reconnait une grande variété de périphériques USB.
Il reconnait aussi les dongles Bluetooth USB pour vos accessoires sans fils. Pour associer des périphérique bluetooth il faudra aller dans les scripts et utiliser le script qui a pour nom bluetooth_pair.
Le wiki officiel donne quelques conseils sur les meilleurs manettes, et un document en ligne alimenté par la communauté liste les manettes compatibles et leurs input lag.
Il faut savoir que le bluetooth est la pire connection pour brancher un pad au MiSTer, c’est le protocole qui ajoute le plus d’input lag. Si vous voulez jouer sans fils préférez en général les manettes avec dongle USB 2.4G. Mais le mieux reste évidemment de jouer avec fil. Le grand avantage du MiSTer étant l’absence d’input lag, ce sera dommage d’y jouer avec une manette qui ajoute de l’input lag ;)
Je vous partage aussi une liste d’accessoires que j’ai testé et qui s’avèrent très agréable à l’usage :
Hori Fighting Commander
Il s’agit d’une manette pensée pour les jeux de bastons avec six boutons en façade.
Dans le cadre du MiSTer, il est parfait pour toutes les utilisations: parfait pour les jeux d’arcade dont les Street Fighters évidement, mais aussi pour la Megadrive avec ses trois boutons alignés.
Elle a 4 boutons de tranche sur le dessus et les boutons du centre en façade sont tous reconnus par le MiSTer ce qui permet d’associer le bouton Menu du MiSTer sur un bouton indépendant.
Le feeling des touches est très bon et la croix très précise avec un très bon rebond. On sent effectivement qu’elle a été pensé pour les jeux de combats.
Elle existe en version PS4 et Switch aux alentours des 45 euros. C’est une manette uniquement filaire en USB pour limiter l’input lag et le cable est vraiment long (dans les 3m).
8bitdo M30
8bitdo est une marque très connue auprès des retrogamers pour la qualité de leurs produits. La M30 est un clone de la manette Megadrive 6 boutons avec deux boutons de tranche en plus sur le dessus et quatre boutons de menu sur le devant. Le feeling de la croix et des boutons est exactement le même que sur la manette 6 boutons Megadrive officielle (équivalent aussi au feeling de la manette Saturn 6 boutons japonaise). Tous les boutons sont bien reconnus par le MiSTer.
Elle existe en deux versions: 2.4G avec un dongle Megadrive et Bluetooth. Mais celle que je vous conseille surtout c’est la version 2.4G que l’on peut utiliser branchée en USB au MiSTer pour le zéro input lag. En effet l’input lag est nulle dans cette configuration contrairement à la version Bluetooth branché en filaire. Elle est vendue dans les 30 euros.
Nintendo SNES Switch
Nintendo a sorti une manette officielle SNES pour la Switch pour être utilisée avec leur application SNES proposée aux abonnées online. Cette manette à l’avantage d’être officielle, donc de très bonne qualité, et d’être reconnue en USB et en bluetooth par le MiSTer. Idéal pour jouer à la Super Nintendo, mais avec ses 4 boutons en facade disposée en losange je trouve que le feeling sur les jeux d’arcade ou la Megadrive n’est pas là.
Sega Astro City Arcade Stick
Sorti l’année dernière au Japon et en juin prochain en l’Europe, le stick Astro City a d’abord été pensé pour être branché en USB sur la mini borne Astro City mais est parfaitement reconnu par le MiSTer. Il a l’avantage de proposer un look d’enfer et un stick / boutons de marque Sanwa (le top du top!) pour des sensations arcade authentiques. Il est vendu 180 euros.
Official Raspberry Pi Keyboard & Mouse
Pour le clavier j’ai opté pour le modèle officiel Raspberry Pi qui est très compacte tout en disposant de toutes les touches nécessaire en qwerty. Il fait même office de hub USB avec 3 prises pour y brancher la souris par exemple.
Pour être un minimum exhaustif, je trouve que les manettes Retro-bit Saturn sont très bien aussi. Sinon le MiSTer est compatible avec les pads PS4 ou Xbox que tout le monde doit avoir chez lui.
Conseils supplémentaires
Trouver des roms
Le meilleur moyen de trouver des roms pour consoles ou ordinateurs c’est d’aller sur https://archive.org.
Petite astuce pour les chercher : Tapez vos mots clés dans le champs de recherche, puis classez les résultats par vues. Les plus vus sont souvent les pack de roms les plus interessants ;)
Autre astuce dans l’utilisation d’Archive.org : Si vous tombez sur des fichiers .zip très gros alors que seuls quelques jeux vous intéresse dedans, vous pouvez tout à fait consulter le contenu du .zip et télécharger seulement les éléments qui vous intéresse. Pour cela il faut:
- Dans la fenêtre "Download Options" de droite, cliquez sur le lien "Show All" tout en bas.
- Naviguez dans les répertoires pour trouver le fichier qui vous intéresse
- Une fois que vous l’avez trouvé, cliquez sur "View Contents".
- Vous pourrez alors voir le contenu du .zip et télécharger les fichiers qui vous intéresse.
La NeoGeo
Si vous souhaitez jouer à la NeoGeo sur MiSTer vous aurez besoin des Darksoft roms comme indiqué sur la page officielle du core. Il s’agit de roms dans un format différent de celles que vous utilisez sur les émulateurs NeoGeo.
Pour trouver ces roms, cherchez "Darksoft" sur Archive.org, affichez les résultats par vues et vous devriez trouver votre bonheur. Les jeux sont à dézipper dans le répertoire /games/neogeo.
L’Amiga
Pour l’Amiga vous pouvez trouver les jeux au format disquette, et y jouer comme à l’époque. Mais je vous conseille plutôt d'utiliser MegaAGS. Il s’agit de l’image d’un disque dur Amiga rempli de jeux et d’un logiciel qui permet de les lancer par l’intermédiaire d’une interface assez cool.
Pour le détail de l’installation et les liens, je vous conseille de jeter un oeil à cette vidéo : https://youtu.be/VhUsCgTI0o0
Petit défaut : j'ai eu quelques soucis de sauvegarde avec certains jeux.
MiSTer FPGA et HDMI CEC
Le protocole HDMI CEC permet à différents appareils branché en HDMI de communiquer entre eux. Exemple : l’allumage de votre box allume automatiquement la télé.
Or le cable HDMI du MiSTer est alimenté par du courant même quand le MiSTer est éteint et cela peut perturber le protocole CEC de votre téléviseur. Si c’est le cas, vous pouvez débrancher le cable HDMI après chaque utilisation ou acheter un petit adaptateur HDMI Non CEC comme celui-ci que j’ai testé et qui marche très bien.
Borders Super GameBoy
Le core Game Boy peut fonctionner comme un Super Game Boy avec les bordures ajoutées autour des jeux. Pour télécharger les borders du Super Game Boy, vous trouverez le lien ici.
Installation de DOS et Windows 95
Le core ao486 reproduit le fonctionnement d’un PC avec processeur 486 et carte sound blaster du début des années 90. Vous pouvez donc y installer DOS et même Windows 95.
Si vous êtes motivé, le mieux est de suivre cette série de tutos réalisé par James MacKenzie. Il y a 9 parties, accrochez vous !