A new little shader i did (glsl)

ntsc-mini has a “custom” mode that you can change whatever you want as long as you can provide the proper phases. Default MD mode is exactly where it should be though. As for the ntsc shader we are about it’s still in progress, problem is that if i add comb etc with number of passes it potentially does (like e.g. Q resolution 20 will do like 32 passes alone, add another 16 passes for I and a bunch of passes for Y, consider that it will do a ton of calculations on each pass-as this is true composite mod/de-mod) will crawl even on very powerful PCs.

2 Likes

where can i get this ntsc-mini with your parameters ? I got the one from ntsc main folder

1 Like

It’s there on latest SLANG/GLSL if you update your shaders.

1 Like

oh, there we go. Thank you a lot !

Definetely good job from you. Really amazing.

The only thing is that could not control the amount of Dithering with ntsc mini. Is adviced any other shader in that case to combine with it? Thank you again

This is new for me. I never considered something like this was happening. I’m guessing this has to do specifically with RF demodulation. Otherwise, it could have to do with every input the TV has.

Amplifiers can act like a low pass filter because of their slew rate. The amplifiers feeding the electron guns probably had the strictest slew rate requirements because the voltages were relatively high. Ideally, amplifiers would be chosen so that the slew rate is not a limiting factor.

I don’t know how often this was an issue in CRTs, but I suspect that the main reason manufacturers started adding sharpening circuits is just that people preferred the look. TVs still have sharpening controls today despite being able to display a pixel-perfect digital image.

For some reason, my Panasonic TV from 2000 also applies sharpness on s-video and component signals.

My JVC D-Series also applies sharpening to the component input.

1 Like

Meanwhile i got bored of that single pass shader, gutted some of the previous work, tweaked the ntsc to be more accurate, and injected to this. It’s a real mod / de-mod / s-video as usual and consumes 1.6 watt on my HD630 laptop (zfast-crt is 1.2, gtu-v50 will top ~10 watt). Pretty damn good for what it offers. If any interest i’ll port it to SLANG too.

real composite

svideo

MD mode

NES artifacts test

7 Likes

hi, please Slang version. Thank you for your work!

1 Like

Composite video as seen on a TV is much sharper than that thanks to the TV’s sharpening circuit. I’d say that’s the next step. Keep up the good work!

2 Likes

Ok so i added an adjustable “Sharpness” switch, more or less how a window function would average texture fetches and preserve higher frequencies (sharp edges). That costed 0.2 watt lol, now it’s up to 1.8.

before (you can zero the sharpness and go back to this), it was more like RF sharpness

after (that’s closer to my RPI 2W sharpness on Composite)

First settle GLSL and then i’ll port the final version to SLANG.

a simple way to precalculate 2 texture fetches and a window function, one fetch at 0.5*1.0/TextureSize.x distance and one at 1.5 and get the values. I just used one out of my head and works just fine.

desmos

9 Likes

A good NTSC phase advance per pixel table. I must correct some values on my ntsc shaders heh.

5 Likes
6 Likes

Thanks @DariusG! Looks like I have a new shader stack to build!

1 Like

Do some testing and tell me what you think, that’s a pretty accurate NES/SNES composite there AFAIK.

1 Like

Heym thank you again for your work.

How do i load them ?

Do I have to update shaders?

Do I load each individual shader to test ? or is there some specific preset that load these shaders on that link?

Thank you

Yes maybe tomorrow update slang shaders. Preset is on crt folder and it’s called crt-consumer-1w-ntsc

I think have loaded your content properly.

It looks outstanding and once again, thank you a lot for your work.

Little suggestion:

Is there some way to bring rainbow FIX for BORDERS = FULL ?

Apparently, your rainbow was intended to work WITHOUT borders.

The thing is that on Genesis console, full borders is the original experience. So if its enabled on GPGX or BlastEm (by default) it will not show up properly.

Amazing work. Picture one is NO borders. Second its enabled.

1 Like

Probably would need to change that 170.666 color cycles to how many on full border (probably something like 185.0) but then it will be non-universal and genesis plus gx specific.

1 Like

Full borders should really have been more of an exceptional experience, as those borders would be most often hidden in the overscan area, unless you were a power user that adjusted their TV for that (or for people who used more easily adjusted monitors). You couldn’t even be certain to see the full picture with no borders. I agree of course that NTSC shaders should work if possible for any borders config.

2 Likes

That’s just a matter of driving the “subcarrier phase” with ntsc clock (3.57mhz) / emulated system clock (which is what’s happening in reality) for it to work. Then you should make it a 10 heads Hydra, with clocks for Snes low, high, genesis low/high, ps1 256/320 and on and on.

Now it relies on TextureSize.x which changes if you enable borders and breaks the relationship between ntsc and clock that suggests no borders.

2 Likes

Kinda amazing how much variance exists with border emulation in the first place still today, sizes differ substantially between emulators for the same system or authors don’t bother with implementing them at all. I guess this is the result of different approaches/goals.

1 Like