Recalbox sur TV CRT en RGB
-
Très intéressant, j’espère que tu va réussir a faire quelque chose. Je verrais bien un kickstarter pour un GPIO->SCART
-
J'ai un soucis, avec NOOBS je pense.
Une fois les GPIO du Rpi (j'utilise un Rpi2 pour le moment) raccordés a la SCART (via les résistances), impossible de booter.
Je suis obligé de déconnecter la masse (GND) entre le Rpi et la SCART pour booter.
Par contre, je peux booter sous Raspbian sans NOOBS.
J'ai vu qu'il y avait un probleme entre NOOBS et le VGA666.
Je vais tester PINN (clone de NOOBS mais gère le VGA666).Sinon, on peut faire un GPIO2SCART, j'en suis sur.
Plein de monde utilisent le VGA666 avec un câble VGA2SCART et une résolution de 320x224 en 15Khz. sur une TV CRT.
Bon moi, pour le moment, j'ai pas de bol il y a tellement d'infos et d'infos erronées/pas a jour qu'il faut fouiller et tester...Par contre, une seule résolution custom possible. Et reboot obligatoire pour changer de résolution.
-
And the winner is ....
Bon, l'image a un petit souci de tearing, j'ai quand meme tout fait a l'arrache
Et elle est que verte, normal j'ai cablé que 6 fils entre le Rpi et la platine de resistances.Mais ... conclusion :
Un adaptateur GPIO vers PERITEL est tout a fait possible (c'est d’ailleurs ce que j'ai fais) avec certaines restrictions.- Utilisation d'une résolution verticalement faible. (272 maxi je pense).
- Remplacement de NOOBS par PINN (ou alors faut chercher ou ça bug sous NOOBS).
- Impossible (pour le moment) d'avoir plusieurs résolutions, il faut rééditer le config.txt et rebooter.
Je pense que je vais me faire un truc assez propre, avec des potards pour chaque bit de couleurs et la synchro, histoire de voir ce qui fonctionne le mieux comme résistances (mais pas tout de suite).
Pour le moment, je dois toujours débrancher la masse pour booter.
Bon, j'ai rien inventé, rien trouvé, rien deviné, j'ai juste glané un tas d'infos et fais des essais. -
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.