New sonkun crt guest advanced hd presets thread

Welcome to the new crt guest advanced hd presets thread. Here I’ve taken @guest.r’s amazing crt advanced hd shader combined with @Dogway’s color grading shader and created Shadow Mask, Slot Mask and Aperture Grille crt shader presets for you all to enjoy.

“A mix of basic crt attributes that invokes a nostalgic vibe with a modern twist” is how I’d describe my crt presets.

Prerequisites:

Please make sure your output dynamic range is set to full and not limited. With full you’ll get richer looking colors and deeper looking blacks when using my presets. If your “black” screens look prominently gray it’s probably because your dynamic range is set to limited.

Installation Guide:

  1. Change your RetroArch driver to “vulkan” in Settings/Drivers/Video if you haven’t already, if by chance you get a black screen while using my shaders then try using the “glcore” driver instead. Exit RetroArch and then reopen it to make sure your new driver settings stick.

  2. Make sure your slang shaders are up to date by going to Online Updater/Update Slang Shaders.

  3. Download the shader pack below and extract it (In some cases you will also have to download guest.r’s latest shader pack as well as sometimes new features get added that I may take advantage of that are not yet available upstream by just updating your slang shaders within RetroArch. I’ll always include a link to get it under my shader pack download if needed to do so).

  4. Move the “sonkun” folder over to your “shaders_slang” folder so that it looks like this:

And that’s it. You can now load up the shaders just like you would any other.

Installation Guide for Android users that can’t reach the root RetroArch folder where the “shaders” folder is should follow this guide here.

Download link: https://www.mediafire.com/file/hfsng9uk1sb5kfl/new-sonkun-crt-guest-advanced-hd-presets-12-06-2024-v2.zip/file

Read notes about my latest pack release here.

For this update you will also need guest.r’s latest shader update for my presets to display properly, you can grab it here.

Installation Guide for guest.r updated shaders:

  1. Download and extract the pack.

  2. Go to wherever you have your RetroArch shaders folder and then go to shaders_slang/crt then delete the 5 guest advance shaders in that folder which are “crt-guest-advanced-fast.slangp”, “crt-guest-advanced-fastest.slangp”, “crt-guest-advanced-hd.slangp”, “crt-guest-advanced-ntsc.slangp” and “crt-guest-advanced.slangp” and replace them with the 5 from the downloaded pack.

  3. From the same crt folder go inside the “shaders” folder at the top and then look for a “guest” folder, delete that then replace it with the one from the downloaded pack that’s also in the “shaders” folder and that’s it, you’re done. You’ve now successfully updated guest.r shaders.

Features:

3 shader preset folders for 3 monitor types: 1080p, 1440p and 4k so whichever monitor you have, you can choose the right shader resolution for your monitor type.

Disclaimer - These presets were made and put together on a standard 65 inch 4K LCD display designed to be used on the three resolution types I’ve mentioned above, I have not tested these on a OLED, 720p or other random resolution type displays. If you use use my presets on any type of display besides those 3 screen resolutions mentioned I may not be able to help if you run into any display issues

If you do use my presets on a OLED display the first thing you should change is the Mask Layout setting in the Shader Parameters settings and try changing that to 1.00 (see sample image below)

That should help with lining the phosphors up properly on your OLED and make the overall picture look better. If you feel the image looks better with that disabled then leave it off.

45 shader presets to choose from per folder with 3 different phosphor types for USA, Japan and Pal that come in

Normal:

Warm:

and Cool:

white point temperature types.

Multiple cable types to choose from

Included are shader presets representing 5 cable types to choose from: RF, composite, composite with artifacts/rainbows, s-video and RGB.

2 composite types to choose from

Standard:

“Rainbow Artifacts” composite signal that has some fringing and rainbow artifacts depending on the game:

Resolution Switching Noise

Included is an amazing shader by @kokoko3k called “crt-resswitch-glitch-koko”. It produces a forgotten crt feature where when switching resolutions the screen would give a quick “flick” on the screen and produce a specific screen noise.

Example:

It’s better viewed in action. You can also read more on the topic here.

S-Video presets includes @Hyllian’s “sgenpt-mix multpass” shader to take care of checkerboard dithering and lite vertical line dithering. Here’s an example from Sega Saturn’s version of Mega Man X4:

