Reproduce the noise of switching resolution

This is for PS/SS generation or later consoles or even personal computers.

If your have owned an actual PS and SS console, your will know that PS transitions from the SCEI logo to the PS logo, and when the PS logo disappears, the screen is momentarily disrupted, for example, the PS logo disappears while rocking up and down, or the PS logo disappears and a white wave-like thing flows up and down, and this is a word that can be described as It is difficult to describe in words, but waves run on the CRT…

For SS, the same thing happens around the SEGA logo disappears.

Personal computer is a noise that seems to stretch the image left, right, up and down when starting Windows or switching resolutions within Windows.

Are there shaders that can reproduce this? Or is anyone trying to reproduce this? :thinking:

Since the resolution display on the Mega bezel switches and the display gets smaller or larger depending on the video content, it seems theoretically possible to detect when the video resolution is switched and reproduce the noise.

What do your think?
Or is the noise at the moment of resolution switching not of interest to anyone? :joy:

4 Likes

Maybe is feasible without too much hassle or gpu resources, it should emulate a temporary loss of sync.

Do you have a video of the effect? I really can’t remember exactly how it looked.

1 Like

It occurs in all consumer CRTs, but some models require staring to see it.

Specifically, the noise looks like this: 0 seconds to the really beginning of the 30 seconds. This one has a white noise at the top just after the PS logo disappears around 25-26 seconds. This is the same timing as when the Megabezel resolution display switches if it is emulated.

When these resolutions switched the noise was lost on the LCD or EL TV… I felt a bit sad.

4 Likes

Yup, the signal timings change with the resolution and analogue circuits take a while to sync to new ones; meanwhile weird effects appear on screen.

On my old tv, the issue was far more prominent tho; so I guess the effect greatly varies from chassis to chassis.

I’ll see what can be done and if it does not impact too much on performance, a bit busy atm btw.

2 Likes

Check this: https://mega.nz/file/kOMAlYDL#WInbgxBHpzJZHh2tDrXTK25z7fxSn-zvuYYntl63j-I

screen shacking and a noise bar.

Video is bad quaity, don’t mind the rolling scanlines over white psx screen, it is a compression artifact.

10 Likes

This is fantastic!!!
It looks exactly like a CRT from back in the day. It is exactly what I was looking for! :star_struck:

Is the noise randomness? It seems to contain several noise patterns. This also looks natural.

Dare I venture to say that I don’t recall the noise running when the screen is static, so is it possible to make it only run when the screen is dark?

And is there any thought of releasing this as a stand-alone shader that can be used with other slang shaders?

ps
I understand that the noise in the middle of the PS logo appearing is a subtle change in resolution at the moment the PS logo fades in if it is not de-interlaced.

I wonder if the actual device should only be used when the resolution changes significantly? 640x480 -> 320x240 etc.

But even in that state, I’d like it a lot. :star_struck:

The running noise is from h264 compression, the shader just shackes the screen and draws a bar at the end of the shake.

As per the shaking taking place when no apparent resolution changed, yes; an effective workaround could be to check for a bigger change.

For the resting issues, it was just a quick try, the bar is not visible in the video, maybe because it lasts just 1/60 sec; i’ll try to make it lasts for twice the time.

Also, the code itself can live standalone in a single pass, so I can release it standalone to be prepended. as the very first pass.

1 Like

You were quick once to catch the meaning of the noise from my CRT’s analog circuit switching.
I am quite grateful for that. :smiling_face_with_three_hearts:

Can’t wait to see it completed. But I am not rushing you. Take your time. :smiley:

2 Likes

I didn’t know I want this until I saw it :smiley:

3 Likes

Very cool stuff @kokoko3k!

2 Likes

Me neither.

“People don’t know what they want until you show it to them.”
-Steve Jobs

Thanks for the idea @Ranmori and for implementing it @kokoko3k.

Is the clicking between the Sony logo and the Playsation logo normal? I can’t see it on the actual hardware. And it seems to me that in the shader the effect happens even after the psx logo appears.

1 Like

It is not perfect.

I guess the glitches on real crts depends on what timing changes, but this is not an info the shader is aware of, so as a workaround, ipll check for larger resolution changes.

1 Like

This also happens when you turn on a DVD or similar device. Someone once explained to me, that these glitches were stronger when switching from a dark screen to a colorful one, because the Flyback needed more electricity and the shock was felt on the screen. I can’t say for sure, but it may give you ideas.

New video here (don’t pay attention to the bad mask, it is a compression artifact from h264)

I made parameters for shake amplitude, bar visibility, and resolution switch treshold.

In the video the threshold has been set to 50px; this avoids the logo to shake, the shake amplitude set to 0.2 (20% of the screen) and the bar visibility to 0.25 (25%).

The white bars themselves has been positioned to the upper and lower offscreen positions, so that they will appear at the borders when the screen itself shakes.

I think this is good, so going to make a standalone shader and pushing to libretro shaders repo in a while.

-Made the PR just now, it should be soon available trough online updater (@hunterk), under slang-shaders/crt/crt-resswitch-glitch-koko.slangp

5 Likes

That’s amazing. Following along the last couple of posts I completely forgot about that little “flicker” thing that would happen on the crt with the resolution switching. This is another step in the right direction for shader emulation.

5 Likes

Wow!
Thanks for responding to my request!

Once again, thank you very much.
This kind of noise is making CRT emulation more advanced.

I can’t stop grinning at the screen with the noise running LOL :grin:

4 Likes

By the way, I have two questions.

One.
Is the threshold parameter correct for vertical resolution? For example, if I set it to 480, is it correct to interpret that anything below 480 will not change?

Second.
To which folder does this white bar refer to the texture? Or is it something built in, like a hard coating?

The threshold works on the difference between the previous vertical res and the current one; I think the default of 50 should be left as is.

The bars are drawn by the shader. No texture involved; are you asking because you don’t like how they look?

1 Like

I just wanted to know the principle of operation. I completely understood.

No.
Just my curiosity had me looking for things in the crt folder. But I couldn’t find it, I was just wondering if it was in a different folder or hard coated.

I will tell you that I am definitely not complaining.
If any misunderstanding was created, I apologize for that.

I really like the shaders, they are very nice.
I just tried to find out more about it because I like it so much. lol :joy:

1 Like

Thinking it again, since one may upscale the core resolution, maybe it would be wiser to use a threshold referred to a % of the input res instead of an absolute value, It would be something like “if the res changes by, say, 20%, do the glitch”.