New CRT shader from Guest + CRT Guest Advanced updates

Another screenie of the new functionality (Bloom Pixel Sampling):

Base preset is guest-advanced-ntsc.

Parameters, if anyone wants to try it out (looks better with 16-bit system gfx…):

cust_artifacting = "0.500000"
cust_fringing = "0.000000"
ntsc_taps = "12.000000"
ntsc_charp = "10.000000"
ntsc_charp3 = "10.000000"
ntsc_sharp = "7.500000"
ntsc_shape = "0.900000"
NDEBLUR = "2.500000"
DSMART = "1.000000"
DEDGE = "0.920000"
DESHARP = "1.400000"
mask_bloom = "-0.700000"
bloom_dist = "-0.400000"
gamma_c2 = "1.100000"
clips = "0.400000"
bloomsamp = "2.000000"
scanline1 = "5.000000"
scanline2 = "12.000000"
beam_min = "2.499999"
tds = "1.000000"
scans = "1.500000"
scan_falloff = "0.300000"
ssharp = "0.170000"
shadowMask = "6.000000"
maskstr = "1.000000"
maskboost = "1.350000"
mask_zoom = "1.000000"
mzoom_sh = "0.250000"
mask_layout = "1.000000"
mask_gamma = "1.700001"
edgemask = "0.600000"
deconrr = "0.750000"
deconrb = "-0.750000"
deconrry = "0.750000"
deconrby = "-0.750000"
decons = "1.500000"
7 Likes

Both “Sega Brightness Fix” and “Sega MD Palette Fix” (“Sega MD RGB Palette” in decoupled-guest) should be used together when using Genesis Plus GX or PicoDrive to approximately match the appearance of BlastEm for Mega Drive/Genesis and Mega CD/Sega CD games.

These settings should not be used for Master System or Game Gear games, or for cores other than Genesis Plus GX and PicoDrive.

32X games on PicoDrive definitely don’t need the Sega Brightness Fix, but it might be more hardware accurate to use the Sega MD Palette Fix option? Testing Pitfall - The Mayan Adventure, PicoDrive’s raw output for the 32X version approximately matched Virtual Jaguar’s raw output of the Jaguar version, so my current inclination would be to leave both settings disabled for 32X.

Sega MS Blue Lift (Sega MS Nonlinear Blue Fix in decoupled) is needed for Master System only, for all currently available cores last i knew.

7 Likes

What about Game Gear??

1 Like

I don’t know for certain, but evidence suggests that it probably isn’t accurate to use it for Game Gear games.

Notes & Measures: Nonlinear Blue on Sega Master System 1 & Other Findings says that that the non-linear blue occurs on the original Master System, but not the Master System II.

