When NTSC filter is mandatory?

I’m not sure of what should I pay attention to in the screenshot, to start with :slight_smile:

OFF-TOPIC: I quicly drafted thick scanlines with deep gaps

DO_CCORRECTION = "1.000000"
IN_GLOW_POWER = "1.300000"
TEMPERATURE = "6600.000000"
IN_GLOW_GAMMA = "2.200000"
GAMMA_OUT = "0.490000"

DO_FXAA = "1.000000"

DO_IN_GLOW = "1.000000"
IN_GLOW_W = "-0.700000"
IN_GLOW_H = "7.000000"

DO_PIXELGRID = "1.000000"

DO_PIXELGRID_W = "0.000000"

DO_PIXELGRID_H = "1.250000"
PIXELGRID_MIN_H = "0.800000"
PIXELGRID_MAX_H = "0.800000"
PIXELGRID_GAMMA_H = "8.000000"

PIXELGRID_Y_MASK = "0.0"

DO_HALO = "0.0"     

DO_BLOOM = "0.000000"

DO_CURVATURE = "1.000000"
GEOM_CORNER_SMOOTH = "400.000000"

DO_BEZEL = "1.000000"
BEZEL_INNER_ZOOM = "-0.015000"
BEZEL_FRAME_ZOOM = "0.170000"
BEZEL_R = "-0.190000"
BEZEL_G = "-0.190000"
BEZEL_B = "-0.190000"
BEZEL_CON = "2.180000"

DO_VIGNETTE = "1.000000"
V_SIZE = "1.080000"

DO_SPOT = "1.000000"
1 Like

if i’m not wrong too, some people used to say back in those years, when things such as big crt tvs begin to release, had poor quality image compared to smaller around 20 to 30 inches tvs, this is because of deconvergence and geometry issues which happen to cause some weird pixelation and non aligned linear image, this is not the case in all sets as some tvs even before the big size sets had some sharpening of the composite image, we obviously we don’t have to deal these days with geometry and decovergence issues that much, except for things such as slot shadow mask and curvature, which requires a 4k tv to be replicated correctly, also we gotta consider that over things such as the neo geo cd you can indeed have an arcade game with composite

3 Likes

It wasn’t the lines, sorry for the confusion. :man_facepalming:t2:
The scanlines of your shaders are perfect.

It’s the dithering and how it looked on the monitors. The dithering was not completely removed, but it remained as a dirty/textured color.

The monitors had options to adjust, but I think I’m confusing the names. Moire, Jitter, Convergence, I have to try it when I have a monitor handy.
The tvout-jinc shader (with or without scanline) has an option that does something very similar, seems to sweep the pixels.

Captura de pantalla de 2023-11-22 14-56-00

Pure handles too many types of video (even RF), having these controls to handle dithering/blur can be a very good thing. If you have it, I didn’t get it, ignore this. :pray:t2:

The bigger the monitor, the blurrier it looked, but it had to be seen from far, far away.

I partly understand the claim of people “as they looked before” I grew up connecting the console by the antenna cable and in arcade with decaying monitors.

I’ve even seen “important people” making shader comparisons on a real monitor, using DOSBox on Windows with a 1280x1024 resolution, when the game is for DOS at 320x200. Obviously you can see the dithering. Actually it looked more like this.

3 Likes

Hey @alexb3d, could you please post the preset/filter combination you used on these images?

Expanding the topic.

We (myself included) don’t always use the term NTSC in a proper way. What really makes the difference is the quality of the cable. We always talk about NTSC, but we should talk about RF, Composite, S-Video. We just put those under the NTSC “umbrella”, but improperly. I mean, PAL games had dithering, too.

RF, Composite, S-Video and RGB produce different effects because the cables are different, in how many different channels they bring. For example, the dithering happens not because of NTSC, and only partially because of the TV: it happens because of the resolution and the colour bleed of the cable.

I always use this image to explain it.

8 Likes

It is the one I had commented, “preset/tvout+interlacing/tvout-jinc-sharpen+interlacing” with the predefined settings, press the space key to select the default value.

The only value I customize is the first one, ‘TVOut Signal Resolution’ to 640.00 VGA monitor type.

It is normal to refer to it informally, it was just an informative note, if someone does not know it.

The cable is undoubtedly what most influences, and the mask but there are other physical elements somewhat ignored, the TVL (just published a good post), the ‘thickness’ of the mask, the power supply, the quality of the components is something that should be elementary. Sony is not the same as Chony. :man_shrugging:

