Recalbox sur TV CRT en RGB
-
@ironic Hello, merci de t'occuper de mon souci. Je te fais le schéma de câblage ce matin. Hier j'ai tenté d'injecter du 12v sur la broche 8, sans résultat. Du coup j'en suis venu a me dire que mon module VGA ne marchait peut être pas. J'ai testé ce matin sur un écran plat 17 " la config suivante :
kernel=zImage dtparam=i2c_arm=off dtparam=spi=off # Enable VGA666 dtoverlay=vga666 enable_dpi_lcd=1 display_default_lcd=1 dpi_group=2 dpi_mode=82
j'ai une image, avec un léger tremblement de l'image mais j'ai une image. Donc il marche.
avec
dpi_group=2 dpi_mode=16 #1024x768 60Hz
j'ai une belle image sur mon ecran :
Comme je n'ai pas la télécommande de la tv, je ne peux pas la mettre en mode configuration, elle est peut être mal réglée. Je ferais donc un test sur une 55cm que j'ai.
voici mon fichier config.txt
# uncomment if you get no picture on HDMI for a default "safe" mode #hdmi_safe=1 #disable_overscan=1 # uncomment to force a specific HDMI mode (this will force VGA) #hdmi_group=1 #hdmi_mode=1 # comment to get jack audio hdmi_drive=2 # Using /etc/modules is deprecated and no longer supported on 4.4 kernel # So manually enable audio dtparam=audio=on #config_hdmi_boost=0 # force hdmi while the tv can take time before sending the signal on the hdmi output #hdmi_force_hotplug=1 # uncomment for composite PAL #sdtv_mode=2 # uncomment for lirc-rpi #dtoverlay=lirc-rpi # if you plug your tv at the same time as your rpi and that the rpi switches from the hdmi or give a low resolution because tv had no enough time to initialize it boot_delay=3 # uncomment if you don't want the rainbow at startup disable_splash=1 # Overclock gpu_mem_256=128 gpu_mem_512=256 gpu_mem_1024=512 avoid_safe_mode=1 kernel=zImage dtparam=i2c_arm=off dtparam=spi=off # Enable VGA666 dtoverlay=vga666 enable_dpi_lcd=1 display_default_lcd=1 dpi_group=2 #dpi_mode=87 dpi_mode=82 #hdmi_timings=506 1 8 48 56 240 1 3 10 6 0 0 0 60 0 9600000 1 #hdmi_timings=512 1 16 48 64 288 1 3 5 6 0 0 0 50 0 9600000 1 # Custom 15kHz mode #hdmi_timings=320 1 17 33 34 224 1 14 8 18 0 0 0 60 0 6400000 1 #dpi_output_format=18BIT_666_CFG1,DPI_RGB_ORDER_RGB,output_enable_polarity inverted #hdmi_timings=960 0 173 8 0 160 0 40 10 0 0 0 0 60 0 19200000 8 #hdmi_timings=320 1 25 30 30 240 1 9 3 10 0 0 0 60 0 6400000 1 #hdmi_timings=1920 1 52 208 260 240 1 6 10 6 0 0 0 60 0 38400000 1 #dtparam=spi=off #dtparam=i2c_arm=off #dtoverlay=pi3-disable-bt-overlay
tous les hdmi_timings ne donnent rien. je vais essayer de faire un câble plus propre aujourd'hui.
J'ai aussi remarqué qu'un simple reboot (redémarrage à chaud du Pi) ne permet pas de commuter sur une nouvelle config de résolution. je n'ai eu une image avec la config ci dessus qu'après n redémarrage à froid! à confirmer donc.
-
@ian57
Encore quelques questions :- Tu es sur Rpi2 ou Rpi3?
- Tu utilises NOOB ou t'as installé Recalbox a la main ?
- Tu utilises quelle version de Recalbox ?
Si tu a injecté du 12V sur la broche (8) de la Péritel, la TV aurais du commuté sur la bonne entrée.
J'en déduit que :-
Soit ta TV ne fonctionne pas correctement.
(Peu probable). -
Soit C'est NOOB qui t'empeche de booter
(Pour le savoir, débranche la masse qui va a la Péritel ou qui va au DB9 et regarde coté Rpi si les LED clignotent comme un démarrage normal. Si c'est le cas, rebranche a la volée la masse). -
Soit ton VGA666 merdouille coté synchro.
-
Soit ton cable n'est pas bon.
Pour ton config.txt, il a l'air ok, pour un essai, t'as besoin que de ça :
kernel=zImage avoid_safe_mode=1 hdmi_drive=2 dtparam=audio=on dtparam=i2c_arm=off dtparam=spi=off disable_overscan=0 gpu_mem_1024=256 # Enable VGA666 dtoverlay=vga666 enable_dpi_lcd=1 display_default_lcd=1 # Custom 15kHz mode dpi_group=2 dpi_mode=87 hdmi_timings=506 1 8 44 52 240 1 6 10 6 0 0 0 60 0 9600000 1
J'ai aussi remarqué qu'un simple reboot (redémarrage à chaud du Pi) ne permet pas de commuter sur une nouvelle config de résolution. je n'ai eu une image avec la config ci dessus qu'après n redémarrage à froid! à confirmer donc.
Je dirais que c'est encore NOOB qui fait des siennes...J'attends de voir ton câblage ce soir.
@nogolem
Un boitier HDMI->Composite doit fonctionner si il est correctement fabriqué. Mais avec une qualité exécrable.Pour les valeurs de résistances, c'est vrai que c'est un peu juste mais pour faire des essais (et meme jouer), ça ne pose pas de problème. Tu pourras remplacer ces résistances par la suite.
J'ai massacré ma TV avec une synchro (résistances de 100 ohms) et un tas de Timings complétement fou. Elle a criée, pleurée, fait des grimasses a faire peur mais au final, elle est toujours la. Bon je conseil ça a personne si vous tenez a votre TV.
Pour les délais du câble, je ne sais pas.Pour la 4.1, aucune idée si ca apport quelques chose. Une meilleur configuration de EmulationStation peut-être...
-
@ironic réponse au questions : je suis sur un rpi3 avec un 4.1 compilée par mes soins. Pas de noobs, directement l'.img compilé dumpée sur la sd.
je vais donc refaire un test avec le 12v, si le l'amène partir d'une alim externe, il faut que je raccorde le - à la masse de mon câble non ?
pour la câble je vais le vérifier une n-ième fois.. j'suis pas à l'abri d'une erreur
je vais tester ta config..
Pour la tv, je n'ai pas testé l'entrée péritel ... elle est peut être HS... j'ai une 36 cm à la maison qui marche je testerai la dessus.
-
je vais donc refaire un test avec le 12v, si le l'amène partir d'une alim externe, il faut que je raccorde le - à la masse de mon câble non ?
Oui, les masses (0v) doivent etre commune, sinon ca ne fonctionne pas.
Le 0V de ton alim 12V doit être connecté au 0V du Rpi.Avec un Rpi3, il y a un soucis avec le canal rouge, il faut désactiver un truc dans le config.txt (a l'instant T et de mémoire, je ne sais pu exactement). Mais de toute facon tu devrais avoir une image avec du vert et du bleu au minimum.
-
Mouaaahhhhh j'suis une brêle... j'ai pas vérifié mes résistances... et la je l'ai fait!
ma resistance de 150ohms fait en fait 150Kohms sur le 5V !!!! pas cool
par contre mes résistances de 1K font bien 1K
je cherche un resistance qui va bien et je refais un test
ah ah tada.... sans le bleu mais c'est ok
la soudure de la composante bleu a laché... normal donc
-
Voila tout est bon avec le mode hdmi_timings=506 1 8 44 52 240 1 6 10 6 0 0 0 60 0 9600000 1
je n'ai pas eu besoin de directives particulières pour la couleur rouge...
Par contre, les jeu ne me semble pas dans la résolution d'origine... il faut que le regarde cela de plus prêt...
A moins que vous ayez déjà la solution.
-
@ironic
merci pour tes infos !
voici le lien pour le câble:
cliquer ici pour voir le cable
je pense que c'est celui acheté par archimage....
hs:on
le gars en Espagne doit qd même connaitre son truc.... il vends tout un tas de câbles pour le retrogaming.... même pour l'ordi Exelvision qui me faisait rêver qd j’étais gamin : sur cette plateforme il y avait un jeu de tennis génial avec des digits de voix.... c’était archi révolutionnaire a l’époque !!! le gameplay était fabuleux et les gfx ultra léchés a cote de ceux de mon pauvre zx81 qui n'avait que des caractères semi graphiques a l’époque....
detail rigolo : l'Exelvision avait un clavier sans fil infrarouge.... ca aussi c’était une grosse nouveauté ! il me semble d'ailleurs que cette plateforme était française- super hardware mais marketing de merde-
tiens a ce sujet:
hs:off
en revanche d’après les photos d'archimage les résistances sont petiotes sur ce câble....
je vais te trouver l'image du truc qui marche pas sur mes CRT TV histoire que personne ne se fasse avoir.....en mème temps je vais le re essayer..... en modifiant le config.txt..... on ne sait jamais.....
- super hardware mais marketing de merde-
-
Impec si ça fonctionne, forcement, 150000 ohms au lieu de 150 ohms, c'est pas parreil
Je vérifie toujours mes résistances a l'ohmetre, même si elle sont bien classées/rangées.Pour les résolutions de jeux, oui il faut les modifier.
Il faut modifier RetroArch, ex :Ça dépend de ce que tu veux émuler. Par exemple pour un jeu en XXX x 224p, ça donne ça :
Âpres, si tu veux taper dans la perfection, faut utiliser d'autres Timings, ceux en 1920x240p et désactiver le HW Bilinear Filtering.
Il faudra également modifier les Custom Viewport.@nogolem
Le câble doit fonctionner, c'est bien celui qu'a utiliser @archimageP'tite photo souvenir d'une machine qui n'aurait jamais du tomber dans l'oubli...
Oui faut faire attention aux câbles qu'on peut acheter. C'est pas par-ce-qu'il y a un DB15 d'un coté et une Péritel de l'autre que ça va fonctionner. En fait, la majorité des câbles de ce type ne fonctionnera pas. Il faut regarder après les thermes 15Khz et RGB.
-
@ironic hello, ce matin confection d'un nouveau cordon vga-péritel avec la seconde partie du cordon VGA
ensuite quelques essais sur le la console snes avec le snes.cfg suivant :
aspect_ratio_index = "22" custom_viewport_width = "1792" custom_viewport_height = "224" custom_viewport_x = "104" custom_viewport_y = "16"
J'ai touché à la variable custom_viewport_x pour centrer mon image sur la TV.
le rendu est vraiment super.
Voici le schéma de câblage final :
Ce câble fonctionne avec les deux solutions : VGA666 et Convertisseur HDMI VGA.
Je vais continuer avec les autres emus ... questions comment cela va se passer avec les jeux fba?
-
@ironic bon j'ai testé quelques consoles ... pour cela j'ai copier le fichier snes.cfg vers les fichiers nes.cfg, megadrive.cfg, mame.cfg ça marche, c'est surement pas optimal, mais ça marche.
je pense qu'il faudrait connaitre resolution des jeux et machines de l'époques.
-
@ian57 cf le topic sur les overlays
-
@subs effectivement ya pas mal de données dans ce topis... je vais regarder tout ça
-
@ian57
Oui, le câble fonctionne avec un convertisseur HDMI2VGA et un VGA666.
Il fonctionne aussi avec un PC et un SoftMode 15Khz (si la carte vidéo le permet).
Sympa les photos et schéma, si quelqu'un n'arrive toujours pas à faire sont câble, c'est qu'il n'a pas bien lu le Topic.Les résolutions sont variées, il y a même plusieurs résolutions par consoles.
C'est encore pire avec l'arcade.Obtenir une solution parfaite est très complexe voir impossible.
Il faudrait connaitre les résolutions de tous les jeux et utiliser le fichier de config RetroArch approprié.Pire, un jeux comme Sonic 2 sur MegaDrive, utilise 2 résolutions,
Mais c'est relativement rare.On peux probablement extraire les résolutions des émulateurs. Les émulateurs consoles utilisent souvent la même résolution. (ex : NeoGeo : 320x224 )
Attention aux jeux PAL etNTSC.Pour l'arcade, difficile d’extraire les résolutions des infos des jeux et de les associer a des fichiers de config car il existe beaucoup de résolutions et de fréquences.
Utiliser une haute résolution horizontale et un pixel perfect (224p ou 240p) vertical est la solution.
J'avais commencé par essayer d'ouvrir la résolution native de chaque jeux (chaque console) mais j'y ai renoncé.
Dommage, quoi de mieux que d'ouvrir une résolution de 320x240 pour un jeux MegaDrive PAL, c'est du pixel perfect dans tous les sens pour peu que l'on puisse ajuster l'overscan.En tout cas, on obtient un résultat vraiment exceptionnel.
Quand je met un jeu sur MegraDrive original a coté de Recalbox/RetroArch en RGB, l'original fait pitié.C'est théoriquement impossible de faire mieux que l'original, dans la mesure ou l'on essai de copier l'original, mais il faut reconnaitre que la qualité du RPi en RGB envoi du lourd.
-
@ironic @subs Hello,
j'ai donc une question,
ce matin j'ai testé galaga résolution 224 x 288 et donc il manque des lignes
SI j'ai bien compris, il faudrait donc relancer un vcgencmd en changeant hdmi_cvt=1920 240 60 1 1 0 0
d'ailleurs cette directive n'est elle pas annulée par lehdmi_group=1 hdmi_mode=6
qui vient après?
Mais peut être cette commande est elle réservée au hdmi_timings? mais ça marche pas sur 4.1# vcgencmd hdmi_cvt 1920 288 60 1 1 0 0 error=1 error_msg="Command not registered"
je pense qu'il faut mettre à jour le firmware
je devrais remplacer par une truc du style hdmi_cvt=1920 288 60 1 1 0 0
et ensuite régler la config pour le jeux?
mais j'ai aussi la possibilité d'utiliser les mode 21 et 22hdmi_mode=21 576i 50 Hz hdmi_mode=22 576i 50 Hz H
alors que faire ?
ça serait possible de lancer une commande vcgencmd pour changer la résolution on the fly comme indiqué ici https://github.com/raspberrypi/firmware/issues/637 (Sir-ironic :)) avant de lancer le jeu avec retroarch qui contiendrait la bon réso par jeux
-
@ian57 Galaga est un jeu vertical donc à la base on est sensé opérer une rotation de l'image dans les menus retroarch (90 ou 270 degrés). Dans ce cas on a toujours 224 pixels dans le sens de la hauteur et les réglages ne changent pas (mais il faut retourner l'écran pour jouer). Si on veut jouer en mode "yoko" c'est à dire avec l'image verticale affichée sur le moniteur laissé en position horizontale, je n'ai malheureusement pas trouvé de réglages de taille satisfaisants et dépourvus d'artéfacts pour le viewport. Autant le lissage fonctionne bien pour gommer les imperfections lorsque la résolution horizontale affichée comporte plus de pixels que la réso originale du jeu, autant il ne peut rien dans le cadre d'une taille verticale non adaptée.
J'avais fait des tests en ouvrant une résolution de 1920x288@60 avec le cvt et en ajustant l'overscan de la TV verticalement pour que mes 288 pixels soient affichés. Eh bien même comme çà en réduisant la taille horizontale du viewport à 224 pixels l'affichage était bizarre sur mes 2 TVs 55cm avec une sorte de scintillement désagréable sur l'arrière plan :=(.
Mais si il existe une astuce pour afficher correctement les jeux verticaux en mode yoko sur CRT, je suis preneur ! :=)) -
@gkralicek2 merci beaucoup pour ces précisions, il ne me reste plus qu'à faire un système de rotation rapide d'écran https://www.youtube.com/watch?v=azcdbs73ig4.
-
@ian57 faut un b*mp du rpi-firmware, et probablement du kernel + rpi-userland
-
@ian57 Heheeh oui ce genre de truc est absolument génial ! J'aurais rêvé d'avoir un truc automatisé comme çà dans une borne au lieu du classique système de retournement manuel nécessitant l'ouverture systématique du control panel et le déverrouillage du système de blocage de l'écran :=)
-
@subs ben oui je pense... mais à mon avis ça pourrais être vraiment bien couplé à ton system configgen qui permet de charger des configs différentes pour chaque jeux...
-
@ian57 oui mais là configgen (et la config autour) n'est pas prête pour gérer une resolution par jeu, et encore moins par
vcgencmd
. Mais ca reste en visageable. Tu fais une issue pour que je l'ajoute en milestone pour la 4.1 ?