Préparation intellectuelle pour la conception d'une box

en 15kHz, 31kHz ou HD

 
Aujourd’hui, je vous propose le 1er article d’une longue série consacrée à la réalisation d’un des plus gros travaux que j’ai eu l’occasion de faire, à savoir la construction/configuration d'une MameBox. Le but de cette première partie sera de poser les bases du projet, de répondre aux questions « Pourquoi ? Avec quoi ? Comment ? », d’éviter quelques pièges et de se faire un plan de route pour ne pas partir en aveugle dans ce long chantier. En piste !
 

Une MameBox, pourquoi ?

 
Les raisons pouvant être aussi diverses nombreuses, je vais vous exposer les miennes. Etant un énorme fan de Street Fighter III 3rd Strike, j’ai investi peu après l’achat de ma première borne dans un ensemble système CPS-3/Third Strike, le système considéré comme le plus fragile, le plus instable et sans aucun phoenixage des jeux possibles à l'époque. Je me suis éclaté dessus pendant des mois jusqu'à un jour fatidique où il y eut une coupure d’électricité dans mon quartier pendant une session et au redémarrage de ma borne, j’ai eu la mauvaise surprise de voir plus 350€ s’envoler… N’ayant pas les moyens de m’en repayer un, je suis resté longtemps sans pouvoir jouer à mon jeu favori, une situation très frustrante après autant de fric dépensé croyez moi !
Ensuite, je suis quelqu’un qui aime faire partager cette passion de l’arcade à tous, ce qui m’amène souvent à éteindre ma borne, changer de système pour mettre tel jeu, rebooter… Ce qui n’est vraiment pas conseillé dans l’utilisation d’une borne et de systèmes arcades qui, je le répète, ne sont pas une console de jeu.
N’ayant pas énormément de moyens (un peu au dessus du Smic), je ne pourrai jamais m’offrir tous les jeux que j’aime dans leur format original ainsi que leurs systèmes, bien que j’en possède une grosse partie de leurs adaptations console.
Et pour finir, le défi technique, l’envie d’apprendre un peu plus ainsi que le fait d’avoir un produit « Home-Made » répondant exactement a ce que je voulais et qui serait le fruit d’un travail personnel.
C’est donc pour toutes ces raisons que j’ai longtemps réfléchi, d’abord à l’achat d’un XXX en 1 sachant qu’aucun ne me satisferait complètement, puis à la conception d’un PC que je pourrai intégrer dans mes bornes. Une petite vidéo de Aburamushi, un membre quelques forums arcade, est la chose qui m’a réellement motivé pour commencer, la voici :
Au final, c'est a vous de trouver vos raisons mais je pense avoir résumé les principales.
 

 Street Fighter III 3rd Strike, en Pixel Perfect, tournant sous une MameBox 15kHz

MameBox hyperspin

 

Une Mamebox, comment ?

 
Comment je pensais ma MameBox ? Je voulais pouvoir jouer à mes jeux d’arcade mais aussi avoir d'autres émulateurs pour profiter de quelques titres de ma jeunesse sur Megadrive, Super Nintendo, etc. Donc pas que Mame mais un système multi-émulateurs.
L’idée qui fut le fil conducteur de tout ce projet réside dans l’envie d’avoir une machine restituant les jeux identiques au support d’origine, c'est-à-dire un rendu dit « Pixel Perfect », même résolution, même fréquence de rafraîchissement, même vitesse de jeu…
J'ai commencé mes recherches par la base, à savoir la config qu'il me faudrait dans l’idée de faire tourner sans problème les systèmes auxquels je joue le plus, à savoir le CPS-2, le CPS-3, le MVS, l’Atomiswave, le Type X2, le Naomi… tout en fait.
Mais vous verrez dans la suite de cette article et tout le long de cette série que la configuration d’une MameBox vous obligera à faire des concessions, des restrictions matérielles et logicielles vous forceront à faire des choix souvent difficiles, mais toujours bénéfique, croyez moi.
J'ai appris en chemin que dans ce projet, la polyvalence est l'ennemi du bien et de la sécurité donc pour ne pas vous faire perdre de temps, ce que je vous conseille, c’est de partir d’une feuille blanche et de noter :
- Pour quelle utilisation ? (Dans une borne 15kHz ? Dans une borne 31kHzSur un écran LCD ? Juste en "Media Center" ?)
- Quelle config et comment la relier à la borne ? (question traitée dans « avec quoi »)
- Quelles systèmes pourrais je mettre dedans ? (cela ne dépendra pas de ce que vous voulez mais des réponses aux 2 questions précédentes, mais notez quand même vos envies)
En fonction de vos réponses et de la lecture du reste de l’article, vous aurez surement une idée plus précise du produit final.
 