Years ago I bought online a new CRT, Kia (?) brand, what a horrible shit, it looks worse than a Disney videoclub in Betamax.

Post data. We usually ignore PAL, which is nothing but half the world, the chart would be missing scart (euroconnector) which, I understand, is different.

2 Likes

There are also vast differences in the video output quality and characteristics among different consoles and systems.

1 Like

Some blending works on RGB as well. Check this out: door-door-pc-88

Look at the little “Namegon” fella. Perhaps open the picture in a new tab and zoom in. He’s obviously drawn differently. The body is made up of yellow and red, as the platform in this case (early PC-88) had only 8 colors, orange wasn’t among them.

And here is what it looked like when I fed that image to my AEG TV:

Doesn’t look quite so different anymore from the others, even from a fairly close distance.

I have to try and see if looks much different on my CRT monitor, later.

6 Likes

And the Nintendo Nes, it looked better with the Super Nintendo “apparatus”. I don’t even remember what it looked like, but it felt better, without interference.

No wonder, Those of NEC were are demons with patterned screening. In addition to their custom monitor and graphics, they had a lot of fliexibility. On the PC monitor, you might have to tweak the Moire a bit.

I just got this publication, it may have important information RF connectors of the PC and console connectors.

1 Like

TVOut Signal Resolution’ to defaut 256

This make Great fo Super Castlevania IV:

2 Likes

What if you use the TVOut without scan lines and add “Append Preset” crt-lottes-multipass? o un Hyllian o un Guest?

And do you activate the Composite Enable options?

I was testing arcade games and I am almost sure that the resolution is the horizontal, not the vertical, that is, this game is 300, it would be 320.

1 Like

I tried here, but maybe I didn’t get the whole message. I don’t know what you meant by disabling scanline for this preset. But I still want to try. Could you give me more details?

I think I should have said without interlacing, it is the “tvout” option above “tvout+interlacing”.
image
Also, the +interlacing preset has a parameter “Interlacing Scanline Bright %”, which eliminates scanlines.

1 Like

Oh yes! I can do the tests. Thanks!

The result pleased me a lot.

However, using tvout+ Interlacing (Interlacing Scanline Bright % to 1.00 value) was better. But activating Composite removed a lot of color.

I tested it with other append shaders, like CRT Geom and I think it looks even better:

3 Likes

Guys, I’ve really started using the benefits of NTSC. Some games really look good using this filter. But I would like to better understand how to improve the look, without leaving noise, without colors loss or lighting.

If anyone wants to post their favorite presets, NTSC adjustments, I would like to try them.

Here are some parameters that really change the look:

Are there still other important ones?

Does this scale have to do with the system resolution?

5 Likes

The resolution scaling can break dithering, so I typically leave it alone (if the dithering isn’t blended, what’s the point?)

Here are some settings I’ve been using:

