New CRT shader from Guest + CRT Guest Advanced updates

Nice. I see you gave the rainbow settings it’s own little sub section. Time to hit the lab and play around with this.

Edit: @guest.r What exactly is this “checkboard” setting? At first I interpreted it as “checkerboard dithering” but the ntsc guest shader already takes care of that so I’m kind of confused on this rainbow checkboard setting.

2 Likes

Rainbow effects are connected to alternate horizontal patterns, which can come in the appearance of bars (Sonic waterfall…) or checkboards (Streets of rage 2 lights…).

Initial implementation added the rainbow touch alone to bared scenarios, breaking checkboards, not only no-effect or something. Now they are handled separately.

Both settings bring more rainbows to the general scene, but I guess it’s fine, and it would also get very “expensive” to nitpicky.

2 Likes

I see. It seems like a added bonus to me to get both types of “rainbows” both at the same time. Is there a way to completely turn that setting off? I liked how it looked originally from your previous update. Having both the bar and checkboard rainbow settings seem to have added unwanted artifacts to the overall picture.

Here’s how it looked in the previous update with rainbow settings activated:

Here’s how it looks with the new checkboard setting added in:

There’s these new weird artifacts in the clouds now. It’s in other places as well.

2 Likes

Old implementation is like only using the bar mode. It fails on checkboards, so i guess there is little sense to bring this specific implementation back.

Example of old mode:

Here’s how it looks with the new checkboard setting added in:

Then only bar mode is to be used. It’s “a better old implementation”.

2 Likes

Yes I remember seeing that look when using the “mame ntsc” shader for my previous “md rainbow” presets, I figured that was the way it was suppose to look, I guess that shader didn’t have the rainbow checkboard implementation in it as well.

I should have said that pic was taken with the checkboard setting set to 0. I guess I’m just gonna conclude that that’s the way things is really suppose to look and get back into the lab and tweak things up. My preset update pack will be a nice follow up to your release.

2 Likes

New Release Version (2024-02-10-r2):

Notable changes:

  • Mask size of mask 3 fixed with mask zoom feature.
  • Rainbowing options added to the ntsc shaders per @Hyllian’s advice
  • Corner function improvement with wide aspect ratios (thanks to @DevilSingh for noticing).
  • Update: Smart Scanline mode added, auto selecting 200p, 224p or 240p… downsampling (@shenglong) - check under Interlacing -> Internal Resolution -> set to 1.0
  • Update: some parameter info lines changes
  • Update2: NTSC rainbowing options added / improvements
  • Update3: NTSC rainbowing artifacts mitigation.
  • Update4: small bugfix

Download link:

https://mega.nz/file/J8ZkAKIQ#qWAU7ILTRjPPCLYhwfcUVOuAkr_atpuaDQjpyATDXwY

13 Likes

I noticed a small improvement with this quick update where there were some weird vertical lines that would appear on sprites when turning the rainbow bar setting all the way up, those have disappeared now. That’s definitely a good thing.

2 Likes

Hmmm…this is interesting. I remember when I did my first Genesis Rainbow presets, when I got the rainbow effect to work on the Sonic The Hedgehog waterfalls and Sonic 2 pipes, the rainbow effect also worked on the Streets of Rage bar lights without any modification.

Did I miss something?

2 Likes

Not “the same rainbows”, unless you were using some other ntsc shaders. The new implementation brings new options, since base ntsc-adaptive are made with a hard-coded shift, which nullifies fixed rainbows as well as with merged fields.

Checkboard “rainbows” are existent in previous versions, but at the expense of flickering. I guess you could manage to do some standalone guest-advanced-ntsc testing to get an update on the changes, since it’s like about changing 1-2 parameters.

Edit: the “02.10” release was updated.

3 Likes

This may sound a little newbie for people around but, is possible to actually incorporate customized LUT files in CRT guest advanced NTSC preset? It’s just a 16-bits color palette

I’ve looked around other presets which allow to use Rainbow effect, yet no success to incorporate a custom one I’ve made with a bit more yellowish colors.

Yet, I’ve managed to use it with other smaller presets with dithering, but not in case where Rainbow can be applied. I’ve added up here the file in case may be useful for anybody. https://1drv.ms/i/s!AsFufmS9x-kdgj7N-Kg4-jPHDTPE?e=2vf4Dn

This one is in case, you may know how to do it.

I’d appreciate the help.

1 Like

Lut pngs are placed in the shaders/guest/advanced/lut folder.

Just copy your custom lut file over there and rename it with the same name as one the existing lut pngs.

2 Likes

New Release Version (2024-02-14-r1):

