CyberLab Death To Pixels Shader Preset Packs

I use this Display Port 1.4 to HDMI 2.1 Adapter.

https://a.co/d/0gegZgdu

I’ve updated the firmware since getting it. Can’t detect any lag. It’s not the limiting factor though, it’s my GeForce GTX 1070. It doesn’t support DSC. I did a lot of research on the issue, that’s how I was finally able to get it working at 2160p @ 100Hz with 8-bit RGB 4:4:4 Full.

As a graphics developer I am really hard on one of my monitors. It is an IPS panel and gets the image retention from a variety of situations. It’s never become permanent.

1 Like

CyberLab__Arcade-Sharp__1080p__PVM-Edition__ADV.slangp + FB-Neo.slangp

#reference "../../MBZ__3__Standard_Full_Reflections\1080p_Optimized_Presets/CyberLab__Arcade-Sharp__1080p__PVM-Edition__ADV.slangp" 


#reference "../../../Duimon-Mega-Bezel/Presets/Advanced/FB-Neo/FB-Neo-[ADV]-[Guest][CABINET][NO TILT].slangp"

HSM_INT_SCALE_MODE = "0.000000"
HSM_CURVATURE_MODE = "1.000000"
HSM_CRT_CURVATURE_SCALE = "10.000000"


shadowMask = "6.000000"

Note that all of these screenshots seemed to be in the wrong colourspace so things would be either very dark or very washed out. That’s not how the actual preset would look when loaded.

Okay so I forgot to adjust my scaling settings as per Mega Bezel’s requirements before taking the screenshots above. Here is another preset with screenshots taken with the correct settings. The result is no moire. Note that the moire pattern had nothing to do with either preset, just the incorrect scaling settings.

CyberLab__Arcade-Sharp__1080p__PVM-Edition__ADV.slangp + MAME.slangp

#reference "../../MBZ__3__Standard_Full_Reflections/1080p_Optimized_Presets/CyberLab__Arcade-Sharp__1080p__PVM-Edition__ADV.slangp" 


#reference "../../../Duimon-Mega-Bezel/Presets/Standard/MAME/MAME-[STD]-[Guest][CABINET].slangp"

HSM_INT_SCALE_MODE = "0.000000"
HSM_CURVATURE_MODE = "1.000000"
HSM_CRT_CURVATURE_SCALE = "10.000000"


shadowMask = "6.000000"

Note that all of these screenshots seemed to be in the wrong colourspace so things would be either very dark or very washed out. That’s not how the actual preset would look when loaded.

Let me see if I can get some better screenshots.

Well guess not, I’ll try to update when I do get Shadow Play HDR Capture to behave again but I’ll still post to help those in need of assistance with this.

CyberLab__Arcade-Sharp__1080p__PVM-Edition__ADV.slangp + MAME Zoomed In.slangp

#reference "../../MBZ__3__Standard_Full_Reflections/1080p_Optimized_Presets/CyberLab__Arcade-Sharp__1080p__PVM-Edition__ADV.slangp" 


#reference "../../../Duimon-Mega-Bezel/Presets/Standard/MAME/MAME-[STD]-[Guest][CABINET].slangp"

// HSM_INT_SCALE_MODE = "0.000000"
// HSM_CURVATURE_MODE = "1.000000"
// HSM_CRT_CURVATURE_SCALE = "10.000000"


// shadowMask = "6.000000"


HSM_NON_INTEGER_SCALE = "91.169876"
HSM_CURVATURE_MODE = "3.000000"
HSM_CURVATURE_3D_TILT_ANGLE_Y = "-6.000000"

CyberLab__Arcade-Sharp__1080p__PVM-Edition__ADV.slangp + MAME No Overrides.slangp

#reference "../../MBZ__3__Standard_Full_Reflections/1080p_Optimized_Presets/CyberLab__Arcade-Sharp__1080p__PVM-Edition__ADV.slangp" 


#reference "../../../Duimon-Mega-Bezel/Presets/Standard/MAME/MAME-[STD]-[Guest][CABINET].slangp"

// HSM_INT_SCALE_MODE = "0.000000"
// HSM_CURVATURE_MODE = "1.000000"
// HSM_CRT_CURVATURE_SCALE = "10.000000"


// shadowMask = "6.000000"

Finally, some proper screenshots!!

1 Like

Offtopic. Cyber, is this a good monitor for CRT emulation? https://a.co/d/00Lq9bJw

This has been discussed at length in the following threads:

You can make the most of any monitor when it comes to CRT Shaders as some types do some aspects of the CRT Emulation experience better than others.

