Gamoover

Vous aimez GAMOOVER ? Vous avez trouvé la perle rare grâce à notre forum ?
Alors pourquoi pas nous soutenir en effectuant un petit don Paypal sur : contribution@gamoover.net
C'est peut être un détail pour vous, mais nous, ça nous aiderait beaucoup !

Comment générer les bons modelines ?

Démarré par IIimanII, Dimanche 09 Février 2014, 14:10:59 PM

IIimanII

Salut à tous,

Petit nouveau, je tiens d'abords à vous remercier pour les bons conseils piochés dans les différents posts du forum.

Suite à une opportunité (merci Bobusan, j'ai cru comprendre qu'il fréquentait gamoover), j'ai récupéré un meuble zaccaria et décidé d'en faire un mamecab. J'y suis presque, il me reste simplement (enfin pas tant que ça) à faire tourner les jeux en réso native grâce à soft 15kHz.

C'est là que je coince un peu (beaucoup même)... j'ai suivi divers tutos et conseils notamment ceux de PseudoName pour configurer 15kHz. Tout fonctionne correctement lorsque j'utilise la config par défaut de soft 15kHz mais lorsque je veux utiliser mon propre fichier usermodes.txt l'image n'est plus du tout stable.

Je ne suis pas un intégriste du pixel mais si y'a moyen de faire tourner les jeux en réso native pourquoi ne pas essayer, d'où ma démarche de vouloir générer des modelines personnalisées.
J'ai utilisé l'outil en ligne modeline calculator (les fichiers proposés à l'époque par PseudoName n'étant plus dispo sur le forum) pour compléter mon fichier usermodes.txt reproduit ci-dessous:

modeline "320x224@60" 6.700 320 336 367 426 224 236 239 262  -hsync -vsync
modeline "320x224@59.9" 6.675189 320 336 392 424 224 236 257 266 -hsync -vsync
modeline "320x224@59.3" 4.86 320 304 336 352 224 225 228 233 -HSync +Vsync
modeline "320x240@57.550645" 5.04 320 304 336 352 240 241 244 249 -HSync +Vsync
modeline "448x224@59.17" 6.84 448 432 472 496 224 225 228 233 -HSync +Vsync
modeline "256x224@59.6" 3.78 256 240 264 272 224 225 228 233 -HSync +Vsync
modeline "320x240@54" 4.71 320 304 336 352 240 241 244 248 -HSync +Vsync


la liste des réso qui m'intéresse est volontairement faible car je préfère une liste de jeux auxquels je joue plutôt qu'une liste exhaustive, je veux dire par là que je n'ai pas besoin d'un fichier qui regroupe toutes les réso de la terre mais seulement celles des jeux auxquels je joue régulièrement. En plus, j'ai dédié cette borne aux shmups verticaux  :D...

les réso du fichier (320x224@59.3 par exemple) sont celles indiquées dans les propriétés des jeux dans mame.

Mes questions:
- Comment générer les bons modelines ?
- y'a t'il une syntaxe à respecter dans le fichier usermodes.txt?
- j'ai lu aussi que ce fichier pouvait s'appeler d'une autre manière (custom15khz.txt), quel nom choisir?

j'utilise une radeon série 7000 (driver ATI 6.11)et un combi daewoo désossé par mes soins avec un tube Orion (si ça peut vous aider...). Les 2 sont interconnectés par un câble de ma fabrication vga/peritel (je suis bien content d'avoir réussi à le faire ce machin là  :D )

Désolé si mes questions ont déjà été posées... mais j'arrive pas y répondre en recoupant les infos dont je dispose..

A votre bon cœur !

acepad

#1
salut à toi,

j'ai testé le logiciel que tu utilise et apparemment il n'est pas bon pour générer des modelines basse résolution. Je te conseilles celui-ci qui est similaire au tien visuellement,mais  il calcule à la perfection les modelines basse résolution et il propose beaucoup plus d'options de réglages, il est vraiment bien pour affiner les modelines, car tu peux modifier le Pixel Clock Frequency très précisément jusqu'à 4 ou 5 chiffres après la virgule afin de pouvoir te rapprocher au maximum de la vitesse originale du jeu :