Selon la borne et son type d'écran, il va falloir faire des choix

hyperspin 15Khz 31Khz borne

 

Une MameBox, avec quoi ? Configuration matérielle

 
Commençons par le cœur de votre installation, à savoir le PC.
La configuration nécessaire à votre projet va dépendre en grande partie des systèmes que vous comptez émuler. Mame par exemple n'utilise que de la ressource processeur, un émulateur Naomi ou console type Playstation 2 exigent une carte graphique très puissante… Il n’existe donc pas de configuration type. Le choix des composant est assez libre, vous pourrez très bien vous tournez vers une tour de 4 ou 5 ans comme partir sur une config actuelle. A titre d’indication, pour moi la configuration mini/recommandé/maxi sans la carte graphique, vous allez comprendre pourquoi ensuite :
- Processeur : AMD 3000+ / Core2duo / I5 ou I7 Quad Core
- RAM : 1Gb / 2Gb / 4Gb
- Disque dur : cela dépendra du nombre de jeux et de systèmes que vous voudrez. Le mien fait 300Go et je n’utilise que la moitié avec un peu plus de 500 jeux, vidéos… Un SSD est conseillé pour gagner en rapidité.
- Alimentation : 300W / 500W / 600W
En ce qui concerne le boîtier, vous pouvez soit choisir de garder le votre et de le mettre dans votre machine ou à coté, soit partir sur un boitier plus petit type mini-ATX, où la solution que j’ai retenu, vous passer de boîtier et fixer l’ensemble sur une planche dans votre borne comme vous le feriez pour une PCB, la circulation de l’air donc le refroidissement de vos composants en sera amélioré. Vous pouvez également vous passer de lecteur CD, vous pouvez tout faire via une clé USB, vous économiserez au passage de la mémoire ainsi que de l’électricité.
En guise d’exemple, voici le Hardware de ma MameBox :
- Carte mère Asus P5K
- Processeur Intel Core2Duo E6850 3GHZ
- 4 GB de RAM DDR2 OCZ PC6400
- HDD Seagate 2.5 320go en 7200t/m
- Alimentation Corsair 620w
 

Cette config montée sur une planche et intégrée dans une Egret 2

MameBox hyperspin configuration harware
 
Cette configuration est suffisante pour Mame, ainsi que tous les émulateurs des cconsoles pré-16bits, ces émulateurs ne demandant quasiment que de la ressource processeur, cependant n'espérez pas faire tourner correctement Demul pour l'Atomiswave et le Naomi, Dolphin pour Gamecube/Wii ou PCSX2 pour la Playstation 2. De nombreux bugs graphiques et ralentissement rendent beaucoup de jeux injouables dans leurs conditions d’origine. Ces émulateur demandant de plus grosses ressources graphiques, tournez vous vers des modèles de processeurs et de cartes graphiques plus récentes. Après, en réfléchissant, quel intérêt de mettre des systèmes 31kHz dans une MameBox only 15kHz ? Très peu voir aucun, donc à vous de voir…
Seul problème, les drivers Calamity pour envoyer du 15 Khz ne sont pas compatibles après la série des HD 4XXX de chez ATI, donc là se pose le plus gros choix de toute ma configuration, soit avoir une MameBox qui ne contiendra pas tous les systèmes mais sera only 15Khz avec le rendu que je recherche, soit avoir tous les systèmes qui tournent correctement mais impossible à mettre dans une borne avec écran 15/31khz OU avec des risques de péter mon écran. A vous de voir avec la config que vous avez.
Maintenant vient donc le choix de la carte vidéo. 2 Hypothèses :
- Soit vous avez décidé de faire tourner tout ca sur un écran LCD ou de nouvelle génération. Dans ce cas, aucune limitation hardware, vous pouvez prendre celle que vous avez sous la main ou que voulez acheter pour composer votre machine de guerre ;
- Soit, vous êtes dans le cas que je vais traiter ici, vous voulez intégrer votre MameBox dans une borne avec un écran 15kHz voir Tri Fréquence, où même sur un ancien téléviseur et un supergun. Là ça va se corser car le choix est plus restreint.
Pour résumé, les fréquences d’affichages ainsi que les résolutions utilisées dans nos jeux d’arcade et supportées par nos écrans de bornes ne sont plus du tout d’actualité et nécessite de préparer votre système pour que votre carte graphique envoie des images dans un format que l’écran pourra afficher au format original et sans risque de claquer. Avant de continuer, vous devrez lire ce superbe topic fait par Graham et le retenir : http://www.neo-arcadia.com/forum/viewtopic.php?f=12&t=34735
Pour compléter ce lien, voici le lien du topic recensant les cartes graphiques compatibles avec Soft15Khz : http://community.arcadeinfo.de/showthre ... afikkarten
Je suis parti sur une carte ATI HD4870 vu que je comptais utiliser les drivers Calamity. Ce n’est peut être pas la meilleure solution, Soft15Khz donnant plus de choix quant au modèle de carte graphique et est surement plus simple à configurer, mais c’est celle que j’ai choisi pour des raisons de simplicité.
 

