New CRT shader from Guest + CRT Guest Advanced updates

Mame HLSL Shader for CRT TV Effect

@guest.r I just got a new wide gamut monitor (Dell U2725QE ) that supports both DCI-P3 and Display P3 operation.

I’m getting great results with the DCI-P3 profile set on my monitor and in the shader, especially combined with the Philips CRT profile. I was wondering if adding a Display P3 profile in additon to the DCI-P3 profile would be a useful option? My understanding is the difference between them are the gamma and the slightly different white point (DCI-P3: gamma 2.6, DCI white point; Display P3: gamma 2.2, D65 white point).

So yeah, when I use DCI-P3 in the shader and put my monitor into Display P3 mode, the gamma is off and the white point is slightly shifted from neutral (all expected, of course).

I guess this could be useful for people who only have a Display P3 option on their monitor (although I’m unsure if those exist; maybe all Display P3 capable monitors also support DCI-P3 operation). Could be handy for those too who have both options but prefer Display P3 due to convenience (at least the gamma then is very close to sRGB gamma).

2 Likes

Hey! I think it’s a nice idea. I’m also correcting the DCI-P3 white point to it’s standard values (from D65).

New Release Version (2025-06-20-r1):

Notable changes:

  • Display P3 gamut support added.
  • DCI-P3 white point correction.

Download link:

https://mega.nz/file/thxU1SxI#xPR8e5jTAtN0BWPbhheh46EAjWemITWmA3F631DWc2Y

16 Likes

While we have interlaced modes 1-4, I don’t think we have an option to only apply VGA Double Scan mode to 480i/p signals without it changing 240p signals too.

This would be desirable. Like as an option for interlaced mode 5, or a setting right next to that so it’s still triggered by the resolution. This would be really helpful for me in games that switch between 480i and 240p. : )

1 Like

Can you be a bit more specific?

Currently there are many situations emulated, including smart scanline mode if you set internal resolution to 1.0.

I would need specific behaviour for 240p and behaviour specified for 480i.

Guess display wise it’s already nicely covered. Like use VGA double scan when emulating a 15kHz PC VGA display and use interlacing for consumer CRT displays.

If you want double scan for 240p and interlacing for 480i, then it can be covered with internal resolution set to 0.5 in next release.

I think “interlaced mode=0” is what you ask for

1 Like

I think I was able to balance these things in my last preset update, and yes “The normal US version” is fine, but as I said it’s not only in this game but also in Rambo III (but it’s w not m) and also in the health bar of Castlevania Bloodline

Ah yes! I hadn’t yet tested that on 4K with a 480i signal and didn’t know it did exactly the same thing! Thank you.

And yes, Sega games use Phase 2 so should blend more. You get a health bar that looks like this:

But to make up for it, you get clouds that look like this:

This was it right here. Sorry for my confusion! Like you said, many situations currently emulated! For some reason I just hadn’t realized that’s what option 0 did.

1 Like

here with my V7.15 preset

3 Likes

Hey, friends. I’ve been out for like 3 months because my previous PC was power cycling. So, what did I miss? And it’s recommended to download the latest Guest-NTSC- shader? Thanks.

@guest.r Hi

is “NTSC Coloring/Rainbow Effect (2-phase)” has bug?

1
2

2 Likes

It’s the current state of the rainbowing feature. I might take some more looks into it, indeed.

3 Likes

New Release Version (2025-08-19-r1):

Notable changes:

  • Old: Display P3 gamut support added.
  • Old: DCI-P3 white point correction.
  • New: Ntsc rainbowing feature vertical fidelity improvements.
  • New: Small optimization.

Download link:

https://mega.nz/file/doAQBICA#cM6QqfxVzT46USZqfEab09_r6JIna8-R911La6S0DGo

12 Likes

thanks! seems work fine in cases I already did noted

I did noted another “odd” case with “Clip Saturated Color Beams” and NTSC

that why I avoid using it, seems fine with non-ntsc, To be more precise setting NTSC Chroma Scaling / Bleeding to 1 or lower kinda make it better

1 Like

Thanks for doing some testing regardless. I’m using Beam Clipping quite “successfuly” with my NTSC presets, but alrightly, they are not getting Dracula’s red eyes look better. It’s a matter of horizontal edge circumstances (mostly) which can be more or less different compared with other presets. Maybe you’ll try some other base ntsc settings some other day which would benefir from Beam Clipping…

1 Like

dont know if you get what I mean by “odd” but it’s the vertical lines artifacts

here with the base crt-guest-advanced-ntsc.slangp but with “Clip Saturated Color Beams” set to 1

and I remember there are other examples in other games and systems

1 Like

I’m not entirely sure what is the main issue here. You could be clearing some situations by setting fringing to 0.0 and merging fields first.

I have already asked a question about the procedure for installing and updating shaders in the corresponding topics by the authors (sonkun, Duimon Mega Bezel ), but I decided to clarify it with you, as your work is interconnected. I have just realized that after I have placed the files and folders in the appropriate locations (I am referring to the folders from sonkun, Duimon MegaBezel, and Mega bezel pack), I do not need to click on the slang shader update, as this may cause the settings of the aforementioned shaders to be corrupted and may result in the installation of standard shaders on top of them. The same goes for your guest-crt-advanced . I’m just wondering if I understand it correctly. Or is it possible that updating through the online updater will simply update them to the latest versions?

1 Like

I can mostly answer for the guest-advanced shader pack. If the latest’s version content is copied into the crt folder, then you are good.

Updating Slang shaders resets them to a prior version. Isn’t optimal in some cases. This doesn’t alter or update Sonkun’s presets etc. They are not directly related with “slang-updates”.

MegaBezel situation is a bit different, as independent adapted shader instances are used for this project. If you are ok after updating slang shaders via updater, then it’s set.

Saved presets (you own saved tweaks) aren’t affected by slang shader updates via updater.