Mega Bezel Reflection Shader! - Feedback and Updates

I will probably try to, the issue I have right now with the GDV NTSC is that the GDV shaders (crt-guest-advanced.slang & linearize.slang) are different than the GDV NTSC shaders (crt-guest-advanced-ntsc.slang & linearize-ntsc.slang), rather than one shader with some parameter adjustments. So it is possible for me to maintain 2 versions of my adjusted GDV shader, but the bigger problem is that they require different shader chains. I would really like to be able to add NTSC to the chain so that it’s something that can be completely turned on or off, otherwise it means more base presets and less flexibility.

@guest.r could you chime in on what they think about the adjustments in crt-guest-advanced-ntsc.slang and if they could be folded into crt-guest-advanced.slang, or what the reasoning is behind keeping them separate.

I do have NTSC Adaptive passes set up to swap out with GTU, I’m not sure if NTSC Adaptive is doing enough for what GDV-NTSC is currently able to do, I’ll probably make an experimental preset with NTSC-Adaptive in the next release. The other question is would people be happier with NTSC-Adaptive or would this lose what they like about GTU.

The setting on GTU is just the default, so we could perhaps change the default to be something better, do you think something like you would use for Dreamcast would be a good default? What do you use for this?

But if what you really want is different values for 240p and 480p content then we could definitely add a multiplier which would come on when we reach the trigger res :slight_smile:


The ‘ntsc main pass’ has diverged somewhat in later releases, the performance is also affected. I would suggest to keep the gdv regular a separate setup, also because of different initial parameter values and other passes involved.

The ntsc-adaptive setup can be tricky to integrate into a regular, more advanced crt environment. The main problem can be filtering, because ‘ntsc’ is doing it’s own scaling. I haven’t played with GTU too much, but it might lack some appealing features. Nevertheless, it’s a nice shader on it’s own and might deserve some positive attention too.


It seems to me that the values of GTU change as the resolution of the game increases so changing the default value wouldn’t work across all games. I suggest a multiplier with GTU but I’d go with whatever is easier to code. I like having all the artifacting, scrolling scan lines, rainbowing…etc but they are definitely a fun novelty most of the time.


Yeah that’s what I was thinking might be the case, thanks for your thoughts on it :slight_smile:

Yeah GTU is very good at an easy to use bandwidth simulator, and has some composite color stuff, but it doesn’t do all the NTSC specific stuff, and definitely no rainbows :rainbow:

Yeah this is pretty easy to code either way, If you could give me a few examples of different content resolution and good GTU settings this could give me an idea of what kind of multiplier setup would be good.

Have you ever tried NTSC adaptive before? just wondering what you think of it’s NTSC filtering… Maybe @Tatsuya79 has some thoughts here as well.

1 Like

I prefer ntsc-adaptive, even if the resolution change it does is annoying as guest.r said.
It’s particularly bad for dot masks. (that I don’t use)

It’s a bit difficult to explain but it looks more dirty and believable than other solutions.
The signal makes the colors blend together in different ways (like blue and red close together on screen will cause a noticeable alteration), or smudge, particularly with the red.

If you don’t like composite/svideo and you think it’s too blurry, you can scale the 1st pass to x6 and the 2nd to x0.333333 (with linear filtering for that reduction).
You’ll lose the dedithering though but will get something half way into rgb which is funny to use with arcade stuff.


I want to find some old versions, but I don’t know where to download them. I want to download this version of 2020-04-19.

1 Like

Hi, to go back to get ah old version you’ll need to go to my Github and get a snapshot of the repository around that time…


I would STRONGLY recommend getting a recent version, the recent versions since April will allow you to update in the future without negatively affecting your presets.

If you want an example of something using one of @orionsangel’s graphics take a look in the examples package linked in the first post of this thread. There’s an Orionsangel folder in there which has examples with a few of his graphics.


Hi HyperspaceMadness i was wondering if theres a way i can use the glass preset with the kurozomi shader preset, im using integer scale 5x for all my games on a 1080p screen, i want to achieve something similar to the image i attached, can the glass effect be aplied to only the sides of the image, dont need it in the center…is it possible?

