Issue with CRT Shaders Not Displaying Correctly

Hi all!

I recently completed configuring my MAME cabinet for use with a CRT TV and a Pi 3. Everything looks great, but I am having issue using any of the supplied CRT shaders to create scanlines. The lines appear dark and thick…I believe they are banding artifacts? Here is a breakdown of my configuration:

  • 27" CRT TV connected via HDMI -> S-Video converter
  • Raspberry Pi 3
  • 3840x480 resolution
  • integer scaling on
  • Aspect ratio 4:1 (this creates a full screen image for all horizontal games

I am thinking the Aspect ratio needs to be adjusted to display scanlines properly, but I can’t seem to dial it in. Like I said, everything looks great on the screen, but I would love to have scanlines displaying as close to 240p as possible. I have watched videos online and browsed multiple forums for a solution.

Any help or advice you have is greatly appreciated!

to my knowledge, HDMI->Svideo/composite converters all include a hardware encoder that takes the input and up/down-scales it to 480i and there’s no real way to get around it. With that in mind, adding in artificial scanlines isn’t going to look good in that case. As an interlaced signal, it will have its own natural scanlines but they alternate between fields each frame and probably aren’t very visible, if at all.

Unfortunately, getting 240p from a PC/RPi to a standard NTSC TV is pretty difficult. Does your TV have component/YPbPr video inputs, by chance?

Thank you for your reply! Actually, yes, my set does include component. However, the converter I am using only goes to S-Video. Here is the link for the unit I purchased:

Are you thinking that running HDMI to component would eliminate artifact because the video is separated three ways instead of two? It would be no issue buy a new converter, but I am wondering how this might get me closer to what I am looking for.

Basically, there are a bunch of different ways to approach the problem but none of them are particularly convenient.

What you would do is run HDMI to VGA (those adapters are approx $10 on amazon; I use this one with my rpi: https://www.amazon.com/gp/product/B00NNKIK2E feeding into a J-PAC in my arcade cab) and then take that into a VGA to YPbPr transcoder, like this one: https://www.amazon.com/Monoprice-108668-VGA-Inch-Component-Converter/dp/B009GUQIPG

You could also skip the HDMI-to-VGA converter and use a Gert’s 666 GPIO-to-VGA adapter instead, though that will tie up your GPIO pins if you were hoping to use them for controls.

There are some HDMI-to-YPbPr converters (like this guy: https://www.amazon.com/Portta-PETHRSP-Component-Converter-support/dp/B00JVNUAEI) but I’m not sure how well it would handle “240p” signals (that is, if it would do the same 480i thing your current adapter is doing).

To be honest, I think the RPi isn’t a great way to accomplish what you’re wanting, due to the hassle, and I would recommend RetroArch on Wii/U as an alternative, since it can do native double-strike/“240p” via YPbPr with no additional hassle (beyond the initial softmod). I have a couple of PVMs, and that’s how I emulate on them rather than fussing with chains of adapters connecting to a PC/RPi. Wii/U won’t do PSX/N64, but almost everything else is in good shape.

You know…that is a fantastic point! Why go the long way around it, when you can start with a true 240p signal? This might be the route I take in the future. I mean, it makes sense, since the Pi is extremely portable. I was going to do buy a second and build it into my Xarcade controller…but now I have something to think about.

Thank you SO much!

My pleasure. I’m familiar with the issues, since I’ve gone through the process myself. I’m happy to answer any other related questions you might have.