Best shader for MD games?

Kega Fusion comes with an excellent TV shader. Unfortunately the Blargg NTSC filter just doesn’t compare. How can I achieve the same look on RA with shaders?

1 Like

The ntsc-320px presets in the ntsc directory should give you good results (I think the 320 versions are for MD, the 256 versions are for NES/SNES.)

The ntsc-320px-gauss-scanline.slangp preset will give you composite color/motion artifacts as well. The ntsc-320px-svideo-gauss-scanline.slangp will emulate an S-Video connection (which didn’t these artifacts.)

These are slang shaders, usable with the glcore and vulkan drivers.

I have tried the shaders but they look a lot worse. The image is darkner and not as well filtered.

You could add the image_adjustment shader to fix the colors and brightness.

Sounds good, how do I go about doing that?

you add one more shader and select the image_adjustment from the misc folder.

Though, i’m not sure if it’s going to work with the shader you are using. Sometimes it works, other times it messes the shader preset, other times you need to place it as the first shader, etc. I’m not very fluent on how shaders work in general.

I believe that’s actually a more accurate simulation of NTSC. The darker colors are there because it’s gamma corrected. Here is uncorrected:

Here is a comparison where you can see how the NTSC shader gets you smoother gradients (i.e: no extraneous greens in orange gradients):

Here is the shader preset:

shaders = "2"
shader0 = "shaders/ntsc-pass1-svideo-2phase.glsl"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
frame_count_mod0 = "2"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "true"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "4.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "shaders/ntsc-pass2-2phase.glsl"
filter_linear1 = "true"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
#scale_type_x1 = "source"
#scale_x1 = "0.500000"
#scale_type_y1 = "source"
#scale_y1 = "1.000000"

Paste it in a file inside the folder called ntsc (I named mine: ntsc-svideo-no-gamma.glslp).

2 Likes

Thanks for the info, didn’t realise that. I made a file as you suggested using Notepad but it would never save as text. I then copied one of the files in the NTSC folder and replaced the text in it with yours but RA fails to load it. Do you have any solutions?

yeah, dont use notepad for writing codes.

Try: ntsc-svideo-no-gamma.glslp

Tv-out tweaks and its variants (gtu etc) have a horizontal blur feature that you can adjust. That’s a better option that using composite because it doesn’t have the awful composite artefacts and yet still gets rid of dithering if that’s your thing. It also has a TV gamma option you can enable.

This is not composite

Thanks for that, unfortunately RA simply doesn’t see any of the .glslp files.

Are you using vulkan by any chance?

Yeah I am due to Beetle PSX HW.

Try this: ntsc-svideo-no-gamma.slangp

Thanks that worked however it still looks pixelated, as if there is no Bilinear Filtering. The picture you posted looks much better.

I don’t get it. The screenshot I posted was taken while using the very same shader that I linked before.

Are you sure you placed the preset in the proper folder, like this?:

slang-shaders
└── ntsc
    └── ntsc-svideo-no-gamma.slangp

Would this one make any difference?: ntsc-svideo-no-gamma-2.slangp

Tried that too, same result.

do you happen to have disabled bilinear filtering in the video settings?Zwischenablage01