Cela fait quelques années que je m'amuse à découvrir les innombrables combinaisons de paramètres de MAME.
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 :
mame -cc
Q : Comment ouvrir une ligne de commande qui soit déjà ciblé dans le répertoire de MAME ?
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 :
throttle 1
Q : Un effet disgracieux de balayage apparait sur mon écran, comment éviter ça ?
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 :
waitvsync 1
syncrefresh 0
triplebuffer 0
throttle 0
- Sinon,
SyncRefresh avec le
Throttle
Code :
waitvsync 0
syncrefresh 1
triplebuffer 0
throttle 1
- Enfin, si aucun résultat,
TripleBuffer avec le
WaitVSync.
Code :
waitvsync 1
syncrefresh 0
triplebuffer 1
throttle 0
Q : Je ne comprend pas, je suis en mode Direct3D, et pourtant quand j'active "syncrefresh" ou "waitvsync", je n'ai aucun changement, et j'ai un effet de balayage qui ne part pas, même avec le "triplebuffer" ?
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 :
hwstretch 0
keepaspect 1
- Pour le désactiver en mode
Direct3D.
Code :
filter 0
keepaspect 1
Toutefois, à l'exception de quelques émulateurs comme
GroovyMAME qui recalcule les proportions ou d'anciens émulateurs qui avaient l'option
"CleanStretch", l'image est souvent déformée en mode
Direct3D (excepté pour les affichages
4:3 en 320x240, 640x480, ect ...)
- 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 :
video d3d
- Veillez à ce que les drivers pour votre carte graphique soit à jour.
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 :
switchres 1
Q : Est-ce que je peux afficher MAME en 31Khz, et me passer de 15Khz, sur un moniteur d'arcade Trifréquence en le branchant directement par le cable VGA ?
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 :
switchres 0
Q : Dans MAME le son est vraiment de mauvaise qualité, il saute et grésille ?
R : Pour améliorer le son, il peut être nécessaire de le synchroniser.
Dans GroovyMAME, vous pouvez configurer comme ça :
Code :
soundsync 1
Dans MAME, essayer de réduire ou augmenter l'Audio Latency :
Code :
audio_latency 1 (jusqu'à 5)
Ou bien de forcer la synchronisation entre l'affichage et la vitesse du jeu :
Code :
refreshspeed 1
Q : Je ne comprend pas pourquoi, j'arrive à faire un SwitchRes dans presque toutes les résolutions grâce à Soft15Khz, sauf en 320x240, pourquoi ?
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 :
resolution 640x240
Avec
GroovyMAME, vous devriez pouvoir afficher correctement si vous passez par une résolution de 32
1x240. Pour cela créez un fichier
[nom_du_rom].ini dans le dossier
"INI" de
GroovyMAME avec pour contenu :
Code :
resolution 321x240
Sinon, je peux vous conseiller de revenir à d'anciens drivers
ATI qui avaient moins de mal avec cette résolution. Ou tout simplement prendre des drivers Calamity :
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) ---