Notable changes:

  • Rainbowing effect simplification and artifacts mitigation.
  • Number of ntsc taps can be set now.
  • Ntsc chroma fall-off implemented.

Download link:

https://mega.nz/file/4lhgDDzC#ov6a8RZ7wddMxbsnDyMez02I9cdX2JdlKJsjx7LIXrE

13 Likes

Ok so right off the bat after firing this update up I notice those weird artifacts I was telling you about in this post are completely GONE (thank goodness).

Now I can use the rainbow setting and have clear clouds again in Sonic:

The second thing I noticed is that my fps takes a hit now loading up any of my ntsc presets, goes as far down to 53fps on my setup but then gradually increases back to full speed. Not sure why that is but it’s something I noticed.

The new rainbow/ntsc settings are coming along good, I can even crank chroma scaling back up to 4.00 again:

I do notice that with the rainbow setting turned up to 1.0 or -1.0 the vertical line dithering in the waterfall doesn’t fully “blend” as well as when it’s off:

I guess that has to do with how that rainbow setting is interacting with the other ntsc settings, maybe I’m just not dialing it in right I don’t know. Other than that though everything looks good.

Edit: @guest.r playing around a bit more, yeah these dips in fps are tampering my enjoyment, not sure why it’s happening but I was getting a constant 60fps on the last release, now it either stays around 53fps or sometimes it increases up. This is only for the ntsc shader btw, the only other one I also use is HD and that one has no issues at all.

3 Likes

This is probably a special issue indeed. What really matters is the shader performance under the fast-forward mode without frame skipping.

But there are some things you could try out. First is to decrease the number of NTSC Taps (like sub 24), see if it helps. Maybe, just in case, you could try to clear the system shader cache.

The ntsc shader got a bit more complex, but it shouldn’t matter much on discrete gpus. The only imaginable culprit is that the 2-phase loop in pass 2 isn’t unrolled, but so isn’t the 3-phase (like always) and reducing the number of taps for 2-phase makes them same performance.

3 Likes

Yeah it could be that your shader has gotten to a point where my hardware is the issue, maybe my gpu can’t handle it anymore the more complex your shader gets. If that’s the case it might be time for me to upgrade on my end.

It’s funny you mentioned that, I literally have that setting ON 24 lol, I noticed it further cleared up some minor other artifacts on the screen bringing it down . Maybe bringing it down by one could clear up this whole issue, I’ll give it a try later and see thanks for the suggestion.

Speaking of the new “NTSC Taps” setting, what exactly is that and what is its function/use for?

1 Like

2nd ntsc pass makes 2xTAPS + 1 texture lookups for final color assembly, also going in width left and right as it does so.

Default for 2-phase is 32 TAPS and 24 for 3-phase (3-phase max. taps is always 24, so no worries). Reducing the number of taps can have a nice effect on performance and coloring, especially with pre-scalers and increased internal resolution.

A special case where this really helps is the SMB “aura” etc.

3 Likes

Interesting. All my answers might be in that Taps setting. I’ll play around with this in the lab later thank you for the explanation and for constantly improving this amazing shader.

In the emulation community you and this shader will go down in history as one of the greatest to ever do it if it’s not there already, you single handedly helped enhance the enjoyment of playing games from decades ago on modern hardware and I’m (and I’m sure everyone else that uses your shader are) forever grateful.

6 Likes

New Release Version (2024-02-15-r1):

Notable changes:

  • Rainbowing effect simplification and artifacts mitigation.
  • Number of ntsc taps can be set now.
  • Ntsc chroma fall-off implemented.
  • Update: ntsc pass 2 register usage optimizations, mixed mode speedup.

Download link:

https://mega.nz/file/EowjXBgI#N6u_-PHExoDaZ2b0faz25MR-xpJo2kzuE07IDaPVBpo

14 Likes

Potential feature suggestion: separate “NTSC Chroma Scaling / Bleeding” settings for 2 phase and 3 phase “NTSC Phase”.

I have found that setting Chroma Scaling to 2.55 makes 2 phase a good match for 3 phase with Chroma Scaling at the default 1.00.

For games/systems with fixed resolutions, that is simple enough, but for games/systems that switch resolution, a compromise setting of one sort or another is currently required. It would be very nice to be able to use Auto NTSC Phase and have it automatically switch to my preferred Chroma Scaling settings for each.

5 Likes

I could reproduce it with some of your presets. If I change the FPS display setting interval from default 256 frames to let’s say 15 frames (RA settings), the problem goes away. It has something to do with a single low FPS moment when the shader is loaded.

1 Like