CRT-Royale!

Hi all

I just want to say I’ve been awol from retroarch for a few months (been in cryptocurrency world!) but I want to say you all as a community have done some amazing stuff lately, I can’t even begin to sort through all the new shaders. It only improves even more on what I tried to do with my ntsc pack in attempting to emulate “real” crt tv’s instead of throwing a few black lines on the screen and calling it a day.

Hooefully we can continue and start branching off into mimicking old 70s washed out tvs for the Atari era for instance or having a Trinitron pack for cleaner, crisper graphics, make it as user friendly as possible so people can pick the style of look they want.

So have been playing around with the CRT-Royale Sharder Parameters (Menu) setting and have gotten them to a state that, to me, is more pleasing. I have only listed the settings i have change everything else is left as default, give them a go and see what you think…

CRT_Gamma 2.30 LCD_Gamma 2.00 Diffusion_Weight 0.25 Bloom_Underestimate_Levels 0.55 Bloom_excess 0.35 Beam_Max_Sigma 0.20 Beam_Max_Sharp 2.50 Beam_Sharp_Power 0.80 Border_size 0.00

Is there a way to stop the shimmering effect with this shader on N64 games, im guessing it because N64 games are 480i/480p res??

What internal resolution are you running at? Try it at 320x240 if you’re not using it already.

That indeed does stop the judder. Is there a way to run in 640x480 internal resolution with out the judder, as games that used the expansion pack were in a higher res?

I think you can turn off interlacing detection in the shader. FAKEDIT: ah, yes, from user-settings.h, line 225:

static const bool interlace_detect = true;

However, based on some googling, I don’t think N64 ever put out progressive video. Rather, it seems the expansion pack-enabled hi-res modes were all 480i, which would have the judder.

So, if you’re going for “maximum accuracy” or whatever, leave it at 320x240 and set it to 640x480 (with judder) for hi-res modes. If you just want it to look good, disable interlacing in the shader and crank it up to whatever your computer can handle.

OK thanks, shame that option isnt in the parameters options.

The judder effect you get if set to 640x480 is more extreme than what it would look like on a CRT TV, on CRT TV is is more of a frequency effect but in Retroarch the screen is literally shaking and looks wrong

EDIT: change the line…

static const bool interlace_detect = true;

to

static const bool interlace_detect =  false;

but im still getting the shaking screen

Hmm. If that didn’t work, you could try going into src/crt-royale-scanlines-vertical-interlacing.cg and editing line 80 from:

    OUT.il_step_multiple = float2(1.0, y_step);

to

    OUT.il_step_multiple = float2(1.0, 1.0);

I’m not 100% sure, but I think that should force it to treat everything as progressive.

I tried what you suggested and i still got the same issue. I then changed the internal res to 800x600 and the problem went away!!

I also tried 640x360 and 720x576 but also got the screen judder, any ideas why these resolutions cause the judder yet 800x600 does not?

I would rather have 640x480 as it still has the scanlines and the CRT look, but going to 800x600 loses the CRT look altogether!

I got the same problem with interlace flickering and autor of shader helped me (he is very supportive), so basically go to crt-royale/user-settings.h and change “interlace_detect = false” Happy gaming :slight_smile:

I didn’t have that problem until I updated to the 2014-11-19 build of RA. I’m going to update again and check.