Recalbox sur TV CRT en RGB
-
@acris said in Recalbox sur TV CRT en RGB:
Bonjour
si tu es sous windows il faut installer winscp , notepad++ et putty
voir le wikiJ'ai réussi à faire tout ça, j'ai bien l'affichage du thème CRT sur mon écran mais j'ai maintenant un problème d'écran noir au lancement des jeux, il doit y avoir un mauvais réglage ma part. Je suis encore un peu perdu avec les videomode=CEA 6 HDMI ou parfois = CEA 21 HDMI.
Pour le moment je ne fais que des essais sur snes avec un fichier snes.cfg créé. -
@aTg @Substring Goot news... RGB-Pi is supported almost out of the box in 4.1 : the only thing is to add some lines in the conf.txt :
dtoverlay=rgb-pi enable_dpi_lcd=1 dtoverlay=pwm-2chan,pin=18,func=2,pin2=19,func2=2 display_default_lcd=1 dpi_output_format=6 dpi_group=2 dpi_mode=87 hdmi_timings=320 1 20 29 35 220 1 10 14 16 0 0 0 60 0 6400000 1
and the results :
After that need to tune the libretro core to fix the image
-
A lot of reading to do to understand how hdmi_timings are working....
-
@ian57 please share anything that would be worth
-
@substring Of course i will do... but I think there is a great difference between the VG666 mode and the HDMI-VGA mode in terms of hmdi_timings...
-
@ian57 Great, finally try the cable, I think it will not be necessary to generate hdmi_timings, the games are not seen in a correct aspect ratio if we generate the hdmi_timing, for example snes is 256x224 but this is 8:7 aspect ratio and need to rescale to 4:3, with the timing and nothing more the image show with much overscan. So it is better to start from a resolution like 1920x240 and expand it horizontally to 4:3 but keeping the 224 pixels vertical.
I've been testing for a long time and this is definitely the best option because in this way we do two jobs in one, we have a universal timing and at the same time we rescale the games to 4:3
The tests that I am currently doing are 480x300 for fronend and recovery (this is a custom timing the most "HD" posible), default for n64 and 1920x240 for global.videomode.
After each machine has its .cfg with the necessary rescaling and center parameters, the next step is to create .cfg for each game as a temporary solution to see all games in the original aspect.
-
Hi.
I tried RGB-Pi40Beta3, nice jobFirst boot, all was so ... ugly
Of course, i use my home made GPIO2SCART so i put :
dpi_output_format=5 in config.txt
and change dtoverlay=rgb-pi by dtoverlay=vga666
(but dtoverlay=rgb-pi works)Let see how i prefer use Rpi/CRT :
For emulationstation :
- I Prefer to use this timings : hdmi_timings 506 1 8 44 52 240 1 6 10 6 0 0 0 60 0 9600000 1
(But your timings ar ok) - Another skin, this one isn't very nice on CRT.
For RetroArch :
-
I use vertically pixel perfect but not horizontally.
So INTERGER SCALE must be DISEABLE !!
and vertical pixels must be set in CUSTOM_VIEWPORT_HEIGHT. -
I use horizontally high resolution as :
hdmi_timings 1920 1 52 208 260 240 1 6 10 6 0 0 0 60 0 38400000 1
(i use this timings for all emulators) -
I Disable THREADED VIDEO (less input/video lag)
-
I Disable HW Bilinear Filtering (no nee with 1920 pixels)
(But needed if i use this timings - hdmi_timings 996 1 24 96 120 240 1 3 10 6 0 0 0 60 0 19200000 1) -
I use ASPECT RATIO INDEX : 22 (Custom)
This is my custom Viewports for Genesis :
aspect_ratio_index = "22"
video_smooth = "false"
video_scale_integer = "false"
video_threaded = "false"
custom_viewport_width = "1920"
custom_viewport_height = "224"
custom_viewport_x = "-14"
custom_viewport_y = "12"I always use 240p, all consoles/computers (usually) use 240p and clip to 239, 224, 192...
(Master System use 192p and have nice black bordesHave a high honrizontal resolution is perfect for all systems. No need to
Do not forget there a lot a game in 50Hz, open a 60Hz screen isn't adapted for scrolling quality
I see Mednafen pcengine isn't pixel perfect, 1x ratio is 288x232. Must use other emulator.
Some of Timings i use/used :
hdmi_timings=996 1 24 96 120 240 1 3 10 6 0 0 0 60 0 19200000 1
hdmi_timings=506 1 8 44 52 240 1 6 10 6 0 0 0 60 0 9600000 1
hdmi_timings=336 1 10 30 34 252 1 15 3 42 0 0 0 50 0 6400000 1 AVEC BORDURES
hdmi_timings 480 1 29 35 66 234 1 4 10 18 0 0 0 60 0 9600000 1
hdmi_timings=990 1 22 94 116 240 1 6 10 6 0 0 0 60 0 19200000 1
hdmi_timings=820 1 42 260 100 240 1 6 10 6 0 0 0 60 0 19200000 1Perfect
hdmi_timings=320 1 12 32 44 240 1 6 10 6 0 0 0 60 0 6400000 1
hdmi_timings=506 1 8 44 52 240 1 6 10 6 0 0 0 60 0 9600000 1
hdmi_timings=996 1 24 96 120 240 1 3 10 6 0 0 0 60 0 19200000 1
hdmi_timings=1920 1 52 208 260 240 1 6 10 6 0 0 0 60 0 38400000 1
hdmi_timings=512 1 16 48 64 288 1 3 5 6 0 0 0 50 0 9600000 1I'm will search for more 50Hz resolution.
- Yes, in this way, RetroArch GUI isn't pixel perfect.
- I Prefer to use this timings : hdmi_timings 506 1 8 44 52 240 1 6 10 6 0 0 0 60 0 9600000 1
-
I think i found why Mednafen PcEngine uses 232 lines.
The PcEngine can render several resolutions.
256x224 to 512x242, most commonly 256x239.
(here, timings in 1920 are welcome).Mednaden render first line at 4 (0 to 239), the 4 first lines are ignored.
Mednaden render last line at 235 (0 to 239), the 4 last lines are ignored.
On a 240p (i think, 239 lines are useable on 240) game, 4 to 235 = 232 lines.I think the first 4 lines and the last 4 lines are unused to show pixels because games never use them.
All that remains to verify.
-
-
i always set video_crop_overscan to false.
This is only a retroarch option.Mednafen PcEngine standalone also "crop" to 232p.
-
@ironic thanks again for your work around hdmi_timings, it saves time to all of us. On my side, I finished a VGA-SCART cable with external power supply on the pin 8 on the SCART, to auto switch the TV on AV mode on start up. It is required for arcade cabinet integration. The wiring schema is below :
-
@ian57 The 5V from the Pi isn't enough ?
-
@substring Nop, it does not work on my TV... As i read somewhere else, sometimes 5v will be ok, but most of the time not. I tested a 6.5V phone power supply successfully.
-
The ultimate VGA-RGBScart cable for arcade cabinet integration
-
Nice cable.
I give you Timings i use.
** 60Hz Timings ** Up to 224p
hdmi_timings 960 1 24 96 120 248 1 3 10 6 0 0 0 60 0 19200000 1
hdmi_timings 1920 1 48 192 240 248 1 3 10 6 0 0 0 60 0 38400000 1** 50Hz Timings ** Up to 256p
hdmi_timings 1920 1 48 192 240 302 1 3 10 6 0 0 0 50 0 38400000 1
hdmi_timings 960 1 24 96 120 302 1 3 10 6 0 0 0 50 0 19200000 1Do not forget you can change CRT parameters (as overscan) if you CRT isn't too old.
If you use Arcade monitor, use potentiometers.I think 960 horizontal pixel is enough but, feel free to try.
(Hum, up to 1920 is better...).If you want to play arcade games in 224p/60Hz, it is better to sort them.
I made a script (.bat) to extrach all 224p games from mame and fba romsets.
85% of best arcade games are 224p, never mind honrizontal resolution.There's others game which can"t be run in 224p. like R-Type (384x256x55Hz)
Let's see what wee can do...later.... -
@ironic but the horizontal resolution needs to adjust to the screen, by default many machines resice the native resolutions to 4:3 format and if you expand horizontal many games to 1920x224 the aspect ratio of the game is not 4:3
In SNES for example I need to put 1778x224 in snes.cfg (using 1920 timing) to view the correct aspect of the game.
The case of CPS3, is inside the list of 224p games but is 384 in the horizontal resolution, this shows incredible ovescan for inportant games like sf2.
I think the solution is a database, based on a one standar resolution and with the resicing parameters for every rom, is a lot of work I know but is the only way.
-
Yes, of course, i also resize horizontally to have 4/3 screen.
If not, the horizontal overscan is big and the game isn't 4/3.
In snes, i have approximately the same resolution.For a games of 256x224, 320x224 or 384x224, it's the same viewport.
If viewport is setup for a 224p 4/3 game, it can accept all 224p games.I have an arcade database of over 8000 games with many games informations. i'm writing severls small batabases of games, by vertical resolution and refresh rate.
I think also, databases are the only way to handle games specs.
(i do it since a year with games lists for severals Fba.libretro versions)We must do for MAME and FBA :
Databases of :- 190p at 50Hz
- 190p at 60Hz
- 200p at 50Hz
- 200p at 55Hz
- 200p at 60Hz
...
240p at 60Hz
...
256p at 55Hz
...
-
@ironic mame can generate .dat files with resolution info. I've been using that for some time, but take care to take an old mame version because the format changed on latter versions. As I've worked pretty much with advancemame which is based on Mame 0.106 i have the XML file.
-
Hi,
I follow this thread for some time trying to keep up with all the work/solutions when i will have time to do this.
There is one thing which is not clear for me : who is setting the correct resolution? Is it done by script before launching the emu (libretro core,...) or are you setting the timings and then when the emu ask for a particular resolution, the system changes accordingly (like emu, i.e. mame with autoswitch res, on a PC with soft15khz for example)?
If this is the first solution, how is the resolution modification during game execution is taken into account?
Of course, imho, the second solution seems to be the best one, but perhaps there is some limitation from the emu themselves.
Anyway, keep up the good work, it will be amazing to have a simple 15khz RGB output on the PI!
-
@Substring
Is it this type of database ?
8000 arcade games@onaryc
RGP-Pi (Recalbox 4.0)
For this time, there is one resolution by libreto core.
All resolutions can be found in config.txt file.
It's ready to play. emulator resolution is launched before emulator and emulationstation resolution is restored before back to emulationstation .I think changing resolution on the fly in game is impossible.