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

Some games use an unusual native resolution and then ‘center’ their output, causing every pixel to be ‘halfway’ offset vertically. Crosscode is one of those games.

This means no matter if we use the correct native resolution of the game, it ends up looking vertically fuzzy because every scanline is halfway between two pixels. I’ve seen positioning issues in some other games that cause the CRT filters to not render correctly.

One fix would be to add an “Offset” value we can use, similar to what CRTGeomMOD does in GShade. So we input the resolution values, and then pick an offset if the scanlines need to start somewhere other than 0. So that we can line them up correctly.

It’s especially annoying on 1920x1200 screens (16:10), where I already have to use a 16:10 version of the resolution value.

3 Likes

Hi, thanks for porting this to ReShade

But why crt mask in ReShade is not the same as Retroarch? For example shadowMask=7.000000 in ReShade == shadowMask=6.000000 in retrorach, it’s confusing

I wonder if there are another option like this that I missed and messed up me preset

Updated the shaders to the latest (crt-guest-advanced-2024-03-27-release1) version!

CRT-Guest-ReShade

CRT-Guest-DX9

ReShade-Shaders

7 Likes

Just set Interlacing mode to 4 or 5 to fix the up and down flickering. Other then that the Resolution settings should work the same as the old version.

3 Likes

This is something I myself have wanted for this shader (an option for Even/Odd scanlines). You should msg @guest.r for this feature, as he’s the original creator of these shaders and I only just ported them to ReShade.

4 Likes

ReShade doesn’t like negative values for some settings and breaks. That’s why Shadow Mask was changed from (-1 to 13) in RetroArch to (0 to 14) in ReShade.

6 Likes

Hey i really like the reshade, but i’m running into an issue with it. I’m running Xenogears through Duckstation with the shaders after following this guide here

I should also note i’m on the steamdeck which might be causing problems?.

At first the game seems to be running well but certain moments or effects (i think?) seem to cause a white screen that can only be solved by quitting and resetting the game or deleting the shaders, the game is still running, it’s not a crash but the screen is pure white. I’m only using the two shaders from the vid but any idea on what might be causing it and if it’s fixable, i love how these shaders look.

1 Like

Can you post the error logs here? Maybe then I will be able to help you.

1 Like

Here’s a link to the duckstation log, i would’ve posted it directly or a set of screenshots but I’m a new user and it won’t let me post more then 1 image at a time. [https://e.pcloud.link/publink/show?code=XZwji9Zymtt1B0zsN0dGLTl9xInefLAaMFy]

I was messing around with it yesterday to test it and it’s not just Xenogears but other games, Crash Bandicoot 2 had a consistent white screen near the end of the first cutscene of the game. I assume it’s a steamdeck or linux issue as testing it on PC didn’t cause any problems. I did also notice that taking duckstation out of full screen mode seemed to not trigger the white screen, during the crash 2 intro at-least, I’ve not been able to test that with Xenogears yet. thanks for the help!.

There’s nothing in the log about the shaders. Maybe try OpenGL instead of Vulkan and see if that helps.

2 Likes

Apologies if this use case is out of your wheelhouse, if it is and there’s nothing you can do I entirely understand. But CRT-Guest-Advanced-NTSC is by far my favorite shader to use in Retroarch on the Steam Deck. But some emulators like PS2 don’t have a functioning Retroarch core, meaning you have to use reshade shaders system wide instead. When I try to use any of these shaders, my screen becomes a massive blurry mess. Screenshots don’t work with the system wide shaders, so here’s a phone pic instead with the CRT-Guest-NTSC shader active. But the others look functionally the same. Any help on what the issue could be?

1 Like

You just need to change the resolution settings (labled Resolution_X and Resolution_Y) in the ReShade menu under Preprocessor Definitions.

EXAMPLE -

3 Likes

Been testing it and this seems to have fixed it, thank you very much!.

3 Likes

Hello, for some reason the shader at the standard 320x240 resolution (or any standard resolution) doesn’t seem to work correctly unless I set the horizontal resolution to something like 1280, which seems to mess up some effects like blurring. Any idea why this is happening?

What do you mean by “standard resolution” ? Have you tried 256 x 224 or 512 x 224 for SNES?

Also, have you read this?

1 Like

Thanks for the tip, 224 doesn’t seem to work properly either with or without integer scaling so I just stuck with 240. 256 looks even more broken and 512 looks better but still off. (Before you ask why I don’t just use retroarch, I just like using standalone emulators more)

I have a question, I’ve been playing the kingdom hearts steam ports with guest ntsc, is it better to render the game at my native screen res and set resolutionX/Y to a lower multiple res (1440p - > 360p) or is it better to just run the game at the lowest possible res and using the same values in resX/Y? Tysm

2 Likes

@DevilSingh @guest.r first off, thank you both so much for the shaders and the reshade port! :slightly_smiling_face:

The shader was last updated on May 18 with the following changelog:

New Release Version (2024-05-18-r1):

Notable changes:

  • Various optimizations and small code cleanups.
  • Improved filtering with NTSC and HD versions.
  • Corner function overhaul.
  • Included grade contrast black screen fix (sonkun).

Could the reshade port be updated to include those changes, thanks in advance!

3 Likes

There seems to be a mismatch between the resolution being output by the emulator and the resolution you’re inputting in the Resolution_X and Resolution_Y fields. I think once you get the correct values you should be good to go. I suggest you try to get those exact values instead of guessing. Don’t assume it’s the same resolution that the console equivalents tended to output.

2 Likes

Not all changes are viable to a ReShade port, especially those related to input resolution changes on-the-fly.

If, then filtering (HD, NTSC, small changes) and the corner function could be updated. Anyway, current ReShade port is quite up-to-date and folks can use it without missing new stuff.

3 Likes