Recalbox sur TV CRT en RGB
-
@Substring
Je la joue pas perso, je veux bien donner tout ce que j'ai.
Mais faut pas croire que j'ai beaucoup avancer, c'est extrêmement délicat de tout comprendre sur les Timings vidéo.
Çà m’embête de donner un script potentiellement capable de tuer un CRT.RGB-Pi c'est 99.9% Recalbox mais seulement uniquement dédié aux CRT.
Ça concerne une minorité d'utilisateurs de Recalbox et plutôt les bidouilleurs.
Bref, pas de polémique, on doit tout a Recalbox.Le principe qui consiste a créer une base de donnée de jeux pour Mame078, FBA et Advmame permet d'avoir un réglage aux petits oignons pour chaque jeu. Chose impossible a faire comme prêtent pouvoir le faire Advmame.
Tout simplement à cause des CRT qui ont des réglages différents.Si ça dérange qu'on parle de RGB-Pi, je peux m'en passer.
Le Rpi sur CRT c'est destiné a une minorité.Après, mon kif c'est la bidouille, j'ai pas la même approche que vous, vous l'avez déjà constaté, suis désolé.
Suis près a donner absolument toutes mes infos/données a qui le veut mais ya rien de révolutionnaire.
Je travaille beaucoup moins que toi sur le sujet, j'ai moins de temps mais je suis parfaitement conscient que sans Recalbox, j'aurais même pas acheté de Rpi. -
Pour les réglages vidéo avancés de Advmame, il faut lancer l'utilitaire "advcfg".
-
@ironic Je n'ai toujours pas trouvé la subtilité qui fait que advmame va calcuer lui-même les timings pour un affichage CRT au poil. A la lecture du code, je constate juste qu'il augmente la fréquence verticale pour atteindre 31.25MHz
@lolo et il faut régler quoi précisément alors ? parce que le fichier de config de advmame utilisé par recalbox n'est pas du tout celui par défaut, donc je suis curieux
-
www.advancemame.it/doc-install
Partie 4 Video Hardware
Partie 5 Video Setup -
@lolo Juste en ajoutant
display_mode auto display_adjust generate_yclock device_video_clock ? device_video_format ?
?
-
En quoi le fichier de config sous recalbox est différent, je ne comprends pas.
C'est la version 1.4 de Advm qui est utilisée ?
L'utilitaire permet plus de choses et je n'ai pas l'impression que ça modifie le fichier advmame.rc
http://imgur.com/a/gbsPk -
@lolo le advmame.rc que recalbox utilise n'est pas dans le chemin par défaut de advancemame. Il faut ajouter
-rc ~/configs/advancemame/advmame.rc.origin
en paramètre pour "espérer" que l'utilitaire reporte bien la config dans le fichier. Je te conseille quand même de faire une copie de sauvegarde de ce advmame.rc.origin avant. -
Bon, je pense avoir trouvé la ruse pour advancemame. A faire en SSH :
TERM=xterm advcfg -rc ~/configs/advancemame/advmame.rc.origin
De là, sélectionner son écran, et la magie devrait opérer. Je n'ai pas de CRT, mais en réglant sur une TV NTSC, mon moniteur a bien relevé des résolutions biscornues avec des fréquences tout autant biscornues. Exemple qui plaira à @ironic : rtype était bien en 55Hz. Par contre ce n'etait pas la résolution d'origine, elle semblait avoir été calée pour tenir en 480 à qq pixels prêts.
Penser à faire une copie du
~/configs/advancemame/advmame.rc.origin
avant ce genre de manip -
Bon ben ça avance un peu... même si c'est pas parfait... ici en hdmi-vga-peritel
De mon coté la commande de @Substring ne fonctionne pas :
cd ~/configs/advancemame/ advcfg -rc config.rc
une fois la config réalisée, je la copie dans le fichier
advmame.rc.origin
display_mode auto display_adjust generate_yclock device_video_clock 4-100 / 15.73 / 60 device_video_format 15730 0.875 0.0416667 0.0833333 0 0.927481 0.00763359 0.00763359 0.0572519
ya encore pas mal d'options à tester....
-
@ian57 surtout que ton config.txt a mis le dawa
-
Salut tout le monde !
Après avoir pris un peu de recul et expérimenté pas mal de choses je reviens un peu sur mon tuto express pour la méthode VGA>HDMI>SCART qui me semble encore assez convaincante et la moins éprouvante pour le moniteur.
Je n'ai pas encore testé la méthode timings, qui m'a l'air plus juste, mais il faudrait pouvoir comparer les deux. J'ai lu par ailleurs que la différence se réduit à des marges mais je dois le vérifier pour y croire.
Je rajouterais les points suivants qui me semblent importants maintenant :
1 - Dans les paramètres de Retroarch, sauf dans des cas exceptionnels je pense qu'il vaut mieux utiliser une résolution "integer scale" tout en désactivant "integer scale" par la suite pour déterminer les résolutions de chaque console dans les cfg, mais avec un positionnement qui va bien. Je m'explique : Lorsqu'on "integer scale" Retroarch définit un "ratio correct" adapté à la résolution de la console et la résolution choisie (1920x240). Ces ratios ne sont pas toujours justes, j'ai eu le cas avec l'Atari 7800 où l'integer scale donne un résultat qui est faux, j'ai dû y aller en 240 ce qui n'est pas forcément logique... ou avec la Snes, qui me propose du 240, mais qui est plus correcte en 224. Je ne sais pas encore comment cette fonction propose les ratios, ça marche souvent mais ce n'est pas tout le temps fiable. Par exemple si la snes donne du 240 et que vous avez du tearing, ou de l'irrégularité dans les horizontales il faut forcer manuellement du 224 sur Retroarch. Une fois j'ai écrit plus haut qu'on pouvait adapter le viewport comme on pouvait et que ça ne posait aucun problème du moment qu'on respecte la résolution verticale (224). C'est faux, l'option Vsync=on cachait un problème de scrolling dû à la déformation il vaut mieux avoir un ratio correct et éliminer les sources de tearing, de flous, de déformations et de lag que de vouloir absolument rentrer toute l'image dans l'écran depuis Retroarch. C'est en jouant des SHMUP super rapides, et en testant du materiel d'arcade d'origine que je me suis rendu compte de ces légères différences. On peut se retrouver avec un écran qui dépasse légèrement, ou des marges noires si on suit la logique du ratio correct. Cependant de mon experience je préfère maintenant cela au lag et à la déformation des pixels qui sont induits par un faux ratio. Si vous voulez jouer au jeu au plus proche de l'arcade, évitez de déformer les réglages depuis Retroarch, et optez pour une modification sur le moniteur dans le service menu. C'est comme ça qu'on fait quand on utilise du vrai materiel arcade, on ne change pas de PCB tous les 4 matins en vrai, par contre quand on le fait on règle l'image à l'écran, ça n'a pas d'incidence sur le framerate ou la qualité.
2 - Des fois les problemes de scrolling sont cachés par l'option Vsync=on des fois on ne peut pas faire autrement faute d'identifier le problème, mais il faut savoir que cette option peut aussi induire du lag. Si le jeu tourne parfaitement sans, il vaut mieux résoudre les problèmes par les ratios ou la fréquence estimée, et la désactiver. Si vous n'arrivez pas à résoudre les problèmes de scrolling il faut la réactiver quitte à créer du lag.
3 - Le rôle de la fréquence estimée du moniteur affichée dans Retroarch joue un rôle crucial dans le framerate affiché. Au départ j'ai fixé une fréquence pour toutes les consoles. C'était une erreur, chaque console, voire chaque jeu doit avoir sa fréquence. Je dirais même que cette valeur fluctue constamment. Il faudra actualiser la valeur de la fréquence sur celle qui est estimée pour éviter le lag de framerate qui me gênait depuis le début. Des fois on se rapproche de 1% de différence, mais ça peut retomber à 10%, et si on n'actualise pas ça crée du lag.
4 - J'ai un problème lorsque je reviens à Emulationstation (passage de 240p à 480i), il y a de la perte de synchro intempestive, j'ai besoin de débrancher et rebrancher le cable hdmi, ou réinitialiser l'affichage pour que ça disparaisse, si quelqu'un sait comment régler ça, ce serait vraiment cool. J'ai le même problème sur plein de moniteurs différents.
Voilà, je suis assez satisfait du résultat, qui se rapproche beaucoup de mon hardware Neo Geo, CPS2, consoles, ou PC, je teste sur des PVM et BVM, ça me permet de voir précisément les différences.
C'est super proche, mais les différences que j'observe sont vraiment très légères. (Qualité du RGB qui joue un rôle, qualité des cables, la méthode des timings aussi doit jouer un rôle, mais j'ignore encore à quel point comparé à une compensation par l'overscan physique du moniteur.
Si vous avez la moindre question ou correction à apporter à ces précisions n'hésitez pas, peut être que je ne vous apprends rien, mais je tenais à faire un point sur mes observations.
-
Bon je comprends un peu mieux... mais encore pas mal de test à faire :
-
Plop !
Pour info, si ça peut éclairer du monde, ou permettre une révision des bases :
https://github.com/recalbox/recalbox-os/wiki/Connectez-votre-recalbox-ecran-crt-avec-HDMI-(FR)
n'hésitez pas à me corriger en éditant !Pour advance mame, impossible de lui faire accepter une résolution sur mon écran, aucune ne passe même en configurant avec l'utilitaire fourni.
ps : @archimage j'en suis arrivé au même constat pour régler mes viewports, je me base sur le integer scale, puis je le désactive, et règle l'overscan à partir de là.
Je me retrouve donc avec une super nes avec bandes noires, mais ratio original, bien plus cohérent que de chercher à remplir l'écran.Tests effectués sur PVM 2950.
-
@idarius Beau travail de synthèse !
J'ai deux questions :
-
La résolution de la Dreamcast en 3D est 640x480i sur CRT, et 480p sur écran VGA. Le 240p est utile uniquement sur les jeux 2D qui le supportent comme les jeux Capcom (ce mode 240p s'active en maintenant Start + L avant l'apparition du logo capcom, et pour d'autres en natif). Pour les 95% des autres jeux, ça se passe en 480, pourquoi passer 320x240 en priorité ?
-
Il me semble que la Megadrive ça se passe en 240 et non en 224, pour la nes j'ai un doute, je pense que ça dépend du core. A confirmer, peux-tu vérifier ça ?
-
-
Pour l'instant ma recalbox est dans un sac suite à une soirée crt chez des potes
Je vérifie ça dès que je la rebranche, mais de mémoire le 240 me sortait du tearing. Mais selon les jeux pal et ntsc, devrait yavoir 2 résos différentes. Bref avec ma configuration, aucun soucis sur tous les jeux testés, à voir si j'ai pas changé mes réglages depuis le wiki, c'est bien possible.
Pour la Dreamcast, c'est simple, mon écran n'accepte que le 240p et le 480i, j'ai préféré forcer le 240p, ce que fait parfaitement l'émulateur, plutôt que d'avoir du scintillement.
-
@idarius Pour la dreamcast sur les jeux en 2d j'entends bien ce sont des sprites, le 240p est préférable. En revanche pour la 3d, même si le passage en progressif fait disparaitre le scintillement, tu descends aussi en résolution de rendu vectoriel, même si les textures restent à la même taille, donc tu obtiens plus d'effets escaliers sur les vecteurs, et un scanline plus volumineux, ce qui n'a pas le même effet sur l'image quand ce n'est pas du pixel art rasterisé, c'est une logique complètement différente à mon avis. Quitte à choisir pour la 3d je préfère le scintillement de l'entrelacement aux escaliers sur les vecteurs en diagonales. C'est valable aussi pour la N64. Le progressif 480p serait l'idéal mais comme tu dis indisponible sur nos PVM à moins que tu trouves un crt 31khz.
-
Bien entendu, tu as raison ! Mais j'avoue n'avoir que peu testé la Dreamcast, hormis lancer Power Stone 2 pour voir comment ça tournait.
Il me semble même que depuis je l'ai laissé en 480i.
Bref faut que je repasse sur le wiki pour les résolutions -
N'empêche que la solution advancemame semble la plus accessible (mais limitée à l'arcade pour le moment). Donc, à titre perso, je préfère poursuivre dans cette voie.
@idarius on a réussi à avoir des résultats interessants sur une tv toyte naze, tu ne vas pas me faire croire que ton pvm ne va pas y arriver
@archimage merci pour tes investigations perpetuelles, ca permet de mieux comprendre comment ça marche
-
@Substring Ouais enfin quand je vois comment l'écran à fini (reste en paix !)
PS : bon c'est pour quand l'organisation d'une soirée CRT? -
@idarius sur irc ?