No sgenpt-mix multpass:

Sgenpt-mix multpass turned on:

Sgenpt-mix multpass is still a work in progress shader so some games may produce weird graphic glitches depending on the game.

My recommended case use with these shaders is RF/composite for all systems from the 4th generation consoles and below (nes, snes, genesis, atari, turbografx etc.), composite (or optional s-video) for 5th and 6th generation consoles (ps1, saturn, n64, dreamcast, ps2, gamecube) and RGB for arcade.

Also for NES cores I recommend changing the palette setting. The two most popular cores are mesen and nestopia. For Mesen you should use the “Original Hardware (by FirebrandX)” setting, for Nestopia use the “NTSC hardware FBx” setting as my composite presets were designed with those pallets settings. Also with Mesen you should change both the top and bottom overscan settings to 8px to avoid harsh moire patterns on the screen.

For Nintendo 64 mupen core with Parallel-rdp settings enabled I also recommend changing the “crop overscan” setting to 8 to help reduce moire patterns that appear on the screen with that setting at default 0. For Sega Saturn if using the Beetle Saturn core change “Horizontal Overscan Mask” to 8 and “Last Scanline” to 229. For PlayStation if using the Swanstation core change Crop Mode to “Only Overscan Area” in the “Display Settings”, in the Beetle PSX core change “Core Aspect Ratio” to “Force 4:3”, “Initial Scan Line - NTSC” to 8 and “Last Scan Line - NTSC” to 231.

RF sample pics:

Composite sample pics:

S-Video sample pics:

RGB sample pics:

Choose your preferred screen type

Choose from having a flat screen:

or curved screen:

Both curved and flat presets are designed to fit right inside overlays from The Bezel Project.

The user @thingsiplay wrote an amazing article on my preset pack that goes more into detail with comparison pics and a video. You can read the article here.

Also YouTuber Retro Crisis has made a couple videos showcasing my presets with a installation guide along with showcasing the dithering and transparency effects from the composite and svideo presets, you can check them out here:

I have a YouTube channel as well, not much there but you can check out some of my personal favorite video game osts/bgms there if you want.

I’ve also made a “fast” preset of my Slot Mask preset using the “crt-consumer.glsl” shader. You can check that out here. It’s for 1080p I’m not sure how it looks on other resolutions.

I hope you all enjoy.

31 Likes

is the defaut ntsc preset pal or usa

1 Like

I believe it’s USA. I’m trying to find the readme for Dogway’s grade shader that goes more in depth on the different type of phosphor settings the grade shader includes but not sure where to find it. I know there’s a thread that discusses the shader here though.

Hi sonkun, I am currently working on a comparison post of your Shader presets. While doing so, I encountered an oddity. It happens on all 3 resolutions with integer scale on and aspect ratio 4:3 (on my PC). And it only appears on the s-video variant of your preset. Look at the SONY sign in the middle of the cropped screenshots. BTW the game is Snatcher for Sega CD played with Genesis Plus GX core.

7 Likes

Welcome to the forum! I really enjoy your blog and shader comparisons!

Looking at the svideo shader preset, my first guess is that it is the Gdapt passes giving a false positive on the repeating vertical lines in the logo and blending them.

7 Likes

Yup, it’s more than likely what hyperspace said. I added gdapt into the s-video presets cause I liked that one the best out of the other dithering shader options but I’m also aware that shader sometimes give false positives. I may have to look into the s video presets next and find the best dithering shader option to use

4 Likes

Yeah, you may want to check out Hyllian’s checkerboard dedither, it does a really great job, it’s 3 passes.

It doesn’t address vertical lines, but my experience has been that as soon as you are looking for a solution to the vertical lines situations like the above can occur.

2 Likes

Thank you. I also enjoy this forum and all your guys postings. Reading here for a while and finally was forced to create an account. As for the Shader, I am curious if this can be solved by user settings in the Shader parameters. But it is not a big deal. I only managed to see it because I am cropping it systematically and after a few games, this is the only place I noticed.

3 Likes

I tell you what, I’m at work right now and won’t be home for another 6 hours or so, if you want to put your article on hold for a few hours then soon as I get home I’m going to find a suitable replacement for gdapt so that that logo shows properly and post up a new shader pack update. You’ve been helping me all week on the reddit forums to shape up my presets to what they are now and it looks like this is yet another another step to perfect my presets.