http://www.epanorama.net/faq/vga2rgb/calc.html

dans ce dernier il te suffit de coller la ligne de ton modeline dans le 1er champ du haut (supprime @59.9 sinon ça ne marche pas) et valider sur "import modeline" afin d'afficher et de pouvoir modifier les paramètres de ton modeline (les khz, les Hz, la Syncro horizontal et vertical). ensuite lorsque tu clique sur "calculate" il te génère à nouveau ton modeline avec les paramètres modifiés.


- Rester approximativement à 15KHZ Horizontal sync frequency , certaines carte graphique fonctionnent entre 14.40 et 16khz plus ou moins, ces chiffres varient d'une carte graphique à l'autre, idem selon les drivers utilisé, plus ils sont vieux mieux c'est... plus la carte est vieille mieux c'est car elle supportera mieux la basse résolution tu aura plus de marge.

- Rester approximativement entre 3 et 4 microseconds pour la h sync pulse

- Rester approximativement entre 200 et 300 microseconds pour la v sync pulse


Coté "Horizontal timing parameters" tu dois utiliser toujours des multiples de 8.
EX: Dans le champ "Sync pulse" indiquer 16 ou 24 et dans les champs Back Porch et Front Porch 48 et 32.
Bien entendu ces chiffres sont approximatifs selon la résolution qu'on veut créer, ils peuvent plus ou moins varier. Mais ces chiffres sont souvent repris..

Coté "Vertical timing parameters" pas de restriction de multiple de 8 mais dans le champ "Sync pulse" indiquer 3 ou 4 pas plus.



IIimanII

Je te remercie pour ta réponse Acepad !

Je devrai arriver à m'en sortir avec tes conseils. Je teste tout ça avant de faire un retour sur mon expérience.
Quoiqu'il en soit, je te remercie encore de ta réponse qui m'a permis de faire le lien entre les diverses infos glanées à droite à gauche!

IIimanII

Pour résumer mes essais en quelques mots : c'est un truc de dingue  ;D
Il faut s'armer de patience et être méthodique pour arriver à un résultat satisfaisant (en tous cas pour un débutant comme moi).

Dans un premier tps, mon image n'était pas du tout stable lorsque j'utilisais mes modelines personnalisées et je n'arrivais pas à savoir pourquoi.
Après moult tentatives, je me suis dit qu'il devait y avoir un autre pb car je respectais bien les valeurs données par Acepad surtout au niveau de la fréquence de synchro horizontal en restant à 15khz.
Ce qui m'a mis la puce à l'oreille c'est que lorsque que je switchais sur mon lcd avec ma CG patchée par soft15khz, l'image s'affichait alors que normalement c'est pas possible.
Du coup, je remplace ma CG suspecte par une ati9600 et je recommence... et là ça fonctionne.... cool... enfin presque...  :D

En effet c'est pas vraiment centré horizontalement et ça déborde verticalement. Je retravaille mon modeline (oui, vu la galère pour ajuster pile poile l'image à l'écran, je me suis concentré sur 320x224@59.3, réso principalement utilisée pour les jeux psycho), j'ajuste avec le service mode de la TV et j'arrive à un résultat à peu prés potable. ça déborde encore un peu en hauteur mais mon image est centré et prend toute la largeur de l'écran.
Je redémarre le tout en faisant en sorte que mala démarre avec windobe... et la ...c'est le drame, l'image ne se synchronise pas enfin je pense, l'image défile de gauche à droite sans se stabiliser  ;D (mon ecran est en tate). Par contre lorsque je lance le jeu (heureusement que j'en ai pas moult dans ma liste) tout redevient normal...

