what core do you use? I use bsnes-jg, and seems other cores will give similar output to your image
I used snes9x when taking all screenshots.
added Jobima CRT Preset TV 480i V8
it should act like real tv with 480i (you should use weave not bob with it, also sometimes TFF (Top-Field-First) and BFF (Bottom-Field-First) orders (at least in PS2 Core) are not aligned with the shader orders! pressing “P” to pause and then another “P” sometimes help in aligned both the core and the shader, maybe we need to make both Core and the Shader work in Fields instead of Frames to fix this problem? and it will save some bandwidth too)
I did try to record it https://odysee.com/@JobimaInOdysee:a/Jobima-CRT-Preset-TV-480i-V8:2 but keep in mind that the real quality not show up because of video compression and there are out of sync problem that make interlaced video worst sometimes
anyway it a nice to have, some games especially in PS1 and PS2 era has temporal dither that exploit Interlaced fields temporal blending in CRT TV (with phosphor persistence), and I think it’s not only the temporal dither but some FMV need to be viewed in Interlaced or there will be aliasing (like the intro of silent hill 3 in ps2)
Jobima, do I need to update the latest Guest CRT Advanced presets.
yes you need to update
new update 7.18
just for more balance since I add Jobima CRT Preset TV 480i V7 and thanks to @guest.r update that fix this
so now you can use Jobima CRT Preset TV 480i V7 in any core as long as there are no scale, but it still not video compression friendly and there are other problems as I said here
update to 7.19, mainly to balance 240p brightness to match the 480
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
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