Une petite ATI X800 à 10€ sur le bon coin est un bon choix pour l'installation des Calamity Drivers

15Khz 31Khz caret graphique ATI radeon

 
Passons maintenant à l’interface qui reliera votre PC à votre borne, donc à son écran, ses enceintes et son control panel. Encore une fois cela dépendra de ce que vous souhaiter faire.
Soit vous partez sur une intégration dans une borne home-made avec écran LCD, là rien de plus simple :
- Pour l'image, vous reliez directement votre écran LCD à votre PC en VGA, DVI ou HDMI selon les sorties de votre carte graphique ;
- Pour le son, vous reliez directement votre télé ou vos enceintes à votre PC, soit par un cable jack ou un adaptateur jack/RCA selon les entrées de votre écran ;
- Pour les contrôles, vous avez le choix entre plusieurs options, je vous conseille de regarder chez notre partenaire SmallCab, vous y trouverez certainement votre bonheur rubrique Interface, "Encodeur Clavier" ou "PS360+", cette dernière carte permettant de se relier soit sur un PC, une PS3 ou une Xbox 360 : http://www.smallcab.net/interfaces-c-32.html
 

La PS360+ avec son cable Neutrix

MameBox
 
Soit vous partez sur l'intégration dans une borne Jamma, la c'est un peu différent. Il existe une multitude de choix mais je ne vais me concentrer que sur 2 qui, pour moi, sont les plus complètes et adaptées à notre intégration :
- Le JammASD : http://www.arcadeshop.de/product_info.p ... anguage=en
- Le J-PAC : http://www.ultimarc.com/jpac.html
Les 2 interfaces sont disponible chez notre partenaire SmallCab ici : http://www.smallcab.net/interfaces-vers-port-jamma-c-32_76.html
En résumé, les 2 interfaces se connectent au JAMMA de la borne, disposent d’un port VGA si votre écran possède une prise de ce format, de borniers pour connecter des boutons supplémentaires, possède un jumper de sécurité qui filtrera le signal qui arrivera à l’écran pour éviter de lui faire manger une fréquence/résolution qu’il ne digérerait pas, sont Plug & Play mais nécessitent un port PS/2 sur votre carte mère (excepté la version USB du nouveau J-PAC). Elles sont toutes 2 reconnues dès leur branchement et ne demandent aucun driver supplémentaires, les boutons étant reconnus comme des touches de clavier, la configuration de base étant celle de Mame par défaut.
Chacune ont leurs avantages et leurs inconvénients (le JammASD dispose d’un ampli sonore qu’il faudra bricoler pour un J-PAC, cette dernier ayant des boutons et des configurations plus élaboré que sa concurrente…), il n’appartient qu’a vous de choisir. Ayant acheté ma config avec un JammaSD, c’est celle-ci que j’utilise.

Les 2 cartes physiques : JammaSD à gauche, JPAC à droite

Jamma hyperspin 15Khz 31Khz borne jammasd
 
Soit vous partez sur l'intégration dans une borne JVS, c'est encore autre chose.
- Pour l'image, vous reliez directement votre écran 31kHz au PC via le VGA ;
- Pour le son, vous reliez directement votre ampli stéréo à votre PCavec un adaptateur jack mâle/RCA ;
- Pour les contrôles, 2 interfaces existantes, le JVS-PAC et le JVStrike (un clône), qui ont exactement les mêmes fonctionnalités. Vous branchez votre USB JVS dans le port USB femelle et vous reliez l'interface au PC via l'autre port. La configurations des contrôles est celle de Mame par défaut.

Les 2 cartes physiques : Un JVS PAC à gauche et JVStrike à droite

MameBox hyperspin 15Khz 31Khz borne jamma

 
 