@HyperspaceMadness I want a dithering shader that take up at least 2 passes to replace the first two available stock passes on the guest advanced ntsc shader. Soon as I get home I’m gonna get right on this, wanna make sure I give @thingsiplay a good product for his article.

3 Likes

Well in a case like this you can probably use Hyllian Checkerboard to address the checkerboard and you can use my Blargg_NTSC_Genesis_Composite_CyberLab_Special_Edition.filt aka Blargg_SNES_Custom_Psuedo_MD_Composite.filt or Blargg_NTSC_Genesis_S-Video_CyberLab_Special_Edition.filt aka Blargg_SNES_Custom_Psuedo_MD_S-Video.filt video filter presets to address the vertical lines as a sort of hybrid solution.

It sounds crazy but it just might work!

1 Like

Lol thank you but I’m trying to avoid any blargg video filters and just have the shaders do all the work, after all my end game is to just load the shaders up, set it and forget it so that it’s easy for all end users.

I’ll just head into the dithering folder later and play around with what’s there until something sticks. Maybe that sgenpt-mix shader but I’ll see

2 Likes

Many different dithering patterns were used during 8/16bit era. The most common pattern present in these games is known as checkerboard dithering, which as the name suggests, is basically an alternating color pixel pattern vertically and horizontally.

Another pattern present mainly in genesis games are the only vertical lines dithering. These patterns are blended by the analog crt display and ntsc/pal systems along the analog cable (composite) used to transmit the signal between the console and display.

Now, back to the shaders, it’s important to state that checkerboard dithering is easier to detect than vertical lines. For the latter, only the ntsc shaders/filters set to composite can perform a complete filtering of vertical lines without adding erratic artifacts (it adds some known artifacts as color bleeding and blurring, but not erratic artifacts).

Important: if you are using a ntsc-composite shader, you don’t need other dedither shader.

For Checkerboard Dithering some good shaders are: checkerboard-dedither, mdapt, jinc2-dedither.

For Vertical Lines, I recommend: mdapt, sgenpt-mix.

7 Likes

Yeah totally agree, sgenpt-mix is one that can deal with the most extreme examples, here’s a little experiment I did

No De-Dither

Sgenpt with some high strength

5 Likes

So either mdapt or sgenpt-mix, got it. I can’t wait to get home and put out this update, this should be the final major issue for now for a while. The composite and rgb presets are good to go it seems, it’s just s-video that needs a little love. I’m on it guys

2 Likes

Use them only if the game presents vertical lines dithering. The Sony screenshot doesn’t!

1 Like

Hmm, maybe I need to be home to go more in depth into this. So you’re saying it’s not good to use them as an all around shader? Once I add it to the pass I intend to just leave it there. I need to hurry up and finish this shift so I can test this all out

1 Like

That’s it. You probably need an special preset just to use Vertical Lines dedither, because only a few games need it and justify the artifacts it creates. A more general preset should use only a checkerboard dedither, which is much more artifacts free.

3 Likes

Exactly this,

I think the best all around thing which won’t cause problematic things like the Sony logo is the hyllian checkerboard.

2 Likes

Ok I’m home now and ready to play. So you’re saying I should skip mdapt and sgenpt-mix and just go with the checkerboard dedither shader? Main reason I added gdapt in was for Sega Saturn. I know games on that system didn’t handle dithering properly but I wanted to eliminate that issue with a dithering shader pass.

The next issue is going about adding that into the CRT-guest-advanced-ntsc shader chain and then I’m good to go. If I remember correctly in the past, after guest updated his advanced shader I was unable to add any additional passes to the chain or the whole shader will fail to load.

Is it possible to get a single pass version of that checkerboard dedither shader? Or two pass version that way I can just squeeze it into the first two passes where the stock shaders are? If not I’ll try to get it added in another way

1 Like

Yeah, that would be my suggestion

Yeah, the checkerboard by Hyllian works very well on the saturn dithering, he did a fair amount of testing specifically on saturn.

Yeah, it’s 3 passes and I think it’s unlikely it will change from 3 passes.

The chain was probably failing because there was alias which needed to be shifted to another pass.

4 Likes