CRT-Guest-Advanced, HD and NTSC for ReShade!

Actually

	float mwidths[15]={2.0,3.0,3.0,6.0,6.0,2.4,3.4,2.4,3.25,3.4,4.4,4.25,7.4,6.25,5.25};
	float mwidth=mwidths[int(shadow_msk)];

seems to work without issue. I could have sworn i had tried that before the +1 hack, but shrug

The important thing is that it works and isn’t at all kludgey.

1 Like

You can test it with slot mask alignment and proper width, since “auto width mode” reads the info from the involved array (slot mask width must be set to “auto”).

Best test candidates are mask 5 and 6, since first is 2-width and next is 3-width.

@Azurfel BTW, I did try with this https://github.com/Jobima1st/CRT-Guest-ReShade/commit/104ac2bf6cd8ea6c29cded547aa0411c8fc7a238 backthen, and it didnt work, maybe you can use the core idea and do refinement

I think

float shadow_msk(float shadow_msk)
{
shadow_msk = shadow_msk + 1;
}

can be replaced with

float shadow_msk()
{
    return shadow_msk + 1;
}

didnt test it, but in worst case we can use some middle name for float shadow_msk() like rsshadow_msk if it not work

I double checked to be sure, and everything looks correct as of my final update last night.

Without knowing exactly what issues @DevilSingh saw, it’s hard to say for sure. Maybe it was specific to CRT-Guest-Advanced and/or CRT-Guest-HD?

But i think this is most likely resolved insofar as it matters for CRT-Guest-NTSC, CRT-Guest-PAL, and JobimaCRT_guest_advancedV8.

@Jobima JobimaCRT_guest_advancedV8.24d with all the fixes.

1 Like

thanks! and done https://github.com/Jobima1st/Jobima-Presets/blob/ManualUpdates/Jobima%20crt%20guest%20advanced%20V8.24e%20presets%20for%20reshade.rar

or maybe it’s something/bug in old versions of reshade?

1 Like

attempt to update to crt-guest-advanced-2026-10-24-release1 https://pastebin.com/s4WQwMG5 it work but the output is blurry! didnt find why yet

edit: test3 https://pastebin.com/5vB3XH0e and update to crt-guest-advanced-2026-10-25-release1

1 Like

Hey @Jobima! Thanks for your nice updates on the ReShade port. The output is more blurry indeed by default if the horizontal resolution gets beyond 320px.

The new version is honoring the actual luma bandwidth, which should be the same regardless of the pixel clock (meaning horizontal resolution).

Connection type should be compensated with the “NTSC Filter (Resolution) Scaling”.

1 Like

Hi @guest.r, thank you for the clarification! but still, it’s more blurry than the retroarch, so maybe there are some bug in the reshade code

1 Like

ok, now I know why, I didnt rest the default settings in the reshadePreset.ini :slight_smile:

so here the final update (for now) https://pastebin.com/Z3sSwiar

@Azurfel you can port the changes to your repo now, I also did some changes to make reshade closer to slang version

1 Like

that a RIP for the “Resolution_X” hack

now we only got Res-O-Matic and the Aspect Ratio options :slight_smile:

so maybe it’s time for someone (if not Azurfel) to update the other versions of CRT-Guest-Advanced reshade ports like HD and others

new update in https://github.com/Jobima1st/Jobima-Presets/tree/ManualUpdates and any new update will be there as usual

1 Like

Hiya. I’ve really been enjoying this reshade port of CRT Guest. For the past months I’ve been using Jobima’s port of the Guest_r’s 25-11-30-r1 release with Reshade 6.8.0 and tuning it to the max, primarily while playing the game “Noita”. Recently I’ve been trying the presets 8.24b and 8.25c version of the filter, but there seems to be a quirk, starting with 8.24, that prevents it from being usable for me: The brightness pulsates seemingly randomly while playing the game. It might be user error and I’ve tried to pinpoint the cause, but so far no luck. It happens with complete default settings for CRT guest and no other filters installed. I’ve recorded two instances where it is visible in the game:

Example video 1 - Title screen

Example video 2 - Gameplay

Another thing I’ve noticed is that Reshade v6.8.0 is logging the following on startup. Might be related and/or user error, I do not know.

D:\games\gog\Noita\reshade-shaders\Shaders\JobimaCRT_guest_advancedV825c.fx(3376, 1): error X3020: 'V__JoNTSC_T01': cannot sample from texture that is also used as render target in the same pass
D:\games\gog\Noita\reshade-shaders\Shaders\JobimaCRT_guest_advancedV825c.fx(3418, 1): error X3020: 'V__JBCrsh_T01': cannot sample from texture that is also used as render target in the same pass
D:\games\gog\Noita\reshade-shaders\Shaders\JobimaCRT_guest_advancedV825c.fx(3430, 1): error X3020: 'V__JoNTSC_T07': cannot sample from texture that is also used as render target in the same pass

did you tried

also from your video that seems has something to do the “crt-black_crush-koko” so try play with the fps settings and

that normal for the reshade port

and from the log you post seems you have more than one version of the same shader! and that bad in reshade! see here

@jhalfmoon If you want to have multiple versions of the same shader available, open the shader in a text editor and change the “technique” name to add the version number or something.

1 Like

@Azurfel just to let you know, I did many changes (aside from update to crt-guest-advanced-2026-10-29-release1 u1) in the reshade port, it’s even closer to upstream now, also it will be nice if you update other CRT-Guest-Advanced versions :slight_smile: even if I dont use them I think many people do

1 Like

change the “technique” name to add the version number or something.

@azerful Thanks for that tip! I was already doing that. Still, I noticed that when CRT guest versions jobima presets 8.24 and 8.25 are both in the shaders folders, with different technique names, reshade renders a sort of a bluescreen, or at least, it does not go well. Using either 8.24 or 8.25 with 25-11-30-r1 is just fine, and is what I currently use.

@Jobima I indeed used 8.25 with a completely ‘clean’ preset for the demo video and it was the only version of CRT guest installed in the shaders folder, so no other versions were in the folder. I fixed the pulsating brightness with the help of your tip: I set the “OriginalFPS” value from the default 60 to 100. Blackcrushing no longer seems to be done, but at least it no longer pulsates. Thank you!

1 Like

seems using 100 fps will disable it it! I did some changes (the new one is in the bottom)

the full shader https://pastebin.com/kTtt8iEJ so you can test

@kokoko3k what do you think?

I did update https://github.com/Jobima1st/ReShade-Shaders/blob/Community/Shaders/NTSC-Adaptive.fx since I port it to MagpieFX

1 Like

The pulsating effect may point to a problem in getting the correct average luminance of the scene, which in turn, may be due to erratic mipmap generations.

OriginalFPS is used just to counteract the fps frequency so that the apparent effect speed stay the same; making it manually higher would just slow it down.

But since I don’t know how Reshade works, I’m just speculating here, sorry.

1 Like

its more or less the same, sometimes I can see similar “pulsating effect” in retroarch too (The common factor is either 240p in widescreen or 480 and above.), so I think my changes can help in both

1 Like

I did an update and a fix for it https://pastebin.com/8ZRvV34i using last updates of https://github.com/libretro/slang-shaders/pull/980 plus crt-guest-advanced-2026-11-03-release1

2 Likes