A force de lutter pour se rapprocher toujours plus de l'original, j'ai fini par mettre en évidence certains problèmes récurrents.
J'ai donc décidé d'en faire le résumé ici. Je fais également mentions de quelques problèmes dont personne ne parle jamais au sujet du 15Khz.
Ce FAQ est complémentaire à ce lui de Wovou : A LIRE: Réponses aux questions récurrentes
FAQ
Q : J'ai téléchargé une version de MAME, mais je n'ai pas de fichier mame.ini avec, comment créer un fichier de paramètre compatible avec ma version ?
R : Il faut passer par la ligne de commande et entrer :
Code : Tout sélectionner
mame -cc
R : Ouvrez le répertoire de MAME dans l'explorateur Windows, puis faite un clic droit, et faite "Nouveau > Raccourci"
Lorsqu'il vous demande quel programme voulez-vous ciblez, vous entrez "CMD". Et vous validez. Faite alors clic droit sur le raccourci fraichement créé.
Séléctionnez "Propriété", puis supprimez le contenu de la case "Démarrer dans :", et enfin validez. En ouvrant le nouveau raccourci vous aurez accès à la ligne de commande ciblant votre dossier de MAME directement.
Q : Pourquoi lorsque je lance un jeu, il s'exécute à toute vitesse ?
R : Quand MAME n'a pas de synchronisation à respecter avec l'affichage, il se synchronise avec le CPU.
Pour rétablir la vitesse d'origine, il faut éditer le fichier mame.ini :
Code : Tout sélectionner
throttle 1
R : Il faut synchroniser votre émulation avec l'écran, mais comment ? Trois possibilités
- Attendre la synchronisation verticale
- Synchroniser le rafraichissement du moniteur
- Activer le "Triple buffering"
Selon les cartes graphiques, les émulateurs, les modes vidéos et les écrans, les combinaisons sont légions, alors je vous conseil d'essayer dans le mame.ini :
- WaitVSync pour commencer
Code : Tout sélectionner
waitvsync 1
syncrefresh 0
triplebuffer 0
throttle 0
Code : Tout sélectionner
waitvsync 0
syncrefresh 1
triplebuffer 0
throttle 1
Code : Tout sélectionner
waitvsync 1
syncrefresh 0
triplebuffer 1
throttle 0
R : C'est parce qu'il se peut qu'en mode Direct3D, l'émulateur n'est pas la main pour les paramètres graphiques, il faut alors aller voir du côté des paramètres de la carte graphique.
Dans notre cas, pour les ATI par exemple, pour activer la V-Sync de la carte graphique faite un clic droit sur l'icône ATI de la barre de notification.
Sélectionnez la carte graphique, puis "Paramètres 3D", puis "Attendre le rafraichissement vertical" et cliquer sur "Toujours activé".
Q : Pourquoi est-ce que mon image est déformée ou floue ?
R : Parce qu'un filtre ou qu'un stretch est activé.
- Pour le désactiver en mode DirectDraw.
Code : Tout sélectionner
hwstretch 0
keepaspect 1
Code : Tout sélectionner
filter 0
keepaspect 1
- Vous ne pouvez pas modifier les paramètres graphiques en mode GDI.
Q : J'ai beau tout bien configurer, mon jeu saccade parfois ou tourne au ralenti, pourquoi ?
R : Sur les PC les plus anciens il est recommandé d'utiliser des versions plus anciennes de MAME.
MAME évolue avec l'amélioration des composants informatiques. Toutefois, il est possible de gagner quelques FPS sur les jeux les plus récents, même avec des CPU faibles en cadence.
- Oubliez les émulateurs du style : MAME Plus, MAME Plus Plus, MAME Plus! Plus! XT, voir ThunderMAME Plus! Plus! XT UI32, les anciennes versions étaient réellement mieux programmées, mais les version avec GUI les plus récentes sont de véritables usines à gaz. Préférez plutôt des émulateurs téléchargés directement sur le site de MAMEDev.org. Sinon il existe quelques versions de MAME vraiment optimisées pour la performance comme MAME Slowpoke, mais leurs développement ont tous été abandonnés.
- Préfèrez le mode Direct3D qui bénéficie d'une meilleur accélération matériel que DirectDraw.
Code : Tout sélectionner
video d3d
J'ignore quel impact cela à sur MAME, mais les performances sont bien meilleures.
- Réglez tous les paramètres 3D de ta carte graphique au minimum pour préférer la performance à la qualité qui ne sera pas altérée à une si faible résolution.
- Essayez de libérer au maximum les ressources de Windows en fermant toutes les applications inutiles. Dans le cas d'un MAMECab (ordinateur dédié à l'émulation), n'hésitez pas à éviter les anti-virus, les drivers de carte réseaux et autre thèmes d'apparences de fenêtres.
Désactivez un maximum de services Windows, sauf les indispensables (pour Windows XP, peut varier selon version) : Gestionnaire de comptes de sécurité, Journal des événements, Lanceur de processus serveur DCOM, Services Terminal Server, Plug-and-Play, Appel de procédure distant (RPC), Audio Windows, Détection matériel noyau, Infrastructure de gestion Windows, et Système d'événements de COM+
- Si votre carte graphique et votre écran le permettent, tentez d'activer le "SwitchRes", parce que l'adaptation graphique de l'affichage est gourmande en ressource.
Code : Tout sélectionner
switchres 1
R : Oui, mais il faut veillez à ce que Windows soit paramétré en 640x480 et avec un rafraîchissement de 60Hz.
1 - Allez dans le "Panneau de configuration"
2 - Ensuite dans "Affichage"
3 - Cliquez sur le bouton "Avancé"
4 - Et allez dans "Ecran"
5 - Décochez la case "Masquer les modes que ce moniteur ne peut pas afficher"
6 - Enfin, allez dans "Carte" et cliquez sur le bouton "Lister tous les modes"
7 - Allez sur la ligne "640x480, Couleurs vraies 32bits, 60 Hz", et surtout RIEN D'AUTRE. En validant vous forcez la résolution sur du véritable VGA.
Après il se peut que l'image ne soit pas centrée par rapport à l'écran, même en réglant avec la télécommande de l'écran, ça se règle avec le menu prévu par le pilote de ta carte graphique.
Pour être sur que MAME ne vous fasses pas de blague en switchant sur une résolution différente :
Code : Tout sélectionner
switchres 0
R : Pour améliorer le son, il peut être nécessaire de le synchroniser.
Dans GroovyMAME, vous pouvez configurer comme ça :
Code : Tout sélectionner
soundsync 1
Code : Tout sélectionner
audio_latency 1 (jusqu'à 5)
Code : Tout sélectionner
refreshspeed 1
R : Sur les cartes graphique ATI avec des drivers récents, cette résolution n'est plus correctement prise en charge. Sur un écran LCD, les proportions ne sont pas correctement respectée et sur un CRT, on a le droit à un DoubleScan ce qui fait disparaitre l'effet du 15Khz.
Avec MAME, vous pouvez tenter de ruser un peu en affichant du 640x240. Ca revient à accoler deux pixels identiques sur la ligne horizontale au lieu d'un seul en original et du coup, on ne verra aucune déformation une fois l'image ajustée sur l'écran.
Pour cela créez un fichier [nom_du_rom].ini dans le dossier "INI" de MAME avec pour contenu :
Code : Tout sélectionner
resolution 640x240
Code : Tout sélectionner
resolution 321x240
Pilote compatible Catalyst 6.5 - Windows 32Bits
Pilote compatible Catalyst 6.5 - Windows 64Bits
Pilote compatible Catalyst 9.3 - Windows 32Bits
Pilote compatible Catalyst 9.3 - Windows 64Bits
Pour les autres marques de carte graphique, c'est encore plus compliqué, car le 15Khz est encore moins bien pris en charge, même avec Soft15Khz.
--- Attention toutefois si vous êtes connecté à un tube cathodique de type TV ou moniteur d'arcade.
Je rappel que si la carte graphique envoie une résolution non prise à charge par le CRT, vous risquez la panne.
Dans le cas d'un moniteur PC, les résolutions non prises en charge par le CRT seront tout simplement refusées, vous n'aurez donc pas de question à vous poser.
Dans le cas contraire renseignez vous sur le 15Khz. ([TUTO] Configurer sa carte graphique pour afficher du 15Khz) ---