I personally would not recommend that particular monitor because it’s QD-OLED so there is no subpixel support in Shaders.

It’s not bright enough at HDR400. Sony Megatron recommends at least an HDR600 Display with HDR1000 recommended for BFI.

In more recent times @Nesguy has suggested a DisplayHDR1400 monitor.

I recommend high nit miniLED TVs and monitors with high dimming zone counts and it’s been discussed here and all over these forums as well.

This is a list of DisplayHDR 1400 Monitors:

https://displayhdr.org/certified-products/#tab-1400

For OLED Monitors you might want to look at DisplayHDR 1000 True Black monitors but only 4K WOLED ones. RWBG subpixel layout is currently supported by shaders but many OLED monitors have used different layouts which don’t match the subpixel capabilities of many shaders, this is especially true for some 1440p models, which is a very popular sub category in the OLED camp.

If you do buy a display with unsupported subpixel layout, you can either mod the shader yourself to add support or become both a beta tester and advocate for support for your particular subpixel layout to be added to your favourite shader.

amazon.com/dp/B0F7LR12VW/ref=sspa_dk_detail_1

Just putting this here for folks who would like to know how to combine CyberLab Mega Bezel presets with Background Graphics from other Mega Bezel Packs:

And for those who need more detailed setup instructions fot CyberLab Mega Bezel Death To Pixels Shader Preset Pack:

1 Like

CyberLab CRT-Royale 1080p NES_N64_Saturn Sharp - Core Blargg NTSC Filter Recommended Neo-GX.slangp

