[FAQ] Tout ce que vous avez toujours voulu savoir sur MAME

Complémentaire à la partie Matos, vous trouverez ici de nombreux tutos. C'est communautaire, tout le monde peut créer un tuto.
Message
Auteur
Avatar de l’utilisateur
Graham
stick de zinc
Messages : 362
Inscription : 27 sept. 2008, 00:45
Localisation : Saint-Maur-des-Fossés (94)
A remercié : 0
A été remercié : 0

[FAQ] Tout ce que vous avez toujours voulu savoir sur MAME

#1 Message par Graham »

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 : Tout sélectionner

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 : Tout sélectionner

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 : Tout sélectionner

waitvsync                 1
syncrefresh               0
triplebuffer              0
throttle                  0
- Sinon, SyncRefresh avec le Throttle

Code : Tout sélectionner

waitvsync                 0
syncrefresh               1
triplebuffer              0
throttle                  1
- Enfin, si aucun résultat, TripleBuffer avec le WaitVSync.

Code : Tout sélectionner

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 : Tout sélectionner

hwstretch                 0
keepaspect                1
- Pour le désactiver en mode Direct3D.

Code : Tout sélectionner

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 : Tout sélectionner

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 : Tout sélectionner

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 : Tout sélectionner

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 : Tout sélectionner

soundsync                 1
Dans MAME, essayer de réduire ou augmenter l'Audio Latency :

Code : Tout sélectionner

audio_latency             1 (jusqu'à 5)
Ou bien de forcer la synchronisation entre l'affichage et la vitesse du jeu :

Code : Tout sélectionner

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 : Tout sélectionner

resolution                 640x240
Avec GroovyMAME, vous devriez pouvoir afficher correctement si vous passez par une résolution de 321x240. Pour cela créez un fichier [nom_du_rom].ini dans le dossier "INI" de GroovyMAME avec pour contenu :

Code : Tout sélectionner

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 :
:6: Pilote compatible Catalyst 6.5 - Windows 32Bits
:6: Pilote compatible Catalyst 6.5 - Windows 64Bits
:6: Pilote compatible Catalyst 9.3 - Windows 32Bits
:6: 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) ---
Dernière modification par Graham le 25 juil. 2012, 13:24, modifié 2 fois.

Avatar de l’utilisateur
kaneda56
Life is life
Messages : 9774
Inscription : 06 juin 2005, 22:04
Localisation : Paris 13eme
A remercié : 195 fois
A été remercié : 151 fois

Re: [FAQ] Tout ce que vous avez toujours voulu savoir sur MA

#2 Message par kaneda56 »

clair, précis, complet. What else?
Chapeau!
Image
"Les boutons rose du P2 font un sale bruit, j’arrive pas à jouer!!" Paroles de Sac

Avatar de l’utilisateur
Heavyarms
stick d'or
Contact :
Messages : 1425
Inscription : 21 janv. 2009, 22:21
Localisation : Près d'Orleans
A remercié : 0
A été remercié : 0

Re: [FAQ] Tout ce que vous avez toujours voulu savoir sur MA

#3 Message par Heavyarms »

Petite question sur ce topic, car j'ai un petit problème avec mon Groovymame qui me lances certains jeux a toute vitesse. J'ai bien mis throttle sur 1 mais ca ne change rien. Avez vous d'autres pistes ? Car j'ai déja chercher pas mal sur google, mais rien de concret.
Image

Image

Répondre