These presets are intended to be used on an actual CRT, not a modern display. I know that ‘sounds’ very redundant, but stick with me. The point of these being setup this way is to simulate 4 different video signals; RF, Composite, Component, and RGB. (I’m sure there are a number of inaccuracies, but feel free to point out where. I’d be happy to improve.)
In particular my CRT is a 31Khz VGA Monitor, and I’m running CRTResSwitch at 1920 super resolution. Because of that, taking screenshots of this is impossible as it removes the native scanlines and it’s all stretched out, and it’s all just is a mangled mess.
It also looks like dog **** on an LCD with these settings, so that doesn’t work either. Nor did taking pictures with my phone as the camera isn’t picking up the details… Honestly, the only way to really share this with people is to have them try it themselves.
These are using the following shaders:
- LUT - Custom color configuration. I just never though emulated games’ colors looked right until now.
- tvout-tweaks - used for some blurring and some composite/rf color changes.
- image-adjustment - tweaks a number of small details like film grain, saturation, and brightness
- interlacing - this is purely so 480p displays interlacing as scanlines are native on the CRT for 240p
- crt-easymode - this is for the slot-mask. or w/e version mask it is. idk, looks good lol
While I can’t get the signals to show properly, here is what the color changes look like via the LUT.
These are only showing the LUT portion, not the CRT effects
You’ll need to save this LUT image as “Custom.png” and place it in ./shaders/reshade/shaders/LUT/
The comparisons seem a lot more subtle looking at them here, but you can really see the difference if you look at Samus. This actually undersells the color changes so much that I wonder if I should even keep these images here lol
So, with that out of the way, here’s the actual preset texts. These are all in .glsp format.
1 - RF
alias0 = ""
alias1 = ""
alias2 = ""
alias3 = ""
alias4 = ""
BRIGHT_BOOST = "1.000000"
DILATION = "0.000000"
enable_480i = "1.000000"
float_framebuffer0 = "false"
float_framebuffer1 = "false"
float_framebuffer2 = "false"
float_framebuffer3 = "false"
float_framebuffer4 = "false"
GAMMA_INPUT = "2.000000"
GAMMA_OUTPUT = "2.400000"
ia_B = "1.000000"
ia_black_level = "0.000000"
ia_BOTMASK = "0.000000"
ia_bright_boost = "0.000000"
ia_contrast = "1.000000"
ia_FLIP_HORZ = "0.000000"
ia_FLIP_VERT = "0.000000"
ia_G = "1.000000"
ia_GRAIN_STR = "12.000000"
ia_LMASK = "0.000000"
ia_luminance = "1.000000"
ia_monitor_gamma = "2.400000"
ia_overscan_percent_x = "0.000000"
ia_overscan_percent_y = "0.000000"
ia_R = "1.000000"
ia_RMASK = "0.000000"
ia_saturation = "0.800000"
ia_SHARPEN = "0.000000"
ia_target_gamma = "2.000000"
ia_TOPMASK = "0.000000"
ia_XPOS = "0.000000"
ia_YPOS = "0.000000"
ia_ZOOM = "1.000000"
LUT_Size = "32.000000"
MASK_DOT_HEIGHT = "1.000000"
MASK_DOT_WIDTH = "2.000000"
MASK_SIZE = "1.000000"
MASK_STAGGER = "3.000000"
MASK_STRENGTH = "1.000000"
mipmap_input0 = "false"
mipmap_input1 = "false"
mipmap_input2 = "false"
mipmap_input3 = "false"
mipmap_input4 = "false"
parameters = "LUT_Size;TVOUT_RESOLUTION;TVOUT_COMPOSITE_CONNECTION;TVOUT_TV_COLOR_LEVELS;TVOUT_RESOLUTION_Y;TVOUT_RESOLUTION_I;TVOUT_RESOLUTION_Q;ia_target_gamma;ia_monitor_gamma;ia_overscan_percent_x;ia_overscan_percent_y;ia_saturation;ia_contrast;ia_luminance;ia_black_level;ia_bright_boost;ia_R;ia_G;ia_B;ia_ZOOM;ia_XPOS;ia_YPOS;ia_TOPMASK;ia_BOTMASK;ia_LMASK;ia_RMASK;ia_GRAIN_STR;ia_SHARPEN;ia_FLIP_HORZ;ia_FLIP_VERT;percent;enable_480i;top_field_first;SHARPNESS_H;SHARPNESS_V;MASK_STRENGTH;MASK_DOT_WIDTH;MASK_DOT_HEIGHT;MASK_STAGGER;MASK_SIZE;SCANLINE_STRENGTH;SCANLINE_BEAM_WIDTH_MIN;SCANLINE_BEAM_WIDTH_MAX;SCANLINE_BRIGHT_MIN;SCANLINE_BRIGHT_MAX;SCANLINE_CUTOFF;GAMMA_INPUT;GAMMA_OUTPUT;BRIGHT_BOOST;DILATION"
percent = "0.000000"
SamplerLUT = "W:\Emulators\RetroArch\shaders\shaders_glsl\reshade\shaders\LUT\Custom.png"
SamplerLUT_linear = "true"
SamplerLUT_mipmap = "false"
SamplerLUT_wrap_mode = "clamp_to_border"
SCANLINE_BEAM_WIDTH_MAX = "1.500000"
SCANLINE_BEAM_WIDTH_MIN = "1.500000"
SCANLINE_BRIGHT_MAX = "0.650000"
SCANLINE_BRIGHT_MIN = "0.350000"
SCANLINE_CUTOFF = "400.000000"
SCANLINE_STRENGTH = "0.000000"
shader0 = "W:\Emulators\RetroArch\shaders\shaders_glsl\reshade\shaders\LUT\LUT.glsl"
shader1 = "W:\Emulators\RetroArch\shaders\shaders_glsl\crt\shaders\tvout-tweaks.glsl"
shader2 = "W:\Emulators\RetroArch\shaders\shaders_glsl\misc\image-adjustment.glsl"
shader3 = "W:\Emulators\RetroArch\shaders\shaders_glsl\misc\interlacing.glsl"
shader4 = "W:\Emulators\RetroArch\shaders\shaders_glsl\crt\shaders\crt-easymode.glsl"
shaders = "5"
SHARPNESS_H = "0.500000"
SHARPNESS_V = "1.000000"
srgb_framebuffer0 = "false"
srgb_framebuffer1 = "false"
srgb_framebuffer2 = "false"
srgb_framebuffer3 = "false"
srgb_framebuffer4 = "false"
textures = "SamplerLUT"
top_field_first = "0.000000"
TVOUT_COMPOSITE_CONNECTION = "1.000000"
TVOUT_RESOLUTION = "1024.000000"
TVOUT_RESOLUTION_I = "72.000000"
TVOUT_RESOLUTION_Q = "48.000000"
TVOUT_RESOLUTION_Y = "128.000000"
TVOUT_TV_COLOR_LEVELS = "1.000000"
wrap_mode0 = "clamp_to_border"
wrap_mode1 = "clamp_to_border"
wrap_mode2 = "clamp_to_border"
wrap_mode3 = "clamp_to_border"
wrap_mode4 = "clamp_to_border"
2 - Composite
alias0 = ""
alias1 = ""
alias2 = ""
alias3 = ""
alias4 = ""
BRIGHT_BOOST = "1.000000"
DILATION = "0.000000"
enable_480i = "1.000000"
float_framebuffer0 = "false"
float_framebuffer1 = "false"
float_framebuffer2 = "false"
float_framebuffer3 = "false"
float_framebuffer4 = "false"
GAMMA_INPUT = "2.000000"
GAMMA_OUTPUT = "2.400000"
ia_B = "1.000000"
ia_black_level = "0.000000"
ia_BOTMASK = "0.000000"
ia_bright_boost = "0.000000"
ia_contrast = "1.000000"
ia_FLIP_HORZ = "0.000000"
ia_FLIP_VERT = "0.000000"
ia_G = "1.000000"
ia_GRAIN_STR = "6.000000"
ia_LMASK = "0.000000"
ia_luminance = "1.000000"
ia_monitor_gamma = "2.400000"
ia_overscan_percent_x = "0.000000"
ia_overscan_percent_y = "0.000000"
ia_R = "1.000000"
ia_RMASK = "0.000000"
ia_saturation = "1.000000"
ia_SHARPEN = "0.000000"
ia_target_gamma = "2.000000"
ia_TOPMASK = "0.000000"
ia_XPOS = "0.000000"
ia_YPOS = "0.000000"
ia_ZOOM = "1.000000"
LUT_Size = "32.000000"
MASK_DOT_HEIGHT = "1.000000"
MASK_DOT_WIDTH = "2.000000"
MASK_SIZE = "1.000000"
MASK_STAGGER = "3.000000"
MASK_STRENGTH = "1.000000"
mipmap_input0 = "false"
mipmap_input1 = "false"
mipmap_input2 = "false"
mipmap_input3 = "false"
mipmap_input4 = "false"
parameters = "LUT_Size;TVOUT_RESOLUTION;TVOUT_COMPOSITE_CONNECTION;TVOUT_TV_COLOR_LEVELS;TVOUT_RESOLUTION_Y;TVOUT_RESOLUTION_I;TVOUT_RESOLUTION_Q;ia_target_gamma;ia_monitor_gamma;ia_overscan_percent_x;ia_overscan_percent_y;ia_saturation;ia_contrast;ia_luminance;ia_black_level;ia_bright_boost;ia_R;ia_G;ia_B;ia_ZOOM;ia_XPOS;ia_YPOS;ia_TOPMASK;ia_BOTMASK;ia_LMASK;ia_RMASK;ia_GRAIN_STR;ia_SHARPEN;ia_FLIP_HORZ;ia_FLIP_VERT;percent;enable_480i;top_field_first;SHARPNESS_H;SHARPNESS_V;MASK_STRENGTH;MASK_DOT_WIDTH;MASK_DOT_HEIGHT;MASK_STAGGER;MASK_SIZE;SCANLINE_STRENGTH;SCANLINE_BEAM_WIDTH_MIN;SCANLINE_BEAM_WIDTH_MAX;SCANLINE_BRIGHT_MIN;SCANLINE_BRIGHT_MAX;SCANLINE_CUTOFF;GAMMA_INPUT;GAMMA_OUTPUT;BRIGHT_BOOST;DILATION"
percent = "0.000000"
SamplerLUT = "W:\Emulators\RetroArch\shaders\shaders_glsl\reshade\shaders\LUT\Custom.png"
SamplerLUT_linear = "true"
SamplerLUT_mipmap = "false"
SamplerLUT_wrap_mode = "clamp_to_border"
SCANLINE_BEAM_WIDTH_MAX = "1.500000"
SCANLINE_BEAM_WIDTH_MIN = "1.500000"
SCANLINE_BRIGHT_MAX = "0.650000"
SCANLINE_BRIGHT_MIN = "0.350000"
SCANLINE_CUTOFF = "400.000000"
SCANLINE_STRENGTH = "0.000000"
shader0 = "W:\Emulators\RetroArch\shaders\shaders_glsl\reshade\shaders\LUT\LUT.glsl"
shader1 = "W:\Emulators\RetroArch\shaders\shaders_glsl\crt\shaders\tvout-tweaks.glsl"
shader2 = "W:\Emulators\RetroArch\shaders\shaders_glsl\misc\image-adjustment.glsl"
shader3 = "W:\Emulators\RetroArch\shaders\shaders_glsl\misc\interlacing.glsl"
shader4 = "W:\Emulators\RetroArch\shaders\shaders_glsl\crt\shaders\crt-easymode.glsl"
shaders = "5"
SHARPNESS_H = "0.500000"
SHARPNESS_V = "1.000000"
srgb_framebuffer0 = "false"
srgb_framebuffer1 = "false"
srgb_framebuffer2 = "false"
srgb_framebuffer3 = "false"
srgb_framebuffer4 = "false"
textures = "SamplerLUT"
top_field_first = "0.000000"
TVOUT_COMPOSITE_CONNECTION = "1.000000"
TVOUT_RESOLUTION = "1024.000000"
TVOUT_RESOLUTION_I = "72.000000"
TVOUT_RESOLUTION_Q = "48.000000"
TVOUT_RESOLUTION_Y = "160.000000"
TVOUT_TV_COLOR_LEVELS = "1.000000"
wrap_mode0 = "clamp_to_border"
wrap_mode1 = "clamp_to_border"
wrap_mode2 = "clamp_to_border"
wrap_mode3 = "clamp_to_border"
wrap_mode4 = "clamp_to_border"
3 - Component
alias0 = ""
alias1 = ""
alias2 = ""
alias3 = ""
alias4 = ""
BRIGHT_BOOST = "1.000000"
DILATION = "0.000000"
enable_480i = "1.000000"
float_framebuffer0 = "false"
float_framebuffer1 = "false"
float_framebuffer2 = "false"
float_framebuffer3 = "false"
float_framebuffer4 = "false"
GAMMA_INPUT = "2.000000"
GAMMA_OUTPUT = "2.400000"
ia_B = "1.000000"
ia_black_level = "0.000000"
ia_BOTMASK = "0.000000"
ia_bright_boost = "0.000000"
ia_contrast = "1.000000"
ia_FLIP_HORZ = "0.000000"
ia_FLIP_VERT = "0.000000"
ia_G = "1.000000"
ia_GRAIN_STR = "0.000000"
ia_LMASK = "0.000000"
ia_luminance = "1.000000"
ia_monitor_gamma = "2.400000"
ia_overscan_percent_x = "0.000000"
ia_overscan_percent_y = "0.000000"
ia_R = "1.000000"
ia_RMASK = "0.000000"
ia_saturation = "1.000000"
ia_SHARPEN = "0.000000"
ia_target_gamma = "2.000000"
ia_TOPMASK = "0.000000"
ia_XPOS = "0.000000"
ia_YPOS = "0.000000"
ia_ZOOM = "1.000000"
LUT_Size = "32.000000"
MASK_DOT_HEIGHT = "1.000000"
MASK_DOT_WIDTH = "2.000000"
MASK_SIZE = "1.000000"
MASK_STAGGER = "3.000000"
MASK_STRENGTH = "1.000000"
mipmap_input0 = "false"
mipmap_input1 = "false"
mipmap_input2 = "false"
mipmap_input3 = "false"
mipmap_input4 = "false"
parameters = "LUT_Size;TVOUT_RESOLUTION;TVOUT_COMPOSITE_CONNECTION;TVOUT_TV_COLOR_LEVELS;TVOUT_RESOLUTION_Y;TVOUT_RESOLUTION_I;TVOUT_RESOLUTION_Q;ia_target_gamma;ia_monitor_gamma;ia_overscan_percent_x;ia_overscan_percent_y;ia_saturation;ia_contrast;ia_luminance;ia_black_level;ia_bright_boost;ia_R;ia_G;ia_B;ia_ZOOM;ia_XPOS;ia_YPOS;ia_TOPMASK;ia_BOTMASK;ia_LMASK;ia_RMASK;ia_GRAIN_STR;ia_SHARPEN;ia_FLIP_HORZ;ia_FLIP_VERT;percent;enable_480i;top_field_first;SHARPNESS_H;SHARPNESS_V;MASK_STRENGTH;MASK_DOT_WIDTH;MASK_DOT_HEIGHT;MASK_STAGGER;MASK_SIZE;SCANLINE_STRENGTH;SCANLINE_BEAM_WIDTH_MIN;SCANLINE_BEAM_WIDTH_MAX;SCANLINE_BRIGHT_MIN;SCANLINE_BRIGHT_MAX;SCANLINE_CUTOFF;GAMMA_INPUT;GAMMA_OUTPUT;BRIGHT_BOOST;DILATION"
percent = "0.000000"
SamplerLUT = "W:\Emulators\RetroArch\shaders\shaders_glsl\reshade\shaders\LUT\Custom.png"
SamplerLUT_linear = "true"
SamplerLUT_mipmap = "false"
SamplerLUT_wrap_mode = "clamp_to_border"
SCANLINE_BEAM_WIDTH_MAX = "1.500000"
SCANLINE_BEAM_WIDTH_MIN = "1.500000"
SCANLINE_BRIGHT_MAX = "0.650000"
SCANLINE_BRIGHT_MIN = "0.350000"
SCANLINE_CUTOFF = "400.000000"
SCANLINE_STRENGTH = "0.000000"
shader0 = "W:\Emulators\RetroArch\shaders\shaders_glsl\reshade\shaders\LUT\LUT.glsl"
shader1 = "W:\Emulators\RetroArch\shaders\shaders_glsl\crt\shaders\tvout-tweaks.glsl"
shader2 = "W:\Emulators\RetroArch\shaders\shaders_glsl\misc\image-adjustment.glsl"
shader3 = "W:\Emulators\RetroArch\shaders\shaders_glsl\misc\interlacing.glsl"
shader4 = "W:\Emulators\RetroArch\shaders\shaders_glsl\crt\shaders\crt-easymode.glsl"
shaders = "5"
SHARPNESS_H = "0.500000"
SHARPNESS_V = "1.000000"
srgb_framebuffer0 = "false"
srgb_framebuffer1 = "false"
srgb_framebuffer2 = "false"
srgb_framebuffer3 = "false"
srgb_framebuffer4 = "false"
textures = "SamplerLUT"
top_field_first = "0.000000"
TVOUT_COMPOSITE_CONNECTION = "1.000000"
TVOUT_RESOLUTION = "1024.000000"
TVOUT_RESOLUTION_I = "256.000000"
TVOUT_RESOLUTION_Q = "256.000000"
TVOUT_RESOLUTION_Y = "160.000000"
TVOUT_TV_COLOR_LEVELS = "1.000000"
wrap_mode0 = "clamp_to_border"
wrap_mode1 = "clamp_to_border"
wrap_mode2 = "clamp_to_border"
wrap_mode3 = "clamp_to_border"
wrap_mode4 = "clamp_to_border"
4 - RGB
alias0 = ""
alias1 = ""
alias2 = ""
alias3 = ""
alias4 = ""
BRIGHT_BOOST = "1.000000"
DILATION = "0.000000"
enable_480i = "1.000000"
float_framebuffer0 = "false"
float_framebuffer1 = "false"
float_framebuffer2 = "false"
float_framebuffer3 = "false"
float_framebuffer4 = "false"
GAMMA_INPUT = "2.000000"
GAMMA_OUTPUT = "2.400000"
ia_B = "1.000000"
ia_black_level = "0.000000"
ia_BOTMASK = "0.000000"
ia_bright_boost = "0.000000"
ia_contrast = "1.000000"
ia_FLIP_HORZ = "0.000000"
ia_FLIP_VERT = "0.000000"
ia_G = "1.000000"
ia_GRAIN_STR = "0.000000"
ia_LMASK = "0.000000"
ia_luminance = "1.000000"
ia_monitor_gamma = "2.400000"
ia_overscan_percent_x = "0.000000"
ia_overscan_percent_y = "0.000000"
ia_R = "1.000000"
ia_RMASK = "0.000000"
ia_saturation = "1.000000"
ia_SHARPEN = "0.000000"
ia_target_gamma = "2.000000"
ia_TOPMASK = "0.000000"
ia_XPOS = "0.000000"
ia_YPOS = "0.000000"
ia_ZOOM = "1.000000"
LUT_Size = "32.000000"
MASK_DOT_HEIGHT = "1.000000"
MASK_DOT_WIDTH = "2.000000"
MASK_SIZE = "1.000000"
MASK_STAGGER = "3.000000"
MASK_STRENGTH = "1.000000"
mipmap_input0 = "false"
mipmap_input1 = "false"
mipmap_input2 = "false"
mipmap_input3 = "false"
mipmap_input4 = "false"
parameters = "LUT_Size;TVOUT_RESOLUTION;TVOUT_COMPOSITE_CONNECTION;TVOUT_TV_COLOR_LEVELS;TVOUT_RESOLUTION_Y;TVOUT_RESOLUTION_I;TVOUT_RESOLUTION_Q;ia_target_gamma;ia_monitor_gamma;ia_overscan_percent_x;ia_overscan_percent_y;ia_saturation;ia_contrast;ia_luminance;ia_black_level;ia_bright_boost;ia_R;ia_G;ia_B;ia_ZOOM;ia_XPOS;ia_YPOS;ia_TOPMASK;ia_BOTMASK;ia_LMASK;ia_RMASK;ia_GRAIN_STR;ia_SHARPEN;ia_FLIP_HORZ;ia_FLIP_VERT;percent;enable_480i;top_field_first;SHARPNESS_H;SHARPNESS_V;MASK_STRENGTH;MASK_DOT_WIDTH;MASK_DOT_HEIGHT;MASK_STAGGER;MASK_SIZE;SCANLINE_STRENGTH;SCANLINE_BEAM_WIDTH_MIN;SCANLINE_BEAM_WIDTH_MAX;SCANLINE_BRIGHT_MIN;SCANLINE_BRIGHT_MAX;SCANLINE_CUTOFF;GAMMA_INPUT;GAMMA_OUTPUT;BRIGHT_BOOST;DILATION"
percent = "0.000000"
SamplerLUT = "W:\Emulators\RetroArch\shaders\shaders_glsl\reshade\shaders\LUT\Custom.png"
SamplerLUT_linear = "true"
SamplerLUT_mipmap = "false"
SamplerLUT_wrap_mode = "clamp_to_border"
SCANLINE_BEAM_WIDTH_MAX = "1.500000"
SCANLINE_BEAM_WIDTH_MIN = "1.500000"
SCANLINE_BRIGHT_MAX = "0.650000"
SCANLINE_BRIGHT_MIN = "0.350000"
SCANLINE_CUTOFF = "400.000000"
SCANLINE_STRENGTH = "0.000000"
shader0 = "W:\Emulators\RetroArch\shaders\shaders_glsl\reshade\shaders\LUT\LUT.glsl"
shader1 = "W:\Emulators\RetroArch\shaders\shaders_glsl\crt\shaders\tvout-tweaks.glsl"
shader2 = "W:\Emulators\RetroArch\shaders\shaders_glsl\misc\image-adjustment.glsl"
shader3 = "W:\Emulators\RetroArch\shaders\shaders_glsl\misc\interlacing.glsl"
shader4 = "W:\Emulators\RetroArch\shaders\shaders_glsl\crt\shaders\crt-easymode.glsl"
shaders = "5"
SHARPNESS_H = "0.500000"
SHARPNESS_V = "1.000000"
srgb_framebuffer0 = "false"
srgb_framebuffer1 = "false"
srgb_framebuffer2 = "false"
srgb_framebuffer3 = "false"
srgb_framebuffer4 = "false"
textures = "SamplerLUT"
top_field_first = "0.000000"
TVOUT_COMPOSITE_CONNECTION = "0.000000"
TVOUT_RESOLUTION = "1024.000000"
TVOUT_RESOLUTION_I = "256.000000"
TVOUT_RESOLUTION_Q = "256.000000"
TVOUT_RESOLUTION_Y = "160.000000"
TVOUT_TV_COLOR_LEVELS = "1.000000"
wrap_mode0 = "clamp_to_border"
wrap_mode1 = "clamp_to_border"
wrap_mode2 = "clamp_to_border"
wrap_mode3 = "clamp_to_border"
wrap_mode4 = "clamp_to_border"
I’ve not shared presets before, so I’m sure I’ve ****ed up something here hahaha. Happy for any input on how I can clean this up, or etc.