shaders = "14"
feedback_pass = "0"
shader0 = "shaders_slang/misc/shaders/grade.slang"
alias0 = ""
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "shaders_slang/interpolation/shaders/quilez.slang"
alias1 = ""
wrap_mode1 = "clamp_to_edge"
mipmap_input1 = "false"
filter_linear1 = "true"
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "viewport"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-first-pass-linearize-crt-gamma-bob-fields.slang"
alias2 = "ORIG_LINEARIZED"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
filter_linear2 = "false"
float_framebuffer2 = "false"
srgb_framebuffer2 = "true"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"
shader3 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-scanlines-vertical-interlacing.slang"
alias3 = "VERTICAL_SCANLINES"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
filter_linear3 = "true"
float_framebuffer3 = "false"
srgb_framebuffer3 = "true"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "viewport"
scale_y3 = "1.000000"
shader4 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-bloom-approx.slang"
alias4 = "BLOOM_APPROX"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
filter_linear4 = "true"
float_framebuffer4 = "false"
srgb_framebuffer4 = "true"
scale_type_x4 = "absolute"
scale_x4 = "320"
scale_type_y4 = "absolute"
scale_y4 = "240"
shader5 = "shaders_slang/blurs/shaders/royale/blur9fast-vertical.slang"
alias5 = ""
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
filter_linear5 = "true"
float_framebuffer5 = "false"
srgb_framebuffer5 = "true"
scale_type_x5 = "source"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/blurs/shaders/royale/blur9fast-horizontal.slang"
alias6 = "HALATION_BLUR"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
filter_linear6 = "true"
float_framebuffer6 = "false"
srgb_framebuffer6 = "true"
scale_type_x6 = "source"
scale_x6 = "1.000000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-mask-resize-vertical.slang"
alias7 = ""
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
filter_linear7 = "true"
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
scale_type_x7 = "absolute"
scale_x7 = "64"
scale_type_y7 = "viewport"
scale_y7 = "0.062500"
shader8 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-mask-resize-horizontal.slang"
alias8 = "MASK_RESIZE"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
filter_linear8 = "false"
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
scale_type_x8 = "viewport"
scale_x8 = "0.062500"
scale_type_y8 = "source"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-scanlines-horizontal-apply-mask.slang"
alias9 = "MASKED_SCANLINES"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
filter_linear9 = "true"
float_framebuffer9 = "false"
srgb_framebuffer9 = "true"
scale_type_x9 = "viewport"
scale_x9 = "1.000000"
scale_type_y9 = "viewport"
scale_y9 = "1.000000"
shader10 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-brightpass.slang"
alias10 = "BRIGHTPASS"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
filter_linear10 = "true"
float_framebuffer10 = "false"
srgb_framebuffer10 = "true"
scale_type_x10 = "viewport"
scale_x10 = "1.000000"
scale_type_y10 = "viewport"
scale_y10 = "1.000000"
shader11 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-bloom-vertical.slang"
alias11 = ""
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
filter_linear11 = "true"
float_framebuffer11 = "false"
srgb_framebuffer11 = "true"
scale_type_x11 = "source"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-bloom-horizontal-reconstitute.slang"
alias12 = ""
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
filter_linear12 = "true"
float_framebuffer12 = "false"
srgb_framebuffer12 = "true"
scale_type_x12 = "source"
scale_x12 = "1.000000"
scale_type_y12 = "source"
scale_y12 = "1.000000"
shader13 = "shaders_slang/crt/shaders/crt-royale/src/crt-royale-geometry-aa-last-pass.slang"
alias13 = ""
wrap_mode13 = "clamp_to_edge"
mipmap_input13 = "true"
filter_linear13 = "true"
float_framebuffer13 = "false"
srgb_framebuffer13 = "false"
scale_type_x13 = "viewport"
scale_x13 = "1.000000"
scale_type_y13 = "viewport"
scale_y13 = "1.000000"
g_GCompress = "0.000000"
g_crtgamut = "1.000000"
wp_temperature = "7104.000000"
g_vignette = "0.000000"
g_sat = "0.410000"
g_lift = "-0.010000"
crt_gamma = "2.174999"
levels_contrast = "0.328125"
diffusion_weight = "0.010000"
bloom_underestimate_levels = "0.330000"
beam_spot_power = "0.470000"
convergence_offset_x_r = "0.150000"
convergence_offset_x_b = "-0.100000"
convergence_offset_y_r = "-0.050000"
convergence_offset_y_b = "0.050000"
mask_type = "0.000000"
mask_sample_mode_desired = "1.000000"
interlace_detect_toggle = "0.000000"
textures = "mask_grille_texture_small;mask_grille_texture_large;mask_slot_texture_small;mask_slot_texture_large;mask_shadow_texture_small;mask_shadow_texture_large;SamplerLUT1;SamplerLUT2"
mask_grille_texture_small = "shaders_slang/crt/shaders/crt-royale/TileableLinearApertureGrille15Wide8And5d5SpacingResizeTo64.png"
mask_grille_texture_small_mipmap = "false"
mask_grille_texture_small_linear = "true"
mask_grille_texture_small_wrap_mode = "repeat"
mask_grille_texture_large = "shaders_slang/crt/shaders/crt-royale/TileableLinearApertureGrille15Wide8And5d5Spacing.png"
mask_grille_texture_large_mipmap = "true"
mask_grille_texture_large_linear = "true"
mask_grille_texture_large_wrap_mode = "repeat"
mask_slot_texture_small = "shaders_slang/crt/shaders/crt-royale/TileableLinearSlotMaskTall15Wide9And4d5Horizontal9d14VerticalSpacingResizeTo64.png"
mask_slot_texture_small_mipmap = "false"
mask_slot_texture_small_linear = "true"
mask_slot_texture_small_wrap_mode = "repeat"
mask_slot_texture_large = "shaders_slang/crt/shaders/crt-royale/TileableLinearSlotMaskTall15Wide9And4d5Horizontal9d14VerticalSpacing.png"
mask_slot_texture_large_mipmap = "true"
mask_slot_texture_large_linear = "true"
mask_slot_texture_large_wrap_mode = "repeat"
mask_shadow_texture_small = "shaders_slang/crt/shaders/crt-royale/TileableLinearShadowMaskEDPResizeTo64.png"
mask_shadow_texture_small_mipmap = "false"
mask_shadow_texture_small_linear = "true"
mask_shadow_texture_small_wrap_mode = "repeat"
mask_shadow_texture_large = "shaders_slang/crt/shaders/crt-royale/TileableLinearShadowMaskEDP.png"
mask_shadow_texture_large_mipmap = "true"
mask_shadow_texture_large_linear = "true"
mask_shadow_texture_large_wrap_mode = "repeat"
SamplerLUT1 = "shaders_slang/reshade/shaders/LUT/Kurozumi_64_D93_Rec601.png"
SamplerLUT1_mipmap = "false"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT2 = "shaders_slang/reshade/shaders/LUT/Kurozumi_64_D65_EBU.png"
SamplerLUT2_mipmap = "false"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"

With Core Blargg NTSC Composite Video Filter Preset applied

I find that most of the default Core provided Blargg NTSC Composite Video filter presets go a bit overkill on the artifacts and fringing, in my opinion the S-Video Preset provides the best balance out of those.

3 Likes

https://www.reddit.com/r/crtgaming/s/LQmxsaAesa

