Recalbox sur TV CRT en RGB
-
C'est vrai que le theme de base passe tres mal en 320x240 ou autre.
Je vais en essayer un autre. (je ne sais pas comment envoyer un message personnel avec ce nouveau forum, désolé ;/)
Quand je parle d'overscan, je ne parle pas d'ES (comme il passe très mal, j'ai même pas fais attention) mais l'affichage des jeux qui déborde, mème un peu trop d'un coté. définir une résolution custom réduit le nombre de pixel et dégrade forcement l'image.
Comme on est pas sur un moniteur réglable type arcade, il faut trouver une solution.
Ça serait de définir par exemple une résolution de 340x240 et d'afficher le jeux sur 320x224.
Ya peut-être d'autres solutions et les réglages doivent varier en fonction de chaque TV.Maintenant, je ne sais pas comment définir une résolution custom de 384x244, faut que je trouve les bon timings.
Par contre, définir une résolution de 240p et afficher un jeu en 224p permet d'éviter l'overscan vertical.
La résolution est vraiment de 240p mais l'overscan bouffe 8 ligne en haut et en bas, ça fait qu'il reste 224 lignes pour afficher le jeu, nickel.
La encore, ça dépend des TV que de leurs réglages d'overscan.Faut que je trouve/comprenne comme fonctionnent ces foutus timings.
# hdmi_timing=<h_active_pixels> <h_sync_polarity> <h_front_porch> <h_sync_pulse> <h_back_porch> <v_active_lines> <v_sync_polarity> <v_front_porch> <v_sync_pulse> <v_back_porch> <v_sync_offset_a> <v_sync_offset_b> <pixel_rep> <framerate> <interlaced> <pixel_freq> <aspect>apparemment, il y a une solution pour changer la résolution a la volée, a tester.
vcgencmd hdmi_timings 320 1 25 30 30 240 1 9 3 10 0 0 5 60 0 6400000 6
tvservice -e "DMT 87"
fbset -depth 8 && fbset -depth 16 -xres 320 -yres 240 -
@ironic la télévision est un format 4:3, il y a beaucoup de jeux auxquels tu ne couperas pas à la déformation horizontale comme les street fighter qui sont censés être affichés sur des écrans larges. Ou les 1945 en écran vertical. Définir un custom te permettra de garder tes proportions et repositionner l'image comme tu le souhaites. Respecter la résolution verticale est le plus important, car un CRT ne comprend rien aux pixels, pour lui c'est les 240 lignes horizontales et leur fréquence qui comptent. Le reste tu peux faire ce que tu veux et étirer et recentrer comme tu le souhaites.
-
Oui bien-sur c'est la résolution verticale qui est la plus importante.
Cependant, définir une résolution qui permet de "mapper" exactement les pixels du jeux sur les "pixels" horizontaux de la tv permet d'avoir une synchro parfaite et une fluidité exemplaire. Après en montant en résolution, ça passe aussi.
Surtout si on utilise une basse résolution horizontalement.
J'ai pas trop envie de claquer du 1920 horizontalement, je trouve déjà le rendu excellent.De plus, un truc m'a choqué, l'input lag.
Je teste souvent Bad Dudes vs Dragon Ninja, il tourne très très bien en 1280x1024 + scanline + lissage.
Et la j'ai halluciné a quel point le perso réagit au quart de tour.
Zero lag, zero frame de retard.Un peu normal.
- basse resolution.
- pas de scanline.
- pas de lissage.
- pas de moniteur LCD mais un CRT.
(et pourtant, je suis en BT avec ma manette).
Tout ça fait que le gain de puissance récupéré permet une émulation parfaite.
Certain me diront, j'ai pas de lag, j'en voyais pas trop non plus.
La j'ai vu la différence.On fait bien de tester tout ce qu'on peut, ça peut être utile.
... J'ai pu envie de jouer sur mon LCD ....
CRT POWA !! -
Superbe vos avancées. Je suis de loin, mais avec envie
-
@ironic Content que ça te plaise ! Effectivement baisser la résolution permet de gagner en fluidité. Mais tester des résolutions plus élevées nous permettrait de double checker ce que j'ai constaté. Si jamais tu tentes l'experience essaie sur SF3 et tiens moi au courant.
Ce serait pas mal d'arriver à comprendre comment une télé traite la géométrie horizontale, si le pixel n'existe pas sur un CRT, comment est gérée la déformation horizontale ? Ce que tu appelles "pixels" la télé réagit comment ? Je veux dire si on a des lignes horizontales qui définissent la résolution verticale, qu'en est-il de la résolution horizontale ? Je me pose encore ces questions. De mon côté peu importe la taille je n'ai jamais de tearing lorsque je déforme dans ce sens.
Toujours en ce qui concerne l'input lag.Malgré un grand gain en fluidité, il faut noter que je dispose de la majorité des consoles émulées branchées à côté du pi, j'ai pu tester une par une, et l'input lag est toujours présent par rapport aux consoles d'origines. Même sur la NES et avec zero filtres sur un PI3. L'image est aussi légèrement lissée par rapport à une AV Famicom 2 RGBisée dont l'aspect est un poil plus cristallin. Je suppose qu'il y a des réglages fins à faire côté cablage pour arriver à la perfection, mais chaque console à son propre ampli RGB avec ses propres réglages. On atteindra des limites dans le mimétisme à un moment ou un autre. Il faut que nous arrivions à parfaire nos installations et nous envoyer les schémas pour que chacun de nous compare les installations HDMI/GPIO
-
Pour info voici le thème que je suis en train de mettre au point. Il est en 480i et il se base sur les scraps UXS. Il est simplifié pour donner plus de place à l'image et aux titres.
Quand tu auras trouvé un moyen de définir toutes les résolutions (systeme, es, kodi, par console ou par jeu) nous pourrons y retravailler.
-
Oh ! lala, on donne envie au chef.
Ça t'apprendra à nous faire baver avec toutes tes connaissances et ton talentDes que je sais comment avoir la bonne résolution pour SF3, c'est a dire 384x224, je testerais.
J’essayerais même avec une résolution supérieur comme toi.C'est pas si simple le signal vidéo, je ne maitrise pas grand chose non plus.
Je reposte un lien pas mal du tout..En ayant une haute résolution horizontale, ça m’étonne pas que tu n'ai pas de probleme en étirant l'image. C'est un atout.
J'ai pas testé l'input lag sur les consoles, je ferais ça sur un snes cette aprem pour voir (avec paddle usb et non bt).Oui, c'est sur qu'on approche du rendu idéal mais que cela ne ressemblera jamais a 100% a l'original.
Surtout si on doit imiter plusieurs consoles avec la même plateforme/matériel/logiciel.Ce post est déjà un bon tuto sur le VGA2SCART et GPIO2SCART. C'est pas rempli de questions mais rempli de réponses
Plus on fera d'essais, plus on aura de réponse mais je pense qu'on a déjà atteint un bon niveau.Je vais essayer ton thème, merci.
(EDIT : Comme je suis en basse résolution horizontalement, le thème passe mal, probleme sur la police, manque de pixels, normal...). -
J'ai mis, cote a cote le Rpi et la Snes.
Les 2 TV ont des diagonales de 35cm, j'ai mesuré (TV d'à peut près même qualité, même époque).
Jeu : Super Mario World (Euro)A gauche.
- Rpi2 à 1050Mhz.
- Recalbox V4beta5.
- GPIO2SCART. (résolution de 256x224x60, je ne sais pas comment ouvrir un écran en 50Hz, a moins que juste changer le Timing suffit, a tester).
- Émulateur RetroArch/LibRetro (snes9x 1.52.4)
- Surface d'affichage du jeu : 256x224 (RetroArch).
A droite.
- SNES européenne 50Hz originale.
Plusieurs constats :
- L'overscan du Rpi est énorme ! Pourtant la résolution demandé dans le config.txt est de 256x224 et la surface du jeu également.
- Si la résolution de la Snes est de 256x224, pourquoi y a t-il des "petites" bandes noires en haut/bas ? Ca fait plus que 16 pixels en tout !
- Forcement, le jeu sur la Snes a l'air aplati, c'est pas terrible même si c'est l'original.
- Malgré le fait que j'ai connecté un paddle usb au Rpi, on peut noté un léger lag input sur le Rpi.
- La Snes a l'air légèrement plus colorée mais je n'ai pas regardé les réglages des couleurs des TV.
En NTSC, il y a 240 lignes.
En PAL, il y a 288 lignes, ça voudrait dire qu'il faut ouvrir une résolution verticale de 288 (et en afficher 224) pour coller à la vrai Snes ?
Pour l’horizontal, il faudrait ouvrir une résolution de 280 pixels pour en afficher 256. (a tester).Mais a regarder la vrai Snes, est-il intéressant de rechercher cette déformation ?
Ou vaut-il mieux essayer d'obtenir l'aspect ratio le plus cohérent et cela sur une surface d'affichage la plus grande possible, sans trop d'overscan ? -
Et la diff sur la meme tv entre les deux supports ? T'as testé ?
-
Il faut savoir que la Snes 60hz envoie 224 lignes, en 50hz 240 lignes pour correspondre aux standards NTSC ou PAL. Seulement le jeu a été conçu en 224 lignes au Japon et aux US. Résultat des courses quand la Snes envoie un signal de 240 lignes pour coller au 50hz, le jeu se retrouve écrasé car il n'en contient pas autant que l'espace prévu pour l'affichage. Si à contrario les jeux étaient conçus pour 240 lignes les 224 lignes du 60hz ne seraient pas suffisantes et les jeux déborderaient.
-
donc même la snes n'est pas "pixel perfect" d'origine ? Sauf les qq jeux pris en compte pour (SF2 il me semble ? je ne sais plus où j'ai lu çà)
-
Le pixel est un vocabulaire propre à l'affichage des moniteurs. Il n'y que les écrans modernes qui ont abordé cette notion. Pour ma part j'ai un peu laissé tomber l'idée d'avoir un "pixel perfect", il y a un moment où tout ça devient impossible à définir, la calibration de la télé joue un rôle très important aussi dans la perception de la géometrie. Personnellement j'ai reglé ma télé dans le service menu, pour ne pas avoir de marges sur toutes les consoles qui en ont même en 60hz comme le Megadrive (Sonic, Golden Axe...), au détriment d'une légère perte de bords sur d'autres consoles. C'est mon équilibre. Je fais pareil sur Retroarch, je cale comme je peux tout en essayant d'éviter le tearing. Il faut se dire que du moment que ton image "colle" à l'écran c'est que les proportions sont forcéments bonnes, encore faut-il qu'elle reste propre.
-
J'ai inversé le Rpi et la Snes, les TV n'ont pas bougées.
Le Rpi est maintenant a droite et la Snes a gauche.
On peut lire de tout sur les résolutions et le consoles.
Pour moi, en NTSC, la Snes ouvre un écran de 240 lignes mais en utilise que 224.
Ceci pour parer au éventuelles problèmes d'overscan trop groumant sur certaines TV de l'époque.
Bref, on lit tellement de truc qu'a un moment, on comprend plus rien
http://wiki.superfamicom.org/snes/show/TimingSi a droite comme a gauche, on a ouvert un écran de 224 lignes,
Pourquoi le Rpi a l'air ok et sans overscan et la snes laisse de belles bandes noires ?
On dirait du 240 lignes avec 224 lignes utilisées.Sur cette dernière capture, le Rpi est toujours a droite.
J'ai ouvert une résolution de Megadive, soit 320x240. Et j'ai affiché le jeu Mario en 256x224.
Bon, on peut voir qu'en X (horizontalement) la résolution est trop grande pour le nombre de pixels a afficher.
Mais en Y (verticalement), il n'y a plus d'overscan. les 240-224 (soit 16) pixels de résolution en trop sont en dehors de l’écran (overscan).Bref, on peu essayer un tas de truc, mais faut savoir ce qu'on veut.
Et tout le monde ne veut pas forcement la meme chose.Sinon,
- C'est beaucoup plus agréable de regarder un écran 60Hz (Le Rpi), sur le 50Hz (la Snes) on voit le balayage, ça pique les yeux.
- Le scanline est plus prononcé sur le Rpi, c'est plus beau. (Pfff, comment ça peut être plus beau que l'original...).
- J'ai un probleme de Timings avec ma résolution 320x240x60, l'image se déforme un peu.
-
@ironic : "Pour moi, en NTSC, la Snes ouvre un écran de 240 lignes mais en utilise que 224.
Ceci pour parer au éventuelles problèmes d'overscan trop groumant sur certaines TV de l'époque." Je dis la même chose que toi, en 224 ils ont prévu une marge effectivement, mais quand ils ont "dessiné le jeu" ils ont prévu 224 lignes d'affichage. Seulement en 50hz l'espace est encore plus grand donc on obtient encore plus de marges. Je pense que ça n'arrange pas la compréhension du problème de savoir aussi que la télé ne peut pas afficher le même nombre de lignes en 50hz ou en 60hz. Tente de passer ton pi en 50hz sur les réglages de ta résolution sur config.txt, et de caler le refresh rate de Retroarch sur celui du moniteur, tu verras que les bandes noires apparaitront et que le jeu sera écrasé comme ta snes. J'avais les mêmes interrogations que toi au début, je n'ai pas répondu à tout... je suis passé en 60hz et j'ai essayé d'obtenir l'image la plus fidèle... Sinon teste l'option margin voir ce que ça peut donner chez toi, chez moi l'image est bien calée. -
Voici une liste des résolutions des consoles que j'ai pu trouver
Snes : 256×224p ou 512x448i
Nes : 256x240p
Master System : 256x192p ou 254x224p
Megadrive : 256x224p60 320x224p60 256x240p50 320x240p50 320x448i60 320x480i50
32x : 256x224p60 320x224p60 256x240p50 320x240p50 320x448i60 320x480i50
Gameboy : 160x144
Gameboy Color : 160x144
Gameboy advance : 240x160
PC-Enngine : 256x240p 336x240p 512x240p 256x224p 256x242p 242x242p
Neo-Geo : 320x224p60 320x240p50
N64 : 640×480i 320×240p 256×224p
Playstation : 256x240p 320x240p 512x240p 640x240p 256x480i 320x480i 512x480i 640x480i
MSX : 256x192 256x212 512x212
Vectrex : 330 × 410
Atari 2600 : 320x210p
Atari 7800 : 320x210p
Game Gear : 160x144
Neo Geo Pocket : 160x152
CPS : 384x224 496×224 -
Par contre, ce qui n'arrange pas les choses, c'est que j'utilise les timings pour choisir ma resolution, la frequence n'a aucune incidence sur la resolution. Je comprend pas encore tout...
50HZ : hdmi_timings=256 1 8 17 21 224 1 7 10 24 0 0 0 50 0 4800000 1
60HZ : hdmi_timings=256 1 8 17 21 224 1 7 10 24 0 0 0 60 0 4800000 1
Faut que j’enquête...
-
@ironic question bête : quelle est la taille de ton viewport ?
-
Aucune question n"est bête, surtout dans des domaines qu'on ne maitrise pas bien.
Viewport 256x224, la résolution du jeux.
Avec un offset de 3 en X car l'overscan et plus grand a gauche.
Donc, pour avoir le jeu en entier, je vais devoir ouvrir une résolution en X supérieur a 256.
280 je pense, mais je ne sais pas encore comment faire. -
oui donc tu as clairement un sushi de resolution verticale là, même retroarch est en dehors des clous
-
Aussi tu es censé avoir des bandes noires à cause du 50hz...