Recalbox sur TV CRT en RGB
-
Récapitulatif :
- Raspberry Pi 2 (fonctionne avec le 1, le 3 et le zéro mais le principe peu être différent).
- Recalbox 4 (le 3 fonctionne probablement aussi).
- PINN en remplacement de NOOBS.
- Le schémas de câblage et celui que j'ai posté au dessus.
- il faut installer (copier dans la partition BOOT) le driver vidéo dt-blob-dpi.bin (et le renommer dt-blob.bin mais je ne sais pas si c'est vraiment utile, a tester).
- Il faut modifier le config.txt, voici le mien (qui peut probablement être modifié/amélioré).
Les 3 couleurs cablées
Toujours le petit tearing , j'ai pas cherché pourquoi vu la piètre qualité de la PCB dont les soudures (suite a une panne d'etain) ont été fini a l’étain de plombier, mdr
-
@ironic très beau boulot mec !
Pour noobs/pinn ... tu peux très bien t'en passer (de l'un comme de l'autre) : une partition FAT32 de 60Mo où tu y décompresses le boot.tar.xz, une partition de 2Go en EXT4 où u cédompresses le root.tar.xz et en avant Guingamp ! -
Vais essayer sans NOOBS/PINN, j’espère que ça résoudra le probleme de boot.
Sinon, suis passé en 320x224x60Hz et c'est magnifique Le tearing a disparu.
Bon, mon vieux smarphone pète les plombs avec le balayage et la luminosité, en vrai c'est beaucoup plus net. -
@ironic regarde vers https://github.com/recalbox/recalbox-os/wiki/Recalbox-development---basics-(EN)#install-your-sources-on-an-sd-card pour booter recalbox seul. C'est court mais bon, c'est déjà çà
-
Super, pour ma part je suis en vadrouille en ce moment, j'ai commandé un deuxième adaptateur HDMI>VGA de meilleure qualité pour comparer s'il y en a des plus recommandables que d'autres. As-tu résolu le problème du tearing ? Moi je l'ai viré en me calant en 224 pour les snes, chaque console doit respecter sa résolution d'origine selon la fréquence à laquelle la télé tourne. 224 pour NTSC 240 pour PAL etc... il faut faire gaffe Atari c'est 210, pce c'est encore autre chose... En arcade tu pourrais avoir d'autres résolutions plus ou moins élevées selon le jeu. En résolution horizontale fais le test sur SF3, pour ma part plus je l'augmente plus il est beau.
-
@subs
J'ai installé la v4b5 sans NOOBS/PINN et ça boot sans probleme, sans déconnecter la masse et très rapidement. Parfait.
Le probleme vient donc bien de NOOBS/PINN. (et dire que j'ai passé plus de 10h à chercher pourquoi, ahahah!!!!)@archimage
Pour le tearing, choisir la bonne résolution arrange pas mal de chose mais il y a encore des trucs bizarre sur les scrollings horizontaux. C'est pas du tearing mais on dirait pleins de colonnes verticales qui scrollent en décalées. J'ai pas cherché plus loin faut vérifier chaque résolution et chaque fréquence de jeu testé. Par contre, je ne suis pas en 1920 en X mais en 320, vais essayé en 1920. Vais testé SF3 également.
(EDIT : SF3 est en 384x224 et pas en 320x224. néanmoins, en 320x224 c'est très beau et tres fluide malgré une perte de pixels).Je fais mes essais sur une TV de 36cm (sous marque).
Mais le rendu des couleurs est impressionnant ... et sans aucun réglage !!Maintenant, je dois me familiariser avec la commande hdmi_timings
C'est ce que j'utilise pour configurer la résolution.Bon, le fait de ne pas pouvoir changer de résolution à la volée est un gros inconvenant.
Il y a une issue d'ouverte, faut que je regarde si ça avance.J'ai déjà trouvé (quelqu'un l'a fais, pas moi) les timings pour certaines résolutions.
hdmi_timings=320 1 20 29 35 224 1 10 14 16 0 0 0 60 0 6400000 1 # 320:224 Sega Genesis (NTSC)
hdmi_timings=256 1 6 17 18 192 1 26 22 29 0 0 0 60 0 4800000 1 # 256:192 Sega Master System (NTSC)
hdmi_timings=256 1 8 17 21 224 1 7 10 24 0 0 0 60 0 4800000 1 # 256:224 NES, SNES (NTSC)
hdmi_timings=320 1 20 29 35 224 1 10 14 16 0 0 0 60 0 6400000 1 # 320:224 Sega Genesis (NTSC)
hdmi_timings=320 1 14 46 28 256 1 17 32 9 0 0 0 50 0 6400000 1 # 320:256 Amiga (PAL)Mais il y a le soucis de l'overscan. Je me demande si ça peut pas être réglé avec cette commande.
En tout cas, celui qui veut se faire une borne d'arcade avec que des jeux de résolution identique, a la solution ultime.
C'est choquant de voir par exemple un Sonic Megadrive d'une si haute qualité sur un CRT (ou alors ca fait trop longtemps que j'ai pas allumé ma Megadrive).
J'ai utilisé l'APN de madame car mon smartphone est a la rue.
Difficile de prendre de belles photos avec un écran convexe et un balayage. -
@ironic Pour l'overscan j'ai fabriqué un thème CRT spécial pour ES, le reste je le règle sur Retroarch et Kodi, je peux te le partager envoie moi une adresse mail. Je n'active pas l'overscan du pi il génère des flous autour des pixels à cause de overscan_scale=1.
Que donnent les tests en augmentant la résolution en X ? Chez moi sur SF3 j'atteins une finesse inégalée en poussant au max
-
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.