new start with V8 (V7 still there with same link but it will not get updates)

more brighter, more vertical sharp and closer to trinitron
new start with V8 (V7 still there with same link but it will not get updates)

more brighter, more vertical sharp and closer to trinitron
I just did small update and now should be more stable (in interlaced) and with less aliasing (also in interlaced)
Jobima, how do I put your shaders on Duckstation, PCSX2 and Dolphin, again?
you cant, but they work in ares emu since it work with slang same as retroarch
there are a reshade settings in the 2nd post but it’s not perfect, you need to have reshade installed with the game/emu first and then just copy past my settings and files
Edit: you can also try ShaderGlass with window clone mode, and you can use my retroarch presets with ShaderGlass
test using nnedi3-nns16-deinterlacing then append Jobima CRT Preset V8
keep in mind that the real quality not show up because of video compression and there are out of sync problem in obs that make interlaced video worst sometimes
new update 8.02
Mainly update to use last guest.r changes and to fix “Jobima CRT Preset 4x Adaptive”
test using Jobima CRT Preset 4x Adaptive V8.slangp
Looks promising (mix the best of emus upscale and CRT TV) but there are still problems like sprite problems (Dracula face will not appear in the correct horizontal dimensions) and Rendering problems (like this)
update 8.04
mainly to fix update 8.03 problems
new update 8.05
it should be more balanced and also has some fixes for “update 8.03” problems
I did a preset based on crt-guest-advanced-fastest
Jobima CRT Preset VFast.slangp
shaders = "10"
feedback_pass = "0"
shader0 = "shaders_slang/stock.slang"
alias0 = ""
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
shader1 = "shaders_slang/crt/shaders/crt-resswitch-glitch-koko.slang"
alias1 = "PrePass0"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass1.slang"
alias2 = "NPass1"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
filter_linear2 = "false"
float_framebuffer2 = "true"
srgb_framebuffer2 = "false"
scale_type_x2 = "source"
scale_x2 = "4.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"
shader3 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass2.slang"
alias3 = ""
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
filter_linear3 = "true"
float_framebuffer3 = "true"
srgb_framebuffer3 = "false"
scale_type_x3 = "source"
scale_x3 = "0.500000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass3.slang"
alias4 = ""
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
filter_linear4 = "true"
float_framebuffer4 = "false"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "1.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/crt/shaders/guest/fast/perf-pass.slang"
alias5 = "PerfPass"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
filter_linear5 = "true"
float_framebuffer5 = "false"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/fast/pre-shadersf.slang"
alias6 = "PrePassDontChange"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
filter_linear6 = "true"
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "source"
scale_x6 = "1.000000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/guest/fast/linearizef.slang"
alias7 = "LinearizePass"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
filter_linear7 = "true"
float_framebuffer7 = "true"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/crt/shaders/guest/fast/crt-guest-advanced-pass1f.slang"
alias8 = ""
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
filter_linear8 = "true"
float_framebuffer8 = "true"
srgb_framebuffer8 = "false"
scale_type_x8 = "viewport"
scale_x8 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/guest/fast/crt-guest-advanced-pass2f.slang"
alias9 = "Pass2"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
filter_linear9 = "true"
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "viewport"
scale_x9 = "1.000000"
scale_type_y9 = "viewport"
scale_y9 = "1.000000"
cust_artifacting = "0.200000"
cust_fringing = "0.100000"
ntsc_scale = "1.050000"
ntsc_sat = "1.100000"
ntsc_gamma = "0.750000"
ntsc_rainbow1 = "2.000000"
ntsc_taps = "16.000000"
ntsc_charp = "5.000000"
ntsc_charp3 = "3.000000"
ntsc_cscale = "1.500000"
ntsc_ring = "0.900000"
ntsc_sharp = "-7.000000"
ntsc_shape = "0.500000"
wp_saturation = "0.950000"
contr = "0.500000"
GAMMA_INPUT = "2.200000"
interm = "4.000000"
inters = "0.050000"
h_sharp = "3.000002"
s_sharp = "0.000000"
ring = "0.050000"
spike = "0.900000"
bloom = "0.150000"
mask_bloom = "-0.500000"
bloom_dist = "0.050000"
halation = "0.100000"
hmask1 = "-0.750000"
gamma_c = "1.250000"
clips = "0.200000"
gsl = "2.000000"
scanline2 = "6.000000"
beam_min = "1.899999"
beam_size = "0.800000"
scans = "2.300000"
scan_falloff = "0.250000"
shadowMask = "6.000000"
maskstr = "0.400000"
mcut = "1.050000"
maskboost = "1.999999"
mshift = "0.500000"
slotmask = "0.050000"
slotmask1 = "0.100000"
smask_mit = "0.500000"
vertmask = "-0.500000"
DER = "-0.300000"
DEB = "0.200000"
DES = "0.750000"
post_br = "1.030000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_mipmap = "false"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_mipmap = "false"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_mipmap = "false"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_mipmap = "false"
SamplerLUT4_wrap_mode = "clamp_to_border"
it seems work nicer than other fast shaders preset I made, but it’s a bit slower than them
The spikes are sharp but not blocky looking. Zoomed in I see the edges of the scanlines around the white number text what setting adjusts that?
another “TV 480i” test with the last update (only in All-in-1 Jobima Presets for now), using last guest updates and phosphor-persistence
Jobima CRT Preset TV 480i V8.06
keep in mind that the real quality not show up because of video compression and there are out of sync problem in obs that make interlaced video worst sometimes
–======–
The OP didnt updated yet since there will be another update to add PAL preset
PAL preset test
I spent all my time with PAL on this game, and this kinda similar to how I remember it (thanks to guest.r for adding PAL)
anyway, here the PAL preset for now
shaders = "20"
feedback_pass = "0"
shader0 = "shaders_slang/crt/shaders/crt-resswitch-glitch-koko.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/crt/shaders/guest/hd/stock.slang"
alias1 = ""
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
filter_linear1 = "false"
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/crt/shaders/guest/hd/stock.slang"
alias2 = "StockPass"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
filter_linear2 = "false"
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"
shader3 = "shaders_slang/crt/shaders/guest/hd/afterglow0.slang"
alias3 = "AfterglowPass"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
filter_linear3 = "false"
float_framebuffer3 = "false"
srgb_framebuffer3 = "false"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "shaders_slang/crt/shaders/guest/hd/pre-shaders-afterglow.slang"
alias4 = "PrePass"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "true"
filter_linear4 = "false"
float_framebuffer4 = "false"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "1.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/crt/shaders/guest/advanced/pal/pal-pass1.slang"
alias5 = "PalPass1"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
filter_linear5 = "false"
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/advanced/pal/pal-pass2.slang"
alias6 = "PalPass2"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
filter_linear6 = "false"
float_framebuffer6 = "true"
srgb_framebuffer6 = "false"
scale_type_x6 = "source"
scale_x6 = "4.000000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/guest/advanced/pal/pal-pass3.slang"
alias7 = "PalPass3"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
filter_linear7 = "true"
float_framebuffer7 = "true"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "0.500000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/crt/shaders/guest/advanced/custom-fast-sharpen-pal.slang"
alias8 = ""
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
filter_linear8 = "true"
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
scale_type_x8 = "source"
scale_x8 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/guest/hd/linearize-hd.slang"
alias9 = "LinearizePass"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
filter_linear9 = "true"
float_framebuffer9 = "true"
srgb_framebuffer9 = "false"
scale_type_x9 = "source"
scale_x9 = "1.000000"
scale_type_y9 = "source"
scale_y9 = "1.000000"
shader10 = "shaders_slang/crt/shaders/guest/hd/crt-guest-advanced-hd-pass1.slang"
alias10 = "Pass1"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
filter_linear10 = "true"
float_framebuffer10 = "true"
srgb_framebuffer10 = "false"
scale_type_x10 = "viewport"
scale_x10 = "1.000000"
scale_type_y10 = "source"
scale_y10 = "1.000000"
shader11 = "shaders_slang/crt/shaders/guest/hd/gaussian_horizontal.slang"
alias11 = ""
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
filter_linear11 = "true"
float_framebuffer11 = "true"
srgb_framebuffer11 = "false"
scale_type_x11 = "absolute"
scale_x11 = "800"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/guest/hd/gaussian_vertical.slang"
alias12 = "GlowPass"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
filter_linear12 = "true"
float_framebuffer12 = "true"
srgb_framebuffer12 = "false"
scale_type_x12 = "absolute"
scale_x12 = "800"
scale_type_y12 = "absolute"
scale_y12 = "600"
shader13 = "shaders_slang/crt/shaders/guest/hd/bloom_horizontal.slang"
alias13 = ""
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
filter_linear13 = "true"
float_framebuffer13 = "true"
srgb_framebuffer13 = "false"
scale_type_x13 = "absolute"
scale_x13 = "800"
scale_type_y13 = "source"
scale_y13 = "1.000000"
shader14 = "shaders_slang/crt/shaders/guest/hd/bloom_vertical.slang"
alias14 = "BloomPass"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
filter_linear14 = "true"
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "source"
scale_x14 = "1.000000"
scale_type_y14 = "absolute"
scale_y14 = "600"
shader15 = "shaders_slang/crt/shaders/guest/hd/crt-guest-advanced-hd-pass2.slang"
alias15 = ""
wrap_mode15 = "clamp_to_border"
mipmap_input15 = "false"
filter_linear15 = "true"
float_framebuffer15 = "true"
srgb_framebuffer15 = "false"
scale_type_x15 = "viewport"
scale_x15 = "1.000000"
scale_type_y15 = "viewport"
scale_y15 = "1.000000"
shader16 = "shaders_slang/crt/shaders/guest/hd/deconvergence-hd.slang"
alias16 = ""
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
filter_linear16 = "true"
float_framebuffer16 = "false"
srgb_framebuffer16 = "false"
scale_type_x16 = "viewport"
scale_x16 = "1.000000"
scale_type_y16 = "viewport"
scale_y16 = "1.000000"
shader17 = "shaders_slang/crt/shaders/phosphor-persistence/phosphor-apply.slang"
alias17 = "internal1"
wrap_mode17 = "clamp_to_border"
mipmap_input17 = "false"
filter_linear17 = "false"
float_framebuffer17 = "false"
srgb_framebuffer17 = "false"
scale_type_x17 = "source"
scale_x17 = "1.000000"
scale_type_y17 = "source"
scale_y17 = "1.000000"
shader18 = "shaders_slang/crt/shaders/phosphor-persistence/phosphor-update.slang"
alias18 = "phosphor"
wrap_mode18 = "clamp_to_border"
mipmap_input18 = "false"
filter_linear18 = "false"
float_framebuffer18 = "false"
srgb_framebuffer18 = "false"
scale_type_x18 = "source"
scale_x18 = "1.000000"
scale_type_y18 = "source"
scale_y18 = "1.000000"
shader19 = "shaders_slang/crt/shaders/phosphor-persistence/passthrough.slang"
alias19 = "internal2"
wrap_mode19 = "clamp_to_border"
mipmap_input19 = "false"
filter_linear19 = "false"
float_framebuffer19 = "false"
srgb_framebuffer19 = "false"
scale_type_x19 = "source"
scale_x19 = "1.000000"
scale_type_y19 = "source"
scale_y19 = "1.000000"
AS = "0.000000"
CP = "1.000000"
wp_saturation = "0.950000"
contr = "0.500000"
ARTIFACTING = "0.200000"
FRINGING = "0.100000"
RFNOISE = "0.000001"
RFNOISE1 = "0.000010"
pal_res = "2.000000"
CSHARPEN = "0.500000"
CDETAILS = "0.250000"
NDEBLUR = "1.750000"
DESHARP = "2.000000"
GAMMA_INPUT = "2.200000"
gamma_out = "2.200000"
interm = "5.000000"
S_SHARP = "0.100000"
HSHARP = "0.700000"
MAXS = "0.010000"
HARNG = "0.100000"
m_glow = "2.000000"
m_glow_low = "5.000000"
m_glow_dist = "0.700000"
m_glow_mask = "0.600000"
FINE_GLOW = "5.000000"
FINE_BLOOM = "2.000000"
glow = "0.100000"
bloom = "0.150000"
mask_bloom = "-0.500000"
bloom_dist = "-0.050000"
halation = "0.100000"
bmask1 = "-0.100000"
hmask1 = "-0.750000"
gamma_c2 = "1.250000"
clips = "0.250000"
gsl = "2.000000"
scanline2 = "6.000000"
beam_min = "1.900000"
beam_size = "0.800000"
scans = "1.000000"
scan_falloff = "0.250000"
shadowMask = "6.000000"
maskstr = "0.700000"
mcut = "1.050000"
maskboost = "2.000000"
mshift = "0.500000"
slotmask = "0.100000"
slotmask1 = "0.200000"
smoothmask = "0.250000"
smask_mit = "0.500000"
bmask = "0.001000"
mclip = "0.050000"
pr_scan = "0.125000"
maskmid = "0.250000"
edgemask = "0.500000"
dctypex = "0.150000"
dctypey = "0.150000"
deconrr = "1.000000"
deconrb = "-0.750000"
deconrry = "0.500000"
deconrgy = "-0.250000"
decons = "1.200000"
addnoised = "0.020000"
post_br = "1.030000"
phosphor_power = "2.900000"
phosphor_amplitude = "0.010000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_mipmap = "false"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_mipmap = "false"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_mipmap = "false"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_mipmap = "false"
SamplerLUT4_wrap_mode = "clamp_to_border"
maybe I will update the OP later, since PAL still get updates from guest.r (also “raster bloom” (breathing) still missing so my enthusiasm kinda reduced to do full update)
new update V8.07 in the OP
What’s the difference between this and the AfterGlow parameter which is already included in Crt-guest-advanced?
As far as I know AfterGlow can not be used in the end of preset, also AfterGlow dont fill the interlace gaps but it seems it only fill the edge
more info about AfterGlow and interlace
while phosphor-persistence work whether at the beginning or the end of the preset, also it operates like a real CRT, blindly, and doesn’t skip the gaps between the fields, therefore, its suitable if the goal is to accurately simulate how the interlace system works in CRT televisions
more info about phosphor-persistence and interlace
anyway, I used phosphor-persistence only for “TV 480i” presets, regular presets still use AfterGlow
new update, to use last guest update features
also this update use new crt-black_crush-koko to get better crt-like black levels in bright scenes
EDIT I got it working! Had to restart RA and that fixed it somehow.
Hi.
I’ve been trying to use your shaders but for some reason they fail to load. I place them in the parent directory like instructed. Other presets like sonkun’s work just fine. Did I miss a step?