https://www.reddit.com/r/crtgaming/s/egt6bZCC82

2 Likes

Not sure why you deleted your post before I got a chance to respond but are you using Mega Bezel v1.14?

Other than that what changes have you made to the preset?

Lastly, there are many other Genesis Presets which do Blending-and-Transparency. You can try one of my Neo-GX Presets.

Is MDAPT/GDAPT/SGENPT-MIX turned on in the preset which blends the power bars?

1 Like

Oh, that’s because I figured out the problem. Phase was on mixed and I changed it to auto. It looks really good now. It has a sharper look than the standard guest ntsc preset.

I’m not even sure if Mixed phase was a thing in Mega Bezel v1.14.

What you thought was a fix might actually be a workaround to problem caused by user error if you’re not using Mega Bezel v1.14.

If you’re sure you’re using Mega Bezel v1.14 then you’ve most probably solved an actual bug.

Hadn’t seen the NES one before. That was really interesting! Got me playing multiple classics comparing the Firebrand X colors vs. the NES Classic palette.

This might be a hot take, but the NES Classic palette is way closer to what my old TV’s displayed with the NES. A little green on the yellow’s, a little purple on Mario’s sky, but otherwise it’s pretty spot on. The FBX colors in most of their palettes, feel so over saturated from a calibration accuracy POV. Same with the Sony palette. (though the sky in Mario looks more like I remember, I also recall tweaking my Tint knob to make it blue)

The blood on the Abadox titlescreen looks like blood. The skin tones in multiple games are far more neutral than yellow. The selection Heart on the Zelda file select screen is the redder color it should be. To me.

Greens, Pinks, Browns and Blues in StarTropics and Star Wars are the closest to the way I remember, and Mike Tyson’s Punch Out as well.

Funny thing about my NES, it flashed a neon Blue screen when it wouldn’t load a cart right. Never seen that from anyone else’s online or IRL.

1 Like

It’s 1.17.2. I updated the shaders and retroarch only a few days ago.

You may be interested in my discussion here: https://forums.nesdev.org/viewtopic.php?p=307782#p307782

I demonstrate that small changes in user tint lead to greater changes in certain colors on the Famicom/NES, and conclude that most ‘accuracy’ focused palettes are probably good enough.

I also noticed, at least according to my analysis, that PAL’s colors are different in such a way to make the SMB sky blue, and there are many European and South American users in emulator forums and so now I wonder how many people arguing over palettes were doing so from that perspective.

2 Likes

Palettes were (and maybe still are) also a hot topic in the C64 scene for years, the computer being popular both in NTSC and PAL regions, but newer, including emulator developments, pretty one-sided from PAL lands.

E.g. the supposedly accurate Pepto palette was regarded as somewhat dull, but you were supposed to use it with saturation, CRT emulation of Vice activated, whatever. It also got a NTSC specific variant (I think this was based on a Sony decoder).

Unfortunately it turned out Pepto was wrong with his measurements and the palette has been superseded by Colodore. Colodore was still regarded as imperfect, and so the (imho somewhat unfortunately named) PALette appeared. The “Community Colors” palette was another effort where a bunch of people got together with their real machines to develop something, afaik another PAL-only project.

2 Likes

That’s your real issue right there:

I love it.

20 characters to post?! x.x

2 Likes

Thanks! I’ll try that out. You also said that there are other presents for transparencies, but they’re 4k presets and I have a 1440p monitor. Would I just have to change the mask size?

It’s a 1440p LCD. The ASUS pulsar monitor which has a fantastic 60hz strobing mode.

1 Like

Tell me you didn’t read any of the readme.txt files nor the first post of this thread without saying it.

For most of my preset packs and presets after a certain point, blending of transparency and dithering effects is the default behaviour for consoles which require that.

While my Mega Bezel preset pack contains 1440p_Optimized preset folders, other preset packs include tips for adjusting the TVL or resolution settings to maintain consistency with the 4K Optimized Presets.

The parameters to change depend on the preset pack/Shaders used.

In general if you want a 4K preset to look similar at 1440p and similarly 1080p, you would have to adjust whichever parameters are necessary to increase the TVL.

Feel free to let me know which preset pack(s) Shaders you’re using and I can point you in the right direction.

As for which presets blend and don’t blend, the signal type in the description is also a good indicator.

So, look for RF, Composite or 3D Comb Filter and I also have presets which suggest you combine with a Blargg NTSC Video Filter Preset. The same applies. In some cases an S-Video preset might do some limited blending.

1 Like

where is the link on github i want to add this combination please :blush: