Recalbox sur TV CRT en RGB
-
Bon, voila le schéma du GPIO2SCART. (Fait a la va-vite, je corrigerais/vérifierais un peu plus tard...)
Si le driver sort du 15Khz, sa devrait fonctionner.
La résistance 499 doit être une 1% (Très précise).Il faut peut être augmenter les résistances de synchro 120 Ohms -> 200 Ohms a 250 Ohms.
Après, il faut installer et activer le driver. (Driver du BCM2825, le Rpi2/3 est un BCM2836, ca doit fonctionner).
Il faut copier le driver (dt-blob-dpi.bin)a la racine de la partition boot. Renommez ce fichier : dt-blob.bin
Il faut ajouter au config.txt (correction apportée).
enable_dpi_lcd=1
hdmi_cvt=1920 240 60 4
dpi_group=2
dpi_mode=87
display_default_lcd=1Aucune idée si cela fonctionnera, si j'ai oublié des trucs ou si il y a des modifications a apporter.
J'ai tout ce qu'il faut, je tenterais le coup peut-être dimanche matin. (sur un RPi3 tout frais que je viens de recevoir).Pour l'audio, il faut utiliser le jack du RPi, j'ai souvent lu que le DAC du Rpi était pas terrible mais j'ai jamais été déçu du son.
-
Pfiou, ça vaut le coup d'essayer de tout comprendre ou le tuto décrira comment mettre en RGB (et quoi acheter)? Lol j'avoue que je ne suis pas très à l'aise avec tout ça mais j'ai une borne avec un CRT et j'aimerais vraiment améliorer l'image !
En tout cas merci à vous de trouver toutes ces solutions !!
-
J'ai eu l'occasion de tester un peu hier, sans résultat.
Impossible d'avoir quoi que ce soit sur la TV.Après j'ai essayé simplement GPIO2VGA et ... Idem !
Rien a faire. J'avais câblé que le rouge en résistance, je me demandais si il ne fallait pas les 3 signaux pour que le moniteur s'allume.
J'ai donc testé le Rpi avec un convertisseur HDMI2VGA et j'ai câblé me minimum de fils pour allumer le moniteur.- Rouge
- Masse
- Sync H
- Sync V
Le moniteur s'allume...
Donc je reparts sur le GPIO2VGA avec ces 4 fils... rien ne s'allume sur le moniteur VGA ;/
Après quelques lecture (beaucoup même) ... Il manque une ligne dans le config.txt.
dtoverlay=vga666Après l'ajout de cette ligne, soit :
dtoverlay=vga666
enable_dpi_lcd=1
display_default_lcd=1
dpi_group=2
dpi_mode=16...
Le moniteur s'allume mais, rien ne s'affiche.
Comme je n'avais utilisé (câblé) que les GPIO (6 broches) du rouge, je décide d'utiliser les 6 broches du vert et la :
Une image verte apparait !!
Je câble les 6 broches du bleu et ... une image bleue apparait !!
MAIS, quand je câble les 6 broches du rouge ... rien.
Je me demande si j'ai pas cramé les 6 broches du rouge a mon 1er essai sur la péritel de la TV ...J'ai pas mal lu aussi que la résolution mini était de 640x480.
Resumé :
- On peut utiliser les GPIO pour faire du VGA avec simplement quelques résistances.
- On peut utiliser ds résolution custom avec cette sortie GPIO2VGA.
- Je n'ai pas encore réussi a sortir un signal 15Khz du GPIO2VGA (pluto du GPIO2SCART)
C'est soit impossible, soit j'ai merdé quelque part (j’espère que c'est la 2eme solution mais c'est "impossible" que personne n'ai jamais essayé de faire ça).
C'est peut être pas très claire tout ça, désolé.
Je vais retenter prochainement... -
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...).