A new little shader i did (glsl)

Indeed, Lanczos is a good sharp approximation.

But, for me those dots are a bit assymetric. Vertically they’re symmetric and looks like gaussian. Horizontally they’re assymetric and are more like some Rayleigh distribution or similar.

2 Likes

I believe that’s convergence issue, red has jumped to the right, green up and right, blue to the left. Gaussian is similar too but in small amounts not like in e.g. lottes that’s huge, never seen a TV that looks that blurry, to say the truth maybe in some old computers with junk modulators like Atari ST using RF.

This screenshot is using an RGB cable.

P.S. there is a nice utility in linux called magnus that zooms anywhere on screen

2 Likes

Did some extra work on crt-sines glow, now it works properly as it should. Crt-consumer shares the same code for glow. It uses 5 passes horiz. and 5 passes vertically, totally 10, hacking and using linear to produce an effect that would need 81 passes in a single shader or 18 in 2 split shaders. Not bad :stuck_out_tongue:

3 Likes

Looks great!

For the asymmetry, could that be the beam having a shorter rise and a longer fall?

2 Likes

More work on ntsc-simple glsl, added some different modes for different systems, every one should create its own artifacts (pce, MD, SNES, c64, zx spectrum etc, searched dot clocks, cycles per pixel blah blah, so it should be somewhat accurate) and a small NTSC shader in glsl, tiny_NTSC that does SNES and MD properly, passing nes-snes ntsc tests, rainbows etc. If there is any interest I’ll port them to slang later when I settle with settings.

This runs on a 2013 HTC one, that’s GLES 2.0 only (tiny_ntsc)

3 Likes

@DariusG looking very good. I checked your ntsc-mini yesterday and just say lots of thanks to make it possible!

Is there a reason why you make it for GLSL but not for vulkan? I’d be happy from here if you can do that import to Slang, please!

Also is NTSC mini intended only for Sega Genesis games with the classic Rainbow or can also work as intended for NES games e.g ?

Thanks again.

1 Like

I write it first for GLSL as it runs everywhere (and i have some old phones around that run only GLES) and then if there is demand i port it to slang. Ntsc-mini works as intended for NES/SNES but as i learn and read about ntsc and think various solutions to write it as fast as possible it’s not entirely accurate, i believe ntsc-simple (and tiny_ntsc) is more accurate right now. The problem is there is no any documentation how to write an accurate ntsc shader anywhere so you have to figure it out yourself. Plus one thing: Every system creates it’s own artifacts depending on pixel clock, cycles per pixel, alternating lines, animating artifacts etc!

But even in the current state, it marginally passes the nes/snes ntsc tests.

While ntsc-simple is more accurate, as i have more knowledge now how it is done

and tiny_ntsc

2 Likes

Fixed some things on GLSL ntsc-mini (rainbows and snes dot crawl), check this after PR is accepted

5 Likes

Thank you. What is PR ?

It means Public Request, to add code on Retroarch github code base.

Do you have a source to get your most updated NTSC mini and the other one you mentioned recently ?.. tiny ntsc if remember correctly.

I dont find anymore a way in retroarch to update GLSL shaders as used to do a couple of years ago, but just Slang ones.

Thanks again

The one I’ve been checking thus far says to be updated from Febrary 2024.

I will update slang when settle everything. That’s 3 shaders, ntsc_mini, ntsc_simple and tiny_ntsc.

3 Likes

Asked AI to assist me in writing an NTSC shader, while it gave me some wrong directions and i had to note the errors, in the end it gave me some decent path and the result is not bad, pretty accurate. Of course added my own comb filter etc (it gave me a notch filter for luma, that was entirely removing luma instead of removing chroma). All in all it is certainly capable, it can give you some extra knowledge (e.g. how a SNES creates the signal) you would look around for hours if not days. The artifacts are rolling and not that visible in reality, and comb filter eliminates the chroma bleed entirely if wanted to.

6 Likes

So now we have computers writing programs for computers. What could go wrong?

1 Like

It could probably write an emulator itself 10 years later. It can’t write a program yet, not even a shader properly. Perhaps the next step is it writes an emulator and the emulator has AI and writes it’s own games lol.

Lots of things could go wrong

1 Like

Wow! What a positive take on the possible impending rise of the machines.

We’re not to far from 2029 you know.

1 Like

Probably in 10 years or 20, you’ll say write a Sega Saturn emulator. In 10 minutes it’s ready, then ask it write a Metal Gear Solid port. In 20 minutes you’ll be playing MGS on your new Saturn AI emulator.

It will replace most jobs in the planet easily after they make some robots with advanced AI. Later on it could decide humans deplete the planet resources and have to be restricted lol. This is funny but true all the same

1 Like

It’s definitely a useful tool and there huge’s potential. Still, some of the current unreliability makes me laugh, if not wary.

The other day, I was asking about old PC sound cards, and buried in a mountain of info I was told about a PC re-release of the Last Ninja that featured Gravis Ultrasound. I’m like “Wow, I never heard about that, where did you get that from?”

AI: : Oh, it turns out there is no evidence for it at all. :man_shrugging:

2 Likes

It’s more like YOU teaching it, e.g. it gave me wrong ntsc phase and after i noted it, it came back with a more correct answer. It has half knowledge or some times maybe even drag you in the wrong path. There is also a lot of false information like it will say Crash Team Racing was one of the best Saturn racing games.

1 Like

That’s true, e.g. I was curious what It would say about aspect ratios of old systems, explicitely noting that I’m refering to the active area, so borders are accounted for. Default answers were still something about filling the 4:3 screen, so ratios are 1.33, which is of course nonsense. So then entering more info: PAL or NTSC screen, take dot clock into account, whatever.

2 Likes