shaders = "18"
shader0 = "shaders_slang/crt/shaders/guest/advanced/stock.slang"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "shaders_slang/crt/shaders/guest/advanced/stock.slang"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "StockPass"
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/crt/shaders/guest/advanced/afterglow0.slang"
filter_linear2 = "true"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = "AfterglowPass"
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"
shader3 = "shaders_slang/crt/shaders/guest/advanced/pre-shaders-afterglow.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "PrePass0"
float_framebuffer3 = "false"
srgb_framebuffer3 = "false"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass1.slang"
filter_linear4 = "false"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = "NPass1"
float_framebuffer4 = "true"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "4.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass2.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = ""
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "0.500000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass3.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "source"
scale_x6 = "1.000000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/guest/advanced/custom-fast-sharpen.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "NtscPass"
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/crt/shaders/guest/advanced/stock.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "true"
alias8 = "PrePass"
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
scale_type_x8 = "source"
scale_x8 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/guest/advanced/avg-lum-ntsc.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "true"
alias9 = "AvgLumPass"
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "source"
scale_x9 = "1.000000"
scale_type_y9 = "source"
scale_y9 = "1.000000"
shader10 = "shaders_slang/crt/shaders/guest/advanced/linearize-ntsc.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = "LinearizePass"
float_framebuffer10 = "true"
srgb_framebuffer10 = "false"
scale_type_x10 = "source"
scale_x10 = "1.000000"
scale_type_y10 = "source"
scale_y10 = "1.000000"
shader11 = "shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced-ntsc-pass1.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = "Pass1"
float_framebuffer11 = "true"
srgb_framebuffer11 = "false"
scale_type_x11 = "viewport"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/guest/advanced/gaussian_horizontal.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
alias12 = ""
float_framebuffer12 = "true"
srgb_framebuffer12 = "false"
scale_type_x12 = "absolute"
scale_x12 = "800"
scale_type_y12 = "source"
scale_y12 = "1.000000"
shader13 = "shaders_slang/crt/shaders/guest/advanced/gaussian_vertical.slang"
filter_linear13 = "true"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
alias13 = "GlowPass"
float_framebuffer13 = "true"
srgb_framebuffer13 = "false"
scale_type_x13 = "absolute"
scale_x13 = "800"
scale_type_y13 = "absolute"
scale_y13 = "600"
shader14 = "shaders_slang/crt/shaders/guest/advanced/bloom_horizontal.slang"
filter_linear14 = "true"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = ""
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "absolute"
scale_x14 = "800"
scale_type_y14 = "absolute"
scale_y14 = "600"
shader15 = "shaders_slang/crt/shaders/guest/advanced/bloom_vertical.slang"
filter_linear15 = "true"
wrap_mode15 = "clamp_to_border"
mipmap_input15 = "false"
alias15 = "BloomPass"
float_framebuffer15 = "true"
srgb_framebuffer15 = "false"
scale_type_x15 = "absolute"
scale_x15 = "800"
scale_type_y15 = "absolute"
scale_y15 = "600"
shader16 = "shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced-ntsc-pass2.slang"
filter_linear16 = "true"
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
alias16 = ""
float_framebuffer16 = "true"
srgb_framebuffer16 = "false"
scale_type_x16 = "viewport"
scale_x16 = "1.000000"
scale_type_y16 = "viewport"
scale_y16 = "1.000000"
shader17 = "shaders_slang/crt/shaders/guest/advanced/deconvergence-ntsc.slang"
filter_linear17 = "true"
wrap_mode17 = "clamp_to_border"
mipmap_input17 = "false"
alias17 = ""
float_framebuffer17 = "false"
srgb_framebuffer17 = "false"
scale_type_x17 = "viewport"
scale_x17 = "1.000000"
scale_type_y17 = "viewport"
scale_y17 = "1.000000"
PR = "0.000000"
PG = "0.000000"
PB = "0.000000"
AS = "0.000000"
sat = "0.000000"
cust_artifacting = "0.000000"
cust_fringing = "0.000000"
ntsc_fields = "1.000000"
ntsc_cscale = "4.000000"
ntsc_gamma = "0.750000"
ntsc_ring = "1.000000"
ntsc_shape = "1.000000"
CSHARPEN = "5.000000"
CCONTR = "0.150000"
CDETAILS = "0.000000"
lsmooth = "0.500000"
GAMMA_INPUT = "2.400000"
gamma_out = "2.200000"
HSHARPNESS = "1.000000"
SIGMA_HOR = "0.500000"
S_SHARP = "0.000000"
HSHARP = "2.000000"
MAXS = "0.300000"
HARNG = "0.000000"
spike = "2.000000"
m_glow = "1.000000"
glow = "0.000000"
brightboost = "3.000001"
brightboost1 = "3.000000"
gsl = "2.000000"
scanline1 = "20.000000"
scanline2 = "30.000000"
beam_min = "1.000000"
scans = "1.500000"
maskstr = "0.650000"
mcut = "0.650000"
deconrg = "-0.500000"
deconrry = "-0.250000"
post_br = "1.350000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"
5 Likes

I’m aiming for the cleanest sharpest composite image I can get while still getting all the benefits of blended dithering. My ntsc preset settings are pretty similar to nesguys settings, those settings definitely will help get you a clean ntsc image.

1 Like

Can you share your latest NTSC Preset with this aim?

1 Like

Most definitely. You can get them in my preset pack here:

That’s my latest update with sample screenshots all taken using the guest advanced ntsc shader. I plan on updating them again hopefully later today as well.

1 Like

The “ntsc_gamma” setting can also sharpen things further. I like to leave it at 0.90 or so.

