Best way to output SCART (RGB) from Pi 3?
-
I received the PI2SCART today and used these settings in boot/config.txt:
disable_audio_dither=1 dtparam=audio=on dtoverlay=vga666 enable_dpi_lcd=1 display_default_lcd=1 dpi_group=2 dpi_mode=87 hdmi_timings=320 1 16 30 34 240 1 2 3 22 0 0 0 60 0 6400000 1 #240p
So far it's pretty good. Everything is fitting to screen automatically for the most part. Pixel-TFT theme is working nicely for the small 240p space (well, if you like things pixelated at least ;)
Couple questions:
1.) The picture is cut off around 5-10% of the top/bottom/left/right on 3x different monitors. Can I change this in that hdmi_timing line? I'm only seeing documentation from Raspberry Pi foundation on hdmi_cvt parameters...
2.) SNES (and some NES) is having the characters in the foreground move smoothly, but the backgrounds seem like they're getting some lag - like the background movement isn't smooth and a little jagged as you run by. My brother even noticed it when I had him compare it to a real SNES. Genesis seems fine (maybe because it's running in the exact 240p the config.txt is setup for).
What config.txt settings would I use to put the system into 256x240 mode for SNES and NES? I want to see if the problem is because the system is setup in 320x240 where SNES/NES are 256x240.
3.) Similar to the above, how would I test a 480i mode (which is the max res of these monitors)?
4.) The color looks pretty good but it's a little washed out and brighter than it should be (ironically Genesis is closer than SNES/NES/Arcade). I even reset my monitors to their default factory-calibrated settings (which are usually a little dark), and have compared 4 different actual console systems. –– Just trying to get a good defacto baseline before I start tweaking the settings on the monitors themselves.
-
@Dochartaigh said in Best way to output SCART (RGB) from Pi 3?:
What config.txt settings would I use to put the system into 256x240 mode for SNES and NES?
You should put the following hdmi timings in the config.txt:
hdmi_timings=256 1 8 17 21 224 1 7 10 24 0 0 0 60 0 4800000 1and also add the following lines in the retroarch.cfg files:
for NES:
aspect_ratio_index = "22"
custom_viewport_width = "240"
custom_viewport_height = "224"for SNES:
aspect_ratio_index = "22"
custom_viewport_width = "256"
custom_viewport_height = "224" -
Thanks Max! Is there a primer for what all those numbers mean? I would like to know what I'm doing instead of copying and pasting (which I do appreciate!!!). I can tell it's going to make the overall size 256x244 (maybe 60 hz, 48khz for sound, maybe front and back porch settings whatever the heck those are...), but have no clue what the other numbers mean.
Are some of those numbers the margins so I can get this picture to fill up the screen more properly (instead of like a quarter of it cut off)?
Last, won't the NES be letterboxed on the top and bottom if I edit the /opt/retropie/configs/nes/retroarch.cfg to be 240 when the overall size is 256? Or does something prevent that? (would totally LOVE to learn how to start tweaking these...but can't find much on the hdmi_timing setting).
-
@Dochartaigh
The meaning of the hdmi parameters is:
hdmi_timings=<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> <frame_rate> <interlaced> <pixel_freq> <aspect_ratio>I found these information on the Raspberry Pi forum: https://www.raspberrypi.org/forums/viewtopic.php?t=24679
For an explanation of the parameters affecting the screen position take a look at this thread on the neo-arcadia forum:
http://www.neo-arcadia.com/forum/viewtopic.php?f=58&t=37718&sid=234b0e9379b081851bd78589af7ba599it's in French but the image is self-explanatory.
Please notice that it is not that easy to "play" with these parameters, if you try (like I did) you will come up with with video signals which may be out of your monitor specifications. In most cases you will get a distorted image but you may also damage your monitor, that's why during my attempts to find the correct parameters for the pc engine emulator, I did most of my tests with an old SCART TV instead of my monitors.
@Dochartaigh said in Best way to output SCART (RGB) from Pi 3?:
won't the NES be letterboxed on the top and bottom if I edit the /opt/retropie/configs/nes/retroarch.cfg to be 240 when the overall size is 256?
We are talking about the horizontal resolution here so you might get left and right black bars (not top and bottom) but, as I wrote before, there's no way to prevent this at the moment. The difference in terms of number of pixels between 256 and 240 is really low so you may adjust the overscan parameters on your monitor to avoid letterboxing.
-
@maxriptide said in Best way to output SCART (RGB) from Pi 3?:
Please notice that it is not that easy to "play" with these parameters, if you try (like I did) you will come up with with video signals which may be out of your monitor specifications. In most cases you will get a distorted image but you may also damage your monitor, that's why during my attempts to find the correct parameters for the pc engine emulator, I did most of my tests with an old SCART TV instead of my monitors.
Thank you for all the info!
I already found this out myself too - it's REALLY touchy. I think I literally changed the margin (front/back porch) numbers by like 2 or 3 and my signal was totally unviewable and scrambled on the monitor (like all wavy jumpy lines). I have to do some more research - only need to shrink the margins by maybe 10 pixels and it would fit on these PVM monitors fine. The problem is two of my PVM's don't even have centering in the service menu (it's only increase or decrease the overall size - everything else I have to open it up and manually adjust the pots inside or something to that effect).
Also, when I tried your numbers for NES and SNES the picture was viewable but with horrible dark banding on large areas of it - tried it on my BVM-14F5U, PVM-20N2U, and PVM-14L2MD (they're all daisy chained together) - I think mine might just be different than the monitors you're using (or I messed up someplace with the code!). I will report back when I have some more time to mess with it, and THANK YOU so much for your help so far.
-
@Dochartaigh You might be able to bring the image in using overscan like I did. I used HDMI_CVT to set the resolution and refresh then adjusted overscan to ensure the image filled the screen without borders.
-
@tjohnson said in Best way to output SCART (RGB) from Pi 3?:
HDMI_CVT
What's the difference between HDMI_CVT and hdmi_timings (I've been using hdmi_timings as that's what everybody - including the manufacturer - says to use).
-
@Dochartaigh in my experience hdmi_cvt doesn't work with GPIO output. It works flawlessly with an HDMI-VGA adapter and it is really easy to change resolution parameters, but unfortunately the HDMI-VGA introduces lag, that's why I switched to the Gert GPIO VGA adapter having to deal with hdmi_timings.
-
@maxriptide Im using vga to hdmi so using hdmi_cvt and have got the resolution and image size working great, not sure on the introduction of lag, some people claim to be sensitive to it, I haven't noticed any lag myself, long term gamer but no "pro" gamer. Has anyone got any hard facts on times to convert the hdmi signal to vga or any tests I could run to determine actual lag?
-
@tjohnson I am a shmupper and very sensitive to lag. I have tried measuring the lag by the manual lag measurement tool found in the 240p Suite available for Megadrive, PC engine, SNES and some other consoles. At first I got the hang of it with the real consoles (Megadrive and PC engine) where I could measure an average lag of 0,7 frames which roughly should be your "human response time" since it depends on your reflexes, I used this value as a baseline for the upcoming measurement with retropie emulators. With two different HDMI-VGA adapters I got approximately 1 frame lag more than Gert VGA Adapter. Try yourself, it could be interesting to get lag data with different adapters.
-
@maxriptide had to look up what shmupper meant. I enjoy games like Rtype, Phoenix, Galaga, I'll try and do some lag test with the 240p suite using hdmi to vga and direct output from the composite output.
-
@tjohnson said in Best way to output SCART (RGB) from Pi 3?:
had to look up what shmupper meant
Sorry for that :-)
@all: it just means I mainly play shoot'em'ups (often abbreviated in shmups) -
@tjohnson can you explain what settings i need to do if say i wanted 320x240 using an hdmi to vga adapter? Im not familiar with hdmi_cvt.
-
@edmaul69
here's the settings I use:
hdmi_group=2
hdmi_mode=87
hdmi_cvt=320 240 60 1 0 0 0 -
@maxriptide thank you. Out if curiousity what monitor are you using?
-
@edmaul69 I have these currently set using an hdmi to vga, then using vga to scart adaptor
hdmi_cvt=320 240 60 1 0 0 0
hdmi_group=2
hdmi_mode=87
config_hdmi_boost=4
overscan_scale=1
overscan_left=12
overscan_right=16
overscan_top=15
overscan_bottom=0I'm using these with an old JVC 21" CRT TV, works very well.
-
@edmaul69 said in Best way to output SCART (RGB) from Pi 3?:
what monitor are you using?
I'm using both a Sony PVM 1454QM and a Commodore 1084S
-
You know RGB-Pi? This is the web of the project rgb-pi.com is ready to work with RetroPie
-
So I FINALLY had a chance to mess with this some more and it's a total mess this time around... See this photo showing PiSCART on the left, and a regular SNES console (hooked up to a PVM via RGB cables). Notice the blue and white lines on the Pi2SCART being all wavy (along with the rest of the photo as well - and not being as clear - and the colors not popping quite as nicely).
I was told on the Arcade Forge Facebook page that I had to go into the RetroArch menu and disable all video filters and set the aspect ratio, res and integer scaling (because RetroPie's default settings are made for HDMI TV's and wreck the image on a CRT). On the several topics about this here, unless I missed it, I haven't seen any reference to this causing problems....but I don't see how in the world it wouldn't as these settings are on by default in RetroPie...
Nobody has replied past that above info on Facebook so I thought I'd get your guys input. From this good post on Lakka Optimal Video Settings, I saw these things to tweak, but don't know if I'm on the right track or not:
Pixel Perfect mode (says best picture quality but "Image is square for some systems (i.e NES and SNES), which results in little black bars to the left and right of the image on a 4:3 TV Screen").
Aspect ratio Index 1:1 (PAR 4:3) Windowed scale 1.0 Integer scale ON HW Bilinear Filtering OFF Threaded Video ON Vsync ON
Or this mode is for "Full Screen Mode" (little more blurry but should fit to screen for every system).
Aspect ratio Index Core Provided Windowed scale 3.0 Integer scale OFF HW Bilinear Filtering ON Threaded Video ON Vsync OFF
What would you all suggest? Is this the right track? The most common problem is while I'm flipping through all these options it keeps on changing the Custom viewport size? (or something like that...I really should have taken photos...) - but I know it jumps from like 240p (or native 244p? NES/SNES size) I have the /boot/config.txt set as, to something WAY larger, and doesn't seem to shrink back to that smaller size even if I change the ""Aspect Ratio Index" to "Config" (which should change that back to the config.txt's 256x244 or whatnot).
-
@Dochartaigh it looks like scaling artifacts, do you have overscan enabled in config.txt?
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.