Mega Bezel Reflection Shader! - Feedback and Updates

Thank you you’re very kind! by now I’m putting and testing the HSM to all my Retroarch ROM collection. The reflection effect gives me back the feeling of playing the original console, It’s very impressive. :star_struck:

By now works as it should with every platform except some strange behaviour with Beetle PSX HW emulator. When the PS logo appears the reflection frame shrinks and it is more noticiable with the “PS advice” that appears after the PS logo. The frame does not return to its position until the game starts. The same goes for kinematics. I don’t know if this is produced by any option that I may have activated. Sorry if this has already been reported. I’ll keep checking the BeetlePSX options to try to fix it! :thinking:

3 Likes

This is probably because you are using integer scale in the shader, and the core changes resolution on those different screens, so you get a different integer scale as it switches between modes.

If you don’t want this I would use non-integer scale option in the shader, and set your non-integer scale to be the size you want, perhaps a size which matches integer scale at the PS resolution mode which is the most important to you.

You can see resolution information, including the resulting integer scale printed on the screen if you turn on the debug parameter which is the very first parameter.

Here’s an example

4 Likes

Thanks for your awesome explanation :heart: Seems like removing and regenerating my BeetlePSX HW config file has reduced the shrink and stretch movement (although it still occurs the frame is not lost behind the bezel). I’ll take a look at the non-integer scale shader option, It is clear that it’s a configuration problem on my side.

2 Likes

Also double check your retroarch video settings to make sure integer scale is off.

1 Like

Rechecked and It’s off… here’a a user who reports the same problem:

So It’s something related to the PSX emulator or console. I’m using EUR games. :thinking:

1 Like

In addition, make sure to turn it off in the shader as well. I think it is on by default. (That’s why it needs to be off in the RA video settings.)

This is a issue that was solved a few months back, so be assured, once you get the settings right, it will go away. :grin:

1 Like

Yeah the Playstation commonly switches these resolutions during startup, title screen and game.

A good example is Strider 2 it has these resolutions

  • 640x480 - Sony Intro Screen
  • 512x480 - Title Screen, Cinematics
  • 320x240 - In Game

To get the screen not to change size when the resolution changes all you should have to do is set retroarch video settings

Video->Settings->Scaling->IntegerScale

to off, and set the scaling mode in the shader

[SCALING] Int Scale Mode - OFF, ShortAxis, BothAxes

to 0

This should be what it is by default… Can you check this parameter and see what is there?

1 Like

I realized this happens on PSX EUR region games. But it also happens with Sharp X68000 and Atari 2600 cores.

In my case, even with this care, there are still glitches, where the background image disappears and comes back immediately.

3 Likes

Ah this is really strange, could you point me to the Atari 2600 core and game where this happens? Is it Stella?

Also if you could point me to a EUR region PSX game which does this that would be great :slight_smile:

3 Likes

Stella core for Atari 2600 games. I just don’t really remember which games the problem occurs. On PSX games, is mednafen_psx core, where did recent tests with Rapid Reload and Castlevania Chronicles. On px68k, I also tested with Castlevania Chronicles.

3 Likes

I’ve checked it and:

Video->Settings->Scaling->IntegerScale OFF (I deactivated it when I installed HSM)

[SCALING] Int Scale Mode - OFF, ShortAxis, BothAxes OFF (as you say is off by default)

I don’t know why BeetlePSX HW is changing the resolution at startup and title screen with these two options disabled. I’ll keep trying!

Thanks again :nerd_face:

1 Like

Ok, thanks for all the details, this helps me figure out the issue. :slightly_smiling_face:

I think the problem is the automatic aspect ratio which is changing as the core resolution changes. To fix this set the [ ASPECT ] Type parameter to explicit, and then it will use the explicit value which is already set at 1.33 by default.

To help me make a more permanent fix for the auto aspect ratio could you turn the debug screen on (1st parameter) and take a snapshot when the screen gets smaller? That will give me the core resolution that I might be able to add to the auto aspect ratio so it guesses correctly in these situations.

2 Likes

Setting the [ ASPECT ] Type to explicit solved the issue! Thank you!

Of course, if you need to do more tests please ask me. These are the best shaders I’ve ever seen! I will be happy to offer whatever help I can.

4 Likes

PERFECT!!!

Thanks, this will help me to see if the auto aspect can be improved :grinning:

6 Likes

Hmm, I tried setting the [ ASPECT ] Type to explicit too, but the screen resizing issue still occurs on my machine.

1 Like

Hi! check if the Video->Settings->Scaling->IntegerScale is OFF and Video->Settings->Scaling-> Aspect Ratio is set to 16:9 (if your screen is 16:9). Check that you don’t have a configuration file overwriting your configuration for that game (https://docs.libretro.com/guides/overrides/)

2 Likes

Thanks for your answer, I found the solution : I had [SCALING] Int Scale Mode set to 1 in the shader preset options, turning it off fixed it !

3 Likes

Since this has come up a few times I’m going to put something into the troubleshooting section of the readme, here’s what I’ve got:

  • If the Screen is changing size unexpectedly
    • If the screen changes size when loading a game or switching between different parts of the game e.g. gameplay vs cinematic, this is because of the interaction between the different resolutions the core is outputting on different screens and the shader’s integer scale or automatic aspect ratio settings.
    • To fix
      • Make sure Integer Scale is OFF in the RetroArch Video Settings
      • If BOTH the HEIGHT and WIDTH of the screen size are changing size
        • Set the Integer scale mode to OFF (0)
      • If ONLY the WIDTH of the screen is changing size (the HEIGHT stays constant)
        • Set the Aspect Ratio Type to Explicit (1) This will use the explicit aspect ratio number instead of guessing
8 Likes

The problem is, you know it @HyperspaceMadness, if I turn off Integer Scaling in the shader parameters with Crt-Royale, I get uneven weird green scanlines, as in this screenshot I just took from FF9 :

I don’t know if you can see them well on a still image, but when the screen is moving upward on downward, it’s REALLY noticeable and ugly… So I’ll stick with Int Scaling ON for the moment. :slight_smile:

1 Like

So how do you get rid of the black bars that show up after a cutscene? They show up on Super Mario World 2 Yoshis Island after the very first custscene on the top and bottom ONLY? You’ve told us how to if BOTH and if ONLY width.

1 Like