MameBox, avec quoi ? Configuration Logicielle

 
Première question, quelle OS dois je prendre ? Éliminons tout de suite les projets de MameCab sur écran HD qui accepte tout et concentrons-nous sur une config à intégrer dans une borne 15 ou 31kHz.
3 systèmes peuvent être utilisés, à savoir Windows Xp 32bits, Xp 64bits et GroovyArcadeLinux. Je mets volontairement de coté Linux que je ne maîtrise pas (mais qui est pourtant une des solutions les plus performantes) pour me concentrer sur les OS de Microsoft.
Pour Linux, LE sujet : http://www.gamoover.net/Forums/index.php?topic=25470.0
J'ai d'abord commencé sur une version 32bits, pas de problèmes rencontrés dessus, tous les émulateurs fonctionnent sans problèmes, les drivers Calamity aussi. Je suis ensuite passé sur une version 64bits, aucun problème non plus, je suis donc resté sur cette dernière.
Donc rien n'est forcé, libre a vous de choisir entre Windows XP 32 et 64bits, ou Linux.
Un détail qui peut avoir son importance pour vous, Mame est un des rares émulateurs à tirer profit d’un système 64bits, surement du au fait qu’il n’utilise quasiment que le processeur pour effectuer tous ses calculs. Voila un petit tableau bien intéressant sur le gain que l'on peut avoir sous Mame avec du 64 bits par rapport a du 32 bits :
----------------------------------------------------------------------
-CPU--------------------Pentium4----E6300----E6300----E6300----E6300--
-Clockspeed---------------2.53-------2.45-----2.45-----2.45-----2.45--
-OS-Used------------------XP32-------XP32---Vista64----XP64-----XP64--
-MAME-executable----------32bit-----32bit----64bit----32bit----64bit--
----------------------------------------------------------------------
-Killer-Instinct-2-------143.2%-----312.7%---365.7%---240.6%---276.7%-
-Cruisin-USA--------------55.4%-----131.9%---139.8%----96.6%---108.2%-
-Gauntlet-Legends---------30.1%------92.7%---107.6%----72.1%----82.8%-
-Blitz-2k-----------------27.9%------89.0%---101.9%----64.1%----72.8%-
-Gradius-4----------------19.2%------66.1%----75.4%----49.4%----58.7%-
-Starblade----------------37.3%------89.3%----83.6%----68.8%----64.2%-
----------------------------------------------------------------------
Deuxième question, quelle solution je choisi pour que ma carte graphique envoie du 15Khz à mon écran ? Je vous invite à relire le sujet de Graham cité plus haut pour relire toutes les infos.
J’ai pris l’option des Calamity Drivers, plus simple d’utilisation que Soft15Khz selon moi.
Nous reviendrons plus tard sur la configuration des drivers/soft compatible 15Khz.
En ce qui concerne le 31kHz, la quasi totalité des jeux tournant à cette fréquence son en 480p, donc en résolution de 640*480 non entrelacé. Il vous suffit juste de bloquer la résolution de votre écran à celle ci, SANS JAMAIS MONTER AU DESSUS SOUS PEINE DE FLINGUER VOTRE PLATINE.

Config Logicielle ? A vous de choisir !

MameBox hyperspin

 
Dernière élément, le Frontend. Qu’est ce qu’un frontend ? C’est une interface qui vous permettra de vous passer de clavier, de souris et ainsi de contrôler le lancement de vos jeux par votre control panel en remplaçant l’environnement bureautique de Windows par une interface graphique beaucoup plus sympa et intuitive qui colle parfaitement à l’esprit d’une borne d’arcade. Il en existe beaucoup mais, comme vous vous en doutez ici, j'ai très vite choisi HyperSpin.
Il en existe une multitude mais voici les plus utilisés :
- Hyperspin : http://www.hyperspin-fe.com/
- GameEx : http://www.gameex.com/
- Maximus Arcade : http://www.maximusarcade.com/
- Atomic FE : http://www.atomicfe.com/EN2/
- Mala : http://malafe.net/
Vous pourrez trouvez tout un tas d’autres vidéos de présentation d’utilisateurs sur Youtube. Dans tous les cas, aucune ligne directrice, tout est question de goût, certains préféreront l’ambiance animé et bruyante d’Hyperspin quand d’autres chercheront quelque chose de plus sobre et moins tape à l’œil comme GameEx.
Toutes ces infos sont le fruit de pas mal d’heures de recherche et de tests effectués par beaucoup d'autres et moi même, j’ai essayé d’être le plus simple et le plus complet possible.
 

Bonne Reflexion !

 

2 Comments

Laisser un commentaire