Bon j'ai pas eu le tps de résoudre le problème mais j'ai ma petite idée pour y arriver. Dans les options de mala, j'ai laissé (dans l'onglet display/gui, je crois) la réso à 800x600, vous pensez que ça pourrait venir de là?

Autre petite question, si je souhaite lancer via mala des jeux avec des réso différentes, en supposant que mon fichier usermodes soit correct, est-ce que la réso va switcher automatiquement où je serai obligé de la switcher manuellement avec quickres par exemple?

Si vous avez des idées pour le pb avec mala et une réponse pour le "switchage" automatique ou pas, je suis preneur!

Je pensai pas que c'était aussi galère mais le résultat vaut quand même le coup et en plus on apprend plein de trucs  :D

IIimanII

J'en termine avec cette histoire de modelines en expliquant rapidement comment j'ai résolu mon pb avec mala.

C'était assez simple en fait, le layout que j'utilisais (retrogui) n'est pas "adaptable" en fonction de la réso (surtout pour les réso inférieures à 800x600, il me semble)... en repassant sur le layout standard le problème d'instabilité (ou de désynchronisation de l'image, je sais pas vraiment quel terme est le plus adapté) a disparu.

Pour répondre à une autre de mes interrogations, dans l'état actuel de mes connaissances, il n'est pas possible de "switcher" automatiquement d'une réso à l'autre. J'utilise pour ma part quickres pour changer manuellement de résolution.

En conclusion, je dirai que cette technique de modelines personnalisées est adaptée pour un mamecab dédié à un jeu en particulier ou une liste de jeux ayant des résolutions similaires. Si vous n'êtes pas un intégriste du pixel parfait  :D et que vous avez une machine relativement puissante, utilisez de préférence les options de mame qui permettent d'adapter l'image à l'écran sans manip particulière avec un résultat que je trouve correct.

Autre petit conseil si je peux me permettre, utilisez les réglages du service mode de votre TV pour des ajustements mineurs (surtout si comme moi vous n'avez pas la possibilité de revenir aux paramètres d'usine) car si vous changez la réso alors que vous avez bourriné sur les paramètres pour centrer l'image par exemple, le résultat peut être assez gênant. En d'autres termes, vaut mieux affiner son modeline.

N'hésitez pas à me reprendre si je raconte des conneries, je ne suis qu'un débutant passionné  ;)

acepad

#5
et non Mame est fait pour ça justement (les autres aussi), il switch sur la résolution native du jeu. tu dois le paramétrer dans les options de Mame (cocher switch resolution). Quickres c'est bien, mais ça sert à rien d'utiliser pour changer la résolution avant de lancer le jeu. oui tu peux faire comme ça mais le but c'est d'avoir un frontend dans une résolution pour l'avoir en plein écran et lorsqu'un jeu est lancé la résolution change toute seul, pas besoin de le faire manuellement.

et si la bascule sur la résolution native auto ne te convient pas tu peux également assigner une résolution spécifique pour chaque jeux dans Mame. Car Mame choisira soit la résolution native si tu as le modeline souhaité soit il choisira une résolution qui s'approche le plus de la résolution native. mais ça ne veut pas dire que t'aura l'image souhaitée, ça dépend du modeline sur lequel le jeu va se lancer. si ton modeline ne fonctionne pas lorsque tu change avec quickres (image brouillée), et bien il ne fonctionnera pas non plus lorsque ton jeu sera lancé avec cette résolution, et ça Mame ne le sait pas, il va choisir la résolution et lancer le jeu c'est tout.


Le but de fabriquer ce cable et d'installer soft15khz c'est de pouvoir lancer les jeux dans leur résolutions native sans aucun filtres. ..

Si tu as fabriqué ce cable pour te contenter d'améliorer l'image avec les filtres de Mame et pour ne pas lancer les jeux dans leur réso native autant brancher ton PC sur ta TV avec un cable rca composite, tu obtiendra le même résultat : une image pourri.