shaders = "18"
shader0 = "shaders_slang/crt/shaders/guest/advanced/stock.slang"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "shaders_slang/crt/shaders/guest/advanced/stock.slang"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "StockPass"
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/crt/shaders/guest/advanced/afterglow0.slang"
filter_linear2 = "true"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = "AfterglowPass"
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"
shader3 = "shaders_slang/crt/shaders/guest/advanced/pre-shaders-afterglow.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "PrePass0"
float_framebuffer3 = "false"
srgb_framebuffer3 = "false"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass1.slang"
filter_linear4 = "false"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = "NPass1"
float_framebuffer4 = "true"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "4.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass2.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = ""
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "0.500000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass3.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "source"
scale_x6 = "1.000000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/guest/advanced/custom-fast-sharpen.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "NtscPass"
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/crt/shaders/guest/advanced/stock.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "true"
alias8 = "PrePass"
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
scale_type_x8 = "source"
scale_x8 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/guest/advanced/avg-lum-ntsc.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "true"
alias9 = "AvgLumPass"
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "source"
scale_x9 = "1.000000"
scale_type_y9 = "source"
scale_y9 = "1.000000"
shader10 = "shaders_slang/crt/shaders/guest/advanced/linearize-ntsc.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = "LinearizePass"
float_framebuffer10 = "true"
srgb_framebuffer10 = "false"
scale_type_x10 = "source"
scale_x10 = "1.000000"
scale_type_y10 = "source"
scale_y10 = "1.000000"
shader11 = "shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced-ntsc-pass1.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = "Pass1"
float_framebuffer11 = "true"
srgb_framebuffer11 = "false"
scale_type_x11 = "viewport"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/guest/advanced/gaussian_horizontal.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
alias12 = ""
float_framebuffer12 = "true"
srgb_framebuffer12 = "false"
scale_type_x12 = "absolute"
scale_x12 = "800"
scale_type_y12 = "source"
scale_y12 = "1.000000"
shader13 = "shaders_slang/crt/shaders/guest/advanced/gaussian_vertical.slang"
filter_linear13 = "true"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
alias13 = "GlowPass"
float_framebuffer13 = "true"
srgb_framebuffer13 = "false"
scale_type_x13 = "absolute"
scale_x13 = "800"
scale_type_y13 = "absolute"
scale_y13 = "600"
shader14 = "shaders_slang/crt/shaders/guest/advanced/bloom_horizontal.slang"
filter_linear14 = "true"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = ""
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "absolute"
scale_x14 = "800"
scale_type_y14 = "absolute"
scale_y14 = "600"
shader15 = "shaders_slang/crt/shaders/guest/advanced/bloom_vertical.slang"
filter_linear15 = "true"
wrap_mode15 = "clamp_to_border"
mipmap_input15 = "false"
alias15 = "BloomPass"
float_framebuffer15 = "true"
srgb_framebuffer15 = "false"
scale_type_x15 = "absolute"
scale_x15 = "800"
scale_type_y15 = "absolute"
scale_y15 = "600"
shader16 = "shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced-ntsc-pass2.slang"
filter_linear16 = "true"
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
alias16 = ""
float_framebuffer16 = "true"
srgb_framebuffer16 = "false"
scale_type_x16 = "viewport"
scale_x16 = "1.000000"
scale_type_y16 = "viewport"
scale_y16 = "1.000000"
shader17 = "shaders_slang/crt/shaders/guest/advanced/deconvergence-ntsc.slang"
filter_linear17 = "true"
wrap_mode17 = "clamp_to_border"
mipmap_input17 = "false"
alias17 = ""
float_framebuffer17 = "false"
srgb_framebuffer17 = "false"
scale_type_x17 = "viewport"
scale_x17 = "1.000000"
scale_type_y17 = "viewport"
scale_y17 = "1.000000"
PR = "0.000000"
PG = "0.000000"
PB = "0.000000"
AS = "0.000000"
sat = "0.000000"
cust_artifacting = "0.000000"
cust_fringing = "0.000000"
ntsc_fields = "1.000000"
ntsc_cscale = "4.000000"
ntsc_gamma = "0.900000"
ntsc_ring = "1.000000"
ntsc_shape = "1.000000"
CSHARPEN = "5.000000"
CCONTR = "0.150000"
CDETAILS = "0.000000"
DEBLUR = "7.000000"
lsmooth = "0.500000"
GAMMA_INPUT = "2.400000"
gamma_out = "2.200000"
HSHARPNESS = "1.000000"
SIGMA_HOR = "0.500000"
S_SHARP = "0.000000"
HSHARP = "2.000000"
MAXS = "0.300000"
HARNG = "0.000000"
spike = "2.000000"
m_glow = "1.000000"
glow = "0.000000"
brightboost = "3.000001"
brightboost1 = "3.000000"
gsl = "2.000000"
scanline1 = "20.000000"
scanline2 = "30.000000"
beam_min = "1.000000"
scans = "1.500000"
maskstr = "0.650000"
mcut = "0.650000"
maskboost = "1.500000"
deconrg = "-0.250000"
deconrry = "-0.250000"
post_br = "1.250000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"
4 Likes