BTW the image here is from duimon just used to ilustrate what im looking for.

Something funky with that image. I have to click on it to see it correctly. :thinking:

Guess it’s the compression, here’s the one you made

1 Like

If I may.

Do you mean CRT-Royale? It was removed from the Mega Bezel presets for very good reasons. There is a Guest Royale Clone in the “Variations” folder. If you change the reference shader in the clone preset it should come close.

And scaled.


GTU comparisons. (I think it is just more dramatic with high res art.) 1-Zelda No GTU:

2-Zelda GTU, 301 y, 101 i, 101 q:

3-MvC2 No GTU:

4-MvC2 GTU, 301 y, 101 i, 101 q:

5-MvC2 GTU, 602 y, 202 i, 202 q:


I think NTSC adaptive is very good, GDV’s implementation is better and has more control. After @Nesguy talked about BLARG’s component on various cores I found it the best one. For example in Sonic 2 NTSC adaptive everything is kinda “buzzing” even at rest while BLARG’s only does so in motion. I can get the closest to it with GDV’s.

1 Like

Thanks for this, this helps, I think a user adjustable multiplier which is applied at threshold would be a good solution.

I also like the Zelda example it shows what GTU is doing with blending the colors (it’s not just a horizontal blur)

Thanks for this opinion. Thanks everybody for your feedback on the NTSC stuff, I’m going to plan to create a set of GDV-NTSC base presets for all the Mega Bezel flavors (ADV, STD…) With the preset assembler this is now a manageable task.

As mentioned before I will add an experimental NTSC-Adaptive preset in the experimental folder.

I’m toying with the idea of merging the NTSC-Adaptive & GTU – if it’s possible – so the user can switch between one and the other in the GDV preset without NTSC.


Hey there, about the CRT Royale it’s like duimon said.

I’ll add a Royale Clone glass version in the variations next update so you can try that, it’s Guest-DrVenom Advanced configured to look kind of like CRT-Royale

To try it before then if you just take the GDV Royale clone and change the reference line to look at the path for the glass preset this should work.


I actually think NTSC adaptive can look better than Blargg’s filter overall, less annoying artifacts etc, but the latest gdva-ntsc update makes them both obsolete IMO.

As far as the buzzing goes, that’s hard for me to judge on my plasma since temporal dithering is an integral part of how the TV works. I think there might be a shader setting that kills the temporal interpolation in ntsc-adaptive. IMO it’s moot since gdva-ntsc is superior. The new sharpening filter is fantastic :slight_smile:


That’s a cool trick, works with the latest guest-advanced-ntsc, too :slight_smile:

Looks good! I think it’s a more authentic crt image vs the raw rgb output/no filtering.

These days I use composite video filtering for all home consoles and an rgb setup for arcade stuff.


Just want to say thanks to HyperspaceMadness and all the people involved in the best shader my eyes have seen, its a pleasure to check often what you people come up with, just installed the new version and i was playing with it yesterday, felt like a kid again, i have l8 different crts, always searching for the perfect one without too many convergence problems etc, now for the first time i think i can get rid most of them lol, gonna keep the hardest ones to get like the sony fv310,fv 300 and a pair of curved toshiba and philips that have component inputs for get them into some arcade cabinets, what a wonderful shader this is, i get the inmersion i needed and sometimes i forget im playing on a 1080p lcd tv, thanks a lot!


Thanks for the hint! I’m already running the multiplier as a parameter, will probably update the shaders soon. The best thing about it is the possibility to reduce the scaling for high-res content, like PSX games.


Yes, I’m doing that for fighters on dreamcast/naomi…
with an img-adjustement pass before to fix double pixels odd number position. :persevere:

Also, ntsc can get intensive in some scenarios.
Like using it with interlacing for virtua fighters 2 it won’t run at full speed with max swapchain images 2 using vulkan, while it’s full speed at 3.
So I suspect it’s silently taking an additional frame of lag to render that if allowed to, I haven’t recorded the screen to make sure of that yet.