New CRT shader from Guest + CRT Guest Advanced updates

That must have been a hell of a deal I’m sure!

It’s still a game of compromises. At 4K you shouldn’t expect to be able to run every recent triple A title at high refresh rates at maximum settings but do you always need to?

Consoles/console games and devs tend to get this balancing act done pretty well. So what you usually end up with is gamers enjoying playing games with a usually smooth and stable and consistent experience.

I’ve tried to pattern my PC gaming experience around the console model to some extent.

There was a time when I sold my one and only GPU - a GeForce GTX 460 if I recall.correctly to a friend and was gaming in an Intel Core i5 2500K for a while.

When the nVidia GeForce GTX 750 Ti came to market offering exceptional value and efficiency, that was my incentive to return to the world of more serious PC gaming.

I used to use GeForce Experience as a starting point to automagically adjust my settings for every game I installed.

I had a grand time with my GeForce GTX 750Ti.

Always remember that there’ll always be a killer app (or rather performance killer) for GPUs so we have to be wise enough not to spoil ourselves too much over things that are always going to have diminishing returns.

As for the monitor/TV, well we have quite a bit of anecdotal information circling around these forums from users of various display types. You’ve done quite a bit of theoretical work as well trying to find the Holy Grail of CRT emulation centric display technology.

My gut feeling is that a decent Mini-LED screen might be where the sweetspot is right now. However, unfortunately, those types of displays probably have the least amount of real-world reviews for emulation use floating around so you might end up being a Guinea Pig.

Second to that might be a W-OLED Display with MLA technology.

Third might be a high end QD-LED display with excellent local dimming or a Mini-LED QD-LED Display.

You know all the other checkboxes that need to be filled. For example Peak brightness, high refresh rate for BFI e.t.c.

I’m not a big fan of the TCL brand but I remember watching a review where their very conservative dimming algorithm was able to pass the Star Wars starfield test without being excessively bloomy.

I’m not sure if I’d buy a TCL though. Maybe you can take a chance on one of those new MiniLED displays from lesser known brands that have making waves recently, KTC or INNOCN?

What display do you currently have in mind?

2 Likes

So many factors here but I don’t have the space for both a game room and a home office, so my display has to be able to stand up to daily office use. I’m a bit hesitant to use a pricey OLED (or some variant) display as a regular office monitor.

Screen real estate is a factor for me since I’m currently working with two 27" 1080p displays. So I’m looking at larger monitors (32" and up. Also, I want to be able to really see the benefit of 4K.

To this point, I would have to upgrade from my current 60" TV to at least an 80" TV in the living room to really see the benefit of 4K. And I’m not about to replace my Panasonic Plasma with any backlit display. 80" OLED is like $5,000 or something, which I can’t justify and tbh an 80" would be overwhelming in my living room.

A desktop setup is a much more accessible way to enjoy 4K gaming and see all benefits. At distances of 2-3 feet you can begin to see the pixels on 27 inch and larger displays at 1080p. 4K is most beneficial for monitors; it’s somewhat harder to justify for TVs.

I apologize for the off-topic rambling; basically, I guess I’m looking for any FALD 4K display that’s at least 32", preferably a bit larger, in a standard 16:9 ratio. The ones from INNOCN and KTC might fit the bill.

2 Likes

I replied here but had to edit my last post since I was the only user posting in that thread:

3 Likes

I lowered Mask gamma from 5.00 to 2.75, but raised mask bloom a bit. I like how it looks, I’m just testing though…

3 Likes

Hi everyone, please I needed some advice. I wanted to emulate DOS games, and I was trying the HD preset with double scan line activated, magic glow activated and mask number 1. Would you recommend increasing the internal resolution, and if so by how much? Thanks for your help.

1 Like

With VGA scan mode, there is no need to increase internal resolution with DOS games, unless you prefer to use a scaling algorithm before the crt shader (xbr(z), scalefx…).

Default internal resolution is the way to go and even if you run some 3D games like Quake, it’s still best looking and working with default internal resolution.

Default resolution can be like 640x480 or higher and the shader handles it appropriately when shifting contents.

2 Likes

Thank you so much for your reply and your work. Thanks to your shader and the double scan function, the feeling of having a VGA monitor in front of your eyes is very strong, and I managed to resurrect an old laptop as a DOS emulation platform! Thank you very much.

3 Likes

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