New CRT shader from Guest + CRT Guest Advanced updates

Yes sure you can!

Just type “Retroarch -help” in the command prompt and it’ll show all the options.

So for example loading a core with a specific config file and game you would start the following when in the the retroarch folder (example snes game):

Retroarch.exe -L "cores\mesen-s_libretro.dll" -c "config\mesen-s_libretro.cfg" "path\to\game.rom"

Mind you there is a learning curve with RA, one thing to remember is to enable save config on exit when in Retroarch and it’ll update the config with your setting changes such that it gets loaded again with the changed options next time.

I’m using Launchbox myself and can really recommend it as it makes managing your games library and various emulators much easier. Once properly setup you can even right click on games and choose by which emulator the game should be started. It also automates the proces of automatically downloading game Box images from the Launchbox database when “importing” games etc.

For getting to grips with the core options for the more “complicated” systems it’s best to visit the specific libretro git repository which many of them have extensive if you scroll down. Like te one I linked for Dosbox-pure. If you would like to try the PUAE core a good starting point is the page, which is very extensive in its explanation.


What Media Player like UI? You know you can change the Menu driver right?

Try the Ozone Menu driver.

Cheers, that’s was informative! I just have my own system for organising emulators & games on the filesystem per platform, not too keen to change that or reimport half my games into RA. Looks like there’s hope though.

Whatever the current default is looks like the UI of my Raspberry PI mediaplayer (LibreELEC) :wink: Too consolised, too much animation. Anyway, probably a non-issue if I’m gonna use it via the command line anyway, eventually. The basic RGUI looks fine if I’ll need the UI, simple, fast, effective.

For the record, my GUI-ideals are along these lines :wink:


Just -L mesen-s works fine. You don’t need the full filename of the DLL or its path. (This feature got added a couple months ago.)


That’s a super neat tool, thanks for sharing (and to the author of shaderglass for creating it).

It could be worthwhile to update guest advanced in the RA repository, such that if shaderglass resyncs it will include guest’s updates from the last 8 months (too many to name :slight_smile: )

1 Like

New Release Version (2022-04-05-r1):

Notable changes:

  • another mask added: RRGGBBX for 4k+ setups
  • mask strength parameter has a smaller step now
  • increased overscan parameter range
  • some very small changes
  • existing recent presets shouldn’t be affected by the introduced changes

Download link:


Setting aside any color/brightness issues, can someone please explain to me why this looks so clean? As I understand it, GDV-NTSC is basically just adding NTSC Adaptive to GDV, right?

Why am I having such a hard time getting GDV-NTSC to look similar, with clean edges and natural beam width variation? The white text on the blue background in SMB is killing me.

Megatron NTSC preset with a couple tweaks for 1080p.

1 Like

You can tweak some settings a bit for a sharper look:

Setting both main gamma values to 1.0 and using blend mode 2.0 also does a nice job:


Greetings. I have been testing up your whole CRT guest advanced progress within the couple of presets you have already available.

I’d like to know it could ever be possible to add up within any of the current presets or a new one that could contain this particular effect known as Rainbow banding that was present on Sega Genesis console games. There’s a thread already talking about this:

For example in that particular reply, there’s a Sega Genesis demostration with RF connection which exposes the colorful red lines coming along with green and blue. The whole thread overall exposes different variants I did over time with public modded versions from mame_hlsl alone or with some few other presets like ntsc adaptive.

Would be great if that particular effect can be applied to other shader/presets that come along with composite-blurry looking just like some of you already have the capability of dithering presence. I unfortunately couldn’t find any other shader/preset that could apply accurately this effect just like it is for the real console.

Not to mention the fact such mame_hlsl preset along with others like tvout-tweak can allow to tweak intensity of the rainbow effect but also how specifically separate are each colorful line from each other, which helps out greatly in accuracy compared to the already existent NTSC shader/presets that to an extent deliver these Rainbow artifacts but in the same time far from being that accurate just like mame_hlsl.

I hope you can reply and thank you a lot for such a great job within your updated shaders.

Color issues aside that looks very good. Settings, please! :smiley:

1 Like

you should be able to replace the ntsc-adaptive passes in guest’s presets with the ntsc passes from mame_hlsl with your settings in most cases.


Honestly quiet a few of MAMEs passes can be used with other presets. (At least like 3-4 off the top of my head.)

1 Like

any ideas ? i may appreciate any preset you could know in how to mix those two passes with:

shader0 = "../crt/shaders/mame_hlsl/shaders/mame_ntsc_encode.slang"
filter_linear0 = "true"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = "NTSCPass"
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"

shader1 = "../crt/shaders/mame_hlsl/shaders/mame_ntsc_decode.slang"
filter_linear1 = "true"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "ColorPass"
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"

ntscsignal = "1.000000"
shadowalpha = "0.100000"
avalue = "0.000000"
bvalue = "0.000000"
pvalue = "1.100000"
scantime = "47.700073"
notch_width = "3.450001"
ifreqresponse = "1.750000"
qfreqresponse = "1.450000"

Here’s gamma 1.0/1.0, blend mode 2 with a few tweaks (mask strength 100%, etc). Looks fantastic! The edges and beam variation look very natural.

What settings did you use to produce the first screenshot you posted?


I used blend mode 2.0 and increased ntsc resolution. The downside is that it doesn’t blend dithering with games which use this technique, but should look very nice with nes… games.

Some posts above i replied that ntsc blending looks better with lower gamma and why 2.0 is defaulted instead of 2.4. Circumstances connected with bloom/glow passes which tend to share the same gamma value are such, that if glow/bloom/halation is used it looks quite different with low gamma. So 2.0 is a compromise, but 1.0 can be used np with presets which don’t rely on some lighting effects.


Is there any reference to the use case/intention of each mask option? Aesthetically I’m fond of mask 1 but I’m not 100% on when to use which options.

1 Like


masks are currently like WYSWYG and imo it shouldn’t be too hard to pick your fauvorite one or change some options.

Nevertheless, a short description:

-1.0: no mask
0.0: a dense magenta-green mask
1.0: Lottes RGB mask with a some sort of slotmask
2.0: Lottes RGB mask
3.0: Lottes - a bit enlarged and shifted RGB mask
4.0: Lottes - 2x enlarged and shifted RGB mask, looks nicer with 4k+
5.0: a dense magenta green mask (trinitron mask controls)
6.0: RGB mask (trinitron mask controls)
7.0: BW mask (trinitron mask controls)
8.0: BWW mask (trinitron mask controls)
9.0: magenta-green-black mask (trinitron mask controls)
10.0: RGBX mask (trinitron mask controls)
11.0: Red-Yellow-Cyan-Blue mask (nice for 1440p+)
12.0: Red-Magenta-Cyan-Green mask (similar to 11.0, but for BGR panel layout)
13.0: RRGGBBX mask (looks nice with 4k+)

Slotmask options are a bit more complicated to describe, it’s desired to match the slotmask width with the used regular mask width and then increase both strength values.

Some parameters are a bit self explaining i guess, don’t be afraid to experiment a bit…


Also note that if you change the “mask shift/stagger” value for a mask, it changes dramatically. For example mask 2 with stagger 1 looks similar to mask 3 with stagger 0, but a bit better for 480p content.


Mask 0 with stagger set to 1 produces an excellent dot mask pattern.


My monitor doesn’t like that pattern. The inversion artifacts are the most extreme I’ve ever seen: