Recalbox sur TV CRT en RGB
-
C'est plus facile pour toi de choisir la résolution.
Faut vraiment que je comprenne ce hdmi Timings, meme avec des infos et des calculateurs, j'arrive pas a faire ce que je veux.Comme j'ai pas câblé le son, j'ai du mal a savoir si le jeu tourne en 50Hz ou 60Hz.
Depuis un moment je compare la vidéo mais comparer le son est une chose a faire.http://www.epanorama.net/faq/vga2rgb/calc.html
http://arachnoid.com/modelines/ -
Encore un petit exemple,
La SEGA Master System.J'ai trouvé ces infos :
Screen resolutions:
256x192 and 256x224.
PAL/SECAM also supports 256x240.
Overscan resolution: 342x262 (NTSC), 342x313 (PAL) [9]
Scanlines: 262 (NTSC), 313 (PAL)J'ouvre une résolution de 256x192 x60Hz (comme le jeu Mickey (USA) de mon exemple).
hdmi_timings=256 1 6 17 18 192 1 26 22 29 0 0 0 60 0 4800000 1Je cale le ViewPort sur la taille du jeu.
Et bien j'ai quand meme des bandes noires en haut et en bas.
J'en perds mon
Faut vraiment piger ces histoires de Timings...
-
@ironic Rien de plus naturel ces bandes noires de la Master System sont bien connues, en 192 tu ne rempliras pas tout l'espace. L'Atari aussi aura des bandes sur 210
-
Il y a un truc que je ne pige pas dans la démarche, tu produis une résolution par console ? Ou ce sont les viewports ? Moi j'ai une resolution unique 240p60 et un viewport par console.
-
Je créé une résolution par console a l'aide du hdmi_timings= dans le config.txt
Ce qui m'oblige a rebooter après avoir changé de resolution.Voila ce que j'utilise pour le moment :
#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)#hdmi_timings=320 1 25 30 30 240 1 9 3 10 0 0 0 60 0 6400000 1 # En test
#hdmi_timings=320 1 8 48 24 240 1 5 1 16 0 0 0 60 0 6400000 1 # OK mais légère déformationOn a une approche différente, c'est vrai.
Je me dis, le jeu fait 256x224 a 60Hz, donc j'ouvre une résolution de 256x224x60Hz
Mais comme l'overscan bouffe pas mal l'image, je me dis.
Il faudrait ouvrir une résolution de 280x256x60 avec un ViewPort de 256x224 pour pouvoir voir l'integralité du jeu.Tu utilises du 1920 en X mais je pense pas que ce soit utile (ou alors tu confirmes formellement).
Déjà a l’époque avec mon Amiga 500, en 1280x256, je voyais que la TV était a la rue et zappait des "pixels" en X. -
@ironic Je confirme voir une différence dans la définition sur SF3 entre le 720 et le 1920, mais c'est possible que je me trompe, le temps de rebooter et de regler le viewport est suffisament long pour perdre la mémoire visuelle... Mais je constate que les contours des personnages sont moins grossiers en 1920 pourquoi je ne saurais pas te dire. Le seul effet négatif que j'ai eu c'est un sifflement plus prononcé de la télé, mais il a été résolu en rajoutant l'option margin dans hdmi_cvt. Il faut avoir une connaissance approfondie de libretro et de SF3 pour te confirmer ou pas si le core force la résolution de certains jeux. J'ai trouvé sur le net que je ne suis pas le seul à avoir remarqué ça. Sinon en dehors de cette histoire sur le 1920 je pense que ta démarche est très intéressante, je suis curieux de savoir comment on pourrait forcer une résolution différente entre chaque core sans avoir à rebooter... Aussi il faudrait savoir comment la télé traite réellement cette situation dans le cas des vraies consoles ? A-t-elle un mode particulier, prenons 240 lignes en 50 ou en 60, et que la console rentre plus ou moins dans le cadre ou produit-elle un espace différent pour chaque console ?
-
Je viens de faire une comparaison photo, le 720 est identique au 1920 c'était juste une impression... Cela veut dire que je gagnais de l'input lag inutilement.
-
Je pense que tu es sur la bonne piste, je vais tester tes timings un peu aussi.
-
Merci pour ces infos.
Savoir comment les consoles traitent les TV, c'est ce que je cherche a comprendre car je n'arrive pas a reproduire les mêmes résolutions/aspects avec le Rpi.
Par contre, j'avance avec les Timings, j'ai réussi a faire des trucs du genre avoir une même résolution et un vievport plus petit (je ne parle pas de Retroarch).
Ça permet de réduire l'overscan tout en conservant la même résolution. C'est juste des pixels plus petits.Apparemment, on peut définir une zone dans laquelle sera définie une résolution.
Ça correspond peut être a ton "margin".J'avance doucement car j'ai fait péter un plomb a la TV plusieurs fois avec des Timings a la con.
-
Il reste 2 hypothèses, soit c'est possible de créer autant de résolutions que de cores et les lancer au démarrage de chaque jeu, soit on doit rester à une seul résolution maxi et adapter le viewport à celle-ci, pour cela il faudrait connaitre le jeu qui a a résolution la plus élevée, je suppose que ça doit se situer entre libretrot mame et la dreamcast...
-
En 640 par contre j'ai une perte importante de qualité, du tearing au scrolling horizontal et une image un peu déformée. Je remonte pour refaire des tests...
-
Bon je me suis rendu compte que je ne comparais pas bien, en utilisant les fleches de direction sur windows en zoomant il se deplace sur la même photo, alors qu'en fait j'avais deux fichiers entre lesquels je voulais alterner...
J'ai réalisé qu'il y avait une très subtile différence quand même sur la définition de certains éléments comme les textes
Encore une fois il se pourrait que ça vienne d'autre chose, mais il y a une différence perçue en vrai, quoique minime. Je trouve que c'est mieux en 1920, mais je ne saurais pas l'expliquer.
Difficile de prendre des photos aussi...
Si ça se trouve ça n'a aucun rapport avec la résolution, juste une histoire de proportions des pixels ?
-
Je pense meme qu'il faudrait autant de résolutions que de résolutions nécessaires.
C'est a dire qu'une même console (et je ne parle pas d'arcade) a parfois plusieurs résolution.
Pour bien faire in faudrait connaitre la résolution du jeu avant de le lancer mais je ne vois pas comment faire cela automatiquement.
Moi je le fais sous Recalbox 3 avec mon LCD en ayant mis tous les jeux dans une liste avec leurs résolutions.
Ca permet de gérer l'aspect ratio également et les jeux horizontaux/verticaux.
Mais la n'est pas le sujet.
Par contre, la DreamCast, c'est du 640x480 je crois, donc impossible. Idem la Playstation.
Non entrelacé, ça doit être du 288p maxi je pense.Je testerais quand je serais de retour les changements de résolutions a la volée.
Entre tes 2 versions 1920 et 720, je ne vois pas de différence. Si il y en a une, c'est minime.
A mon avis, la résolution max utilisable (et raisonnable) non entrelacée et de 720x288.Encore pas mal d'essais nous attende...
-
Attention la dc : on n'utilise pas le core retroarch, donc ca va être une autre paire de manches pour la gérer. Idem la N64
Prenons le problème à l'envers : pourquoi ne pas assigner une resolution TV de 640x480 ? Là vous cherchez à faire du pixel perfect 1:1 par rapport ) l'origine. En 640x480, vousne faite que doubler la résolution verticale, je doute que ce soit une hérésie pour le rendu ?
-
Dans mon cas je suis déjà en 480i pour ES, mais c'est entrelacé donc quasi injouable dans cette résolution à moins d'utiliser des filtres d'adoucissement.
-
quelle est la nécessité de faire tourner les émuls en 240p plutôt qu'en 480p ?
-
@subs La plupart ont été conçus en 240p avec comme intention de tirer profit du scanline naturel de la télé qui s'intercale entre les lignes, et le 480p n'est pas supporté par le CRT, il n'y a que le 480i qui passe la barre mais avec de gros scintillements et une image moins belle.
-
@subs said in Recalbox sur TV CRT en RGB:
quelle est la nécessité de faire tourner les émuls en 240p plutôt qu'en 480p ?
-
@ironic et @archimage ce que vous faites est extraordinaire.
En résumé, je comprends que les exigences sont les suivantes:
- rPi (tous les modèles?)
- GPIO > SCART
- installation du driver VGA666
- modification du config.txt
C'est vrai?
J'ai un modèle Raspberry Pi B1, j'offrir à «volontaire» pour acheter un prototype GPIO > SCART pour le test! ; D -
@subs
Comme la dit @archimage , les TV CRT (pas les moniteurs CRT) ne peuvent pas dépasser une certaine résolution verticale.
Pour le progressif 50Hz, c'est probablement de l'ordre de 288p.
Après on passe en entrelacé, la permet de doubler le nombre le ligne mais les ligne paires sont affichées les trames (ou frames) paire et les autres lignes, les frames impaire (en gros). Ce qui rend l'écran difficile a supporter pour des jeux non prévus.
La tv CRT a une résolution de soit 288p ou en doublant on obtient 2x228=576i. (PAL). Pour du NTSC c'est 240p et 480i.
Attention, je parle des lignes visibles, en faite en PAL il y a 625 ligne et en NTSC 525 lignes.@Scandy
Pour le moment, ce n'est pas évident de fair fonctionner le Rpi sur la TV.
Si tu veux essayer, tu peux achete :
Un GPIO2VGA (c'est toi qui a donné le lien, je crois. J'en ai même commandé 2 sur Pi-Supply).
Et un câble VGA2SCART comme cité plus haut.Faire un GPIO2SCART me parait problématique.
La connectique Péritel est énorme pour tenir sur une petite platine posée sur le Rpi.
Autant utiliser que qui existe déjà.Et pour la configuration/essais, lis le forum (je pense que t'as tout suivi) mais ça reste expérimental.
Pour les Rpi compatibles VGA666 :
Rpi1B+ : OK
Rpi2 : OK
Rpi3 : Je vais tester mais je pense que oui.Attention, NOOBS/PINN non compatible.
Il y a surement un petit truc a faire mais j'ai pas cherché.Sinon, je crie pas youpi mais j'arrive a changer de résolution a la volée.
Lire le post jusque la fin et installer directement le 2eme firmware, le 1ere fonction pas comme on veut.
https://github.com/raspberrypi/firmware/issues/637
Et sa fonctionne par SSH, trop de la balle vais pouvoir optimiser mes résolutions sans rebooter a chaque fois.Par contre, il faut utiliser :
vcgencmd hdmi_timings
car l'autre ne fonctionne pas en dessous de 640x480
vcgencmd hdmi_cvt