The nonlinear blue is caused by the VDP, the YM2602/Sega 315‑5124 (https://retrorgb.com/sega-master-system-blue-channel-mysteries-further-uncovered.html), which the Master System II replaced with the NEC UPD9004G/Sega 315‑5246.

According to Bock, a site admin for SMS Power!, the Game Gear VDP behaves “like a 315-5246, well, at least for all known Game Gear.

Which doesn’t guarantee that Game Gear had linear blue, but i does mean that my baseline presumption is that it does.

3 Likes

is NTSC Filtering Gamma Correction a new feature added up to whole preset ? Because this is also good news ! I’ve seen some NTSC records that actually have this looking.

I can’t get an universal recording for NTSC rainbow, since it always have different variants, as far as I know depending from Console model or TVs, but this is also great news ! Available Variety is always very appreciated.

Always enjoying your content, guest, from the shadows. Very awesome work.

2 Likes

Hey! NTSC filtering does the majority share of distributing colors horizontally, by default it’s in ordinary-curved space, which can sometimes apper like gamma-“underfed”. Increasing the mentioned value does exactly as the parameter name says, it increases luma filtering gamma if raised.

Otherwise, as you mentioned, there is a great variety of how different CRT devices handle input signals, low pass filters might not do the signal math in linear space, electron beam gamma “application” is linear and buffer handling in shaders doing horizontal blending must have it’s share of linear gamma.

As i stated the majority of blending in shaders is done by the ntsc shaders, so the NTSC “Filtering Gamma Correction” is a mechanism to adjust the resulted feel if it doesn’t seem too linear enough. It can be also achieved by other settings indirectly, but that’s the main tool.

2 Likes

New Release Version (2026-06-02-r1):

Notable changes:

  • Bloom Pixel Sampling improvements (smarter application).

Vanilla example:

Download link:

https://mega.nz/file/c4Q3jaYZ#iic91S_0J74zpp4Hk-28XWhTBe-G7-GbFPoG_okJVD4

13 Likes

Thanks for your hard work and dedication @guest.r!

After experimenting with Bloom Pixel Sampling, I ended up changing most of my presets to a value of 2.00. I notice that the range now stops at 1.00 in the shader parameters for that parameter in 2026-06-02-r1.

When I manually switch from 2.00 to 1.00, it seems identical. Do I have to update all of my presets which have a setting of 2.00 to 1.00 or would leaving them at 2.00 provide me with the same Bloom Pixel Sampling as 1.00?

1 Like

Hey! Thanks for the reply. Yes, you can leave parameter values at 2.0 with the new version, it’s the same codepath if parameter is greater than 0.5.

New version is sortoff a good merge of previous 1.0 and 2.0 “codepaths”, personally i like it more compared with each previous individual versions.

1 Like

20260604_165422

Just some observations and comments.

That whitish scanline was the sole reason for me switching from “Bloom Pixel Sampling” mode 1 to 2. The reason being while I liked they way mode 1 blended everything, the whitish scanline was “impossible” to remove. At least with mode 2 I was able to get rid of it by increasing the “Scanline Beam Shape Edges” parameter to 20.

With the newest update, I have to disable “Bloom Pixel Sampling” to get rid of the whitish scanline.

I already started adjusting my presets to account for this but I’m wondering if I was already at the sweetspot with mode 2 in version (2026-05-23-r1)

3 Likes

New Release Version (2026-06-05-r1):

Notable changes:

  • Bloom Pixel Sampling Mode 2.0 re-implemented.

Download Link:

https://mega.nz/file/N0IhlJwC#trQfyCtrrd02QCD2Ffm2S3y4fRq3VAEKzFsxc8-0RJY

11 Likes
6 Likes

Cheers m8! Time flies when you are having fun. Keep up the good work!

2 Likes

setting “Fine Bloom/Halation Sampling” to “5” also help

2 Likes

Thanks, that’s the only setting I’ve used since anything lower is too blurry/“soapy looking” for my tastes.

1 Like

Thanks very much @guest.r! I’ve always felt that this was a legacy we’re creating here and it’s you’re brilliant work and dedication to CRT-Guest-Advanced that made it easier for me to bestow such a prestigious moniker upon this particular set of CRT Shader Presets.

Working and interacting with you these past few years has truly been an honour.

May you continue to be successful in all your endeavours. :beers:

3 Likes

New Release Version (2026-06-06-r1):

Notable changes:

  • Old: Bloom Pixel Sampling Mode 2.0 re-implemented.
  • Nice changes to Bloom Pixel Sampling Mode 1.0.
  • Also commemorating the 20th Anniversary of my ePSXe OGL2 Shader pack 1.0 publishing.
  • (Kudoz to Mr. Bernert)

Download Link:

https://mega.nz/file/ssBT2KgJ#WFL06qtEBv2yXDHOxgFW9u5HyLYamCG1Dp4cRNpJEaQ

15 Likes

Oh my, time flies, congrats!

5 Likes

I was playing a bit with this awesome shader and noticed that while scanlines bend when I use curvature, phosphors from masks do not. Is this the intended behavior, or is there a trick/setting I’m missing to get the phosphor mask to curve along with the rest of the screen? Thanks for the amazing work!

1 Like

Hey! Glad you asked. Standard phosphor mask emulation on modern displays is horizontally linear on purpose, because masks would need to be interpolated with non-integer factors if they are bent into a curved shape.

This is usually visualy acceptable only, if the mask width is quite large, like 4+. Most implementations, which comply to curvature, take a RGB type mask, enlarge it with interpolation an then the results are acceptable. Downside is that this doesn’t work to well for narrow (hight TVL)/sharp edged masks and double implementation would be needed for these.

Another honorable mention is last pass of crt royale, which solves these problems with the last geometry_AA pass, which can be added as the last pass. It can take a flat masked “image”, add 3D curvature and smooth out interpolation irregularities with some advanced AA technique.

If you want to test it, load a preset, increase the number of shader passes by 1 and then add this pass.

5 Likes