New CRT shader from Guest + CRT Guest Advanced updates

Actually I’ve been using it lately thanks to your recommendation and I got some amazing results. It balances so nice the softness of the image and I use it for a kind of an S-Video look. :+1:

2 Likes

I’m glad to see someone else is using it and that Guest said themselves there are no plans to change or remove it. I find it especially beneficial when playing Playstation games. The Resident Evil series as well as the Spyro games are my favorite to play. The NTSC shader coupled with the downsampling option really help create a desired softness, like you mentioned, that makes the games look really good to my eyes. I think it’s especially helpful with PS1 games because the masks + higher resolution + scaling is required for a proper look and the downsampling helps balance the overall image especially against games like Resident Evil with the pre-rendered backgrounds.

3 Likes

Hi guest.r

I’m using your ntsc-adaptive.slangp (great work :grinning:) Currently the shader switches to 2 phase when the game has larger horizontal res (more than 300 I suppose?) when using auto mode. I’m wondering if it’s possible to change the “auto” behavior by modifying a couple lines in the “ntsc-pass1.slang” file so it would switch to the “Mixed” ntsc phase instead of 2 phase, when the horizontal resolution is more than 300.

I can’t read the code buit it seems it has something to do with the following lines:

phase = (global.ntsc_phase < 1.5) ? ((OriginalSize > 300.0) ? 2.0 : 3.0) : ((global.ntsc_phase > 2.5) ? 3.0 : 2.0);
	if (global.ntsc_phase == 4.0) phase = 3.0;
	
	CHROMA_MOD_FREQ = (phase < 2.5) ? (4.0 * PI / 15.0) : (PI / 3.0);

Can you let me know how to achieve this if it’s doable?

1 Like

Hey!

Replacing auto phase 2 with 4 is doable, but can’t hit mainstream releases for many reasons. If, then more ntsc shaders had to be corrected.

Good news is that games and gaming resolutions don’t tend to switch modes at all, with some possible exceptions with playstation 1 games.

So, also considering sharpening and deblur options you should be perfectly cool with just setting the phase to 4.0 and save it (with other tweaks) into a preset.

I’m also a bit curious about situations where this solution doesn’t work very well, if you find some issues.

1 Like

Thanks for the reply. I just like phase 4 better. The colors are less washed out and it treats dithering as well. And if you like the fringing effect for NES/SNES games games, when you use the same preset for Genesis games (2 phase kicks in), the game can look horrible when scrolling (1s stage, Gunstar Heroes) with the background moving back and forth rapidly.

I can always use 2 different presets for 256x224 vs 320x224, but I have lots of presets and use them depending on my mood. In my case it’s not adding just one preset :frowning:

I’ll need to add one for each of my preset variants. eg:

360TVL
450TVL
600TVL
900TVL
600TVLShadowMask

360TVLMaxMaskeffect
450TVLMaxMaskeffect
600TVLMaxMaskeffect
900TVLMaxMaskeffect
600TVLShadowMaskMaxMaskeffect

360TVLMaxBrigtness
450TVLMaxBrigtness
600TVLMaxBrigtness
900TVLMaxBrigtness
600TVLShadowMask

360TVL-NTSCAutoPhase
450TVL-NTSCAutoPhase
600TVL-NTSCAutoPhase
900TVL-NTSCAutoPhase
600TVLShadowMaskNTSCAutoPhase

360TVL-NTSC4Phase
450TVL-NTSC4Phase
600TVL-NTSC4Phase
900TVL-NTSC4Phase
600TVLShadowMaskNTSC4Phase

. . . .

Probably only useful for enthusiasts but still nice if it can be done.

1 Like

Hi

I did made a preset to use CRT Guest Advanced NTSC with swanstation (retroarch duckstation) with adaptive 4X of the resolution in mind, since there are many PS1 games switch between 240p and 480i like Vigilante 8: 2nd Offense everything seems ok but after I update to crt-guest-advanced-2023-12-02-release1 it look wrong (big RGB mask) unless I set back the ntsc-pass1 scale to 2x or more (from 1x) which will make the Game lag

is it bug in ntsc-pass1 with 1x? or it shouldn’t used now? and if so what the solution in this case?

the presets I made https://mega.nz/file/t7oU0SgS#nUx5Z4CsMfhf8g2pAI-aL-RfV6_gfvxv_BdUxdaxjAs

edit: New CRT shader from Guest + CRT Guest Advanced updates or better New CRT shader from Guest + CRT Guest Advanced updates is the last update that work with 4x

1 Like

There were changes in the ntsc shaders, but more or less for the better, making them compatible with pre-scalers. Working as intended, I would say, and a workaround is nearly impossible for these special scaling reduction conditions.

Bug is not an adequate description, it’s how the shaders work to process the most relevant situations. But you can still adjust NTSC resolution scaling parameters and see what it brings. It’s your best option to compensate for the performance tweaks involved.

A good compromise would also be to use 3x or even 2x internal resolution + fxaa (instead of one of the stock shaders in the beginning, minding to set the sampling to linear).

3x res+ fxaa should have better looks than 4x res + ntsc pass 1 with 1x scale.

1 Like

thank you

I will try that but my goal is to blend the look of retro crt with some improvements that why I go with 4x res + ntsc svideo (in fact it’s composite with no dot crawl and rainbowing)

edit: but in any case, can the old behavior restored at least with an option in the next update?

1 Like

I think there is an even better solution. You can just copy and replace the last versions ntsc shaders which work OK for you into the latest crt shader version.

The ntsc shaders are in guest/advanced/ntsc folder.

2 Likes

1 Like

I did back to last shaders that retroarch has and the problem already gone (I think it’s not uptodate yet) but I was talking about something future proof, also I already did some tutorial video in youtube for this 4x case

1 Like

In this field things are always advancing so I think it’s really important to be version specific in your guidelines and be prepared to backup your current setup as a sort of snapshot of your environment because this is the reality of how things work around here.

Things like YouTube videos might need to be updated. Other than that you can try to keep up with the blazing pace of Shader/Software development by updating your presets to suit whatever the latest Shader versions have to offer or might have changed but that approach may not be easy or the most feasible because from a CRT Shader Preset and user perspective, the latest and greatest advancements might not always be necessary for you if you’re satisfied with a particular look after extensively tweaking the possibly older stuff beyond what the average user might have been doing.

So what do you do? Just update for the sake of being on the highest or latest number and break your preset as a result even though it’s not necessarily going to look much better and do this every time there’s a major update to the underlying infrastructure?

1 Like

to be clear I don’t mind break some things in the preset, it already break how the ntsc preset work in the last updates before “crt-guest-advanced-2023-12-02-release1” which I see it change for good

but this change (of the ntsc pass 1 with 1x scale) kinda hard to me, anyway I don’t mind keep the current default behavior if there are an option inside the shader allow me to go back to the old behavior

NTSC resolution scaling should solve the problem, you could try to lower the parameter value.

2 Likes

thanks, it’s better now but still not same as it was before, even with 0.20

1 Like

For now, you can use older ntsc versions + latest crt shader files. I’ll see what i can do about this situation in the next release.

3 Likes

Next release huh? I started working on another update preset pack about 2 days ago putting the finishing touches on it. Maybe I should hold off until you drop your next bomb on us.

1 Like

It’s not a big deal, just some small fixes. Probably for the official repository also.

1 Like

Ah ok. I’ll see how things play out then.

1 Like

New updated CRT-Guest shaders for ReShade!

Some shots -

11 Likes