Possible video option: "maintain integer scale"

PSX emulators are all doing something different and none of them are displaying correctly with the default settings, AFAIK. There needs to be some way for the RA custom aspect ratio to change on the fly to match what is being reported by the emulator, in order to avoid scaling artifacts at all times.

I believe that the way integer scale currently works for all PSX emulators is that it simply takes 320x240 and multiplies it by the user-selected integer scale factor.

What I’m proposing is that it should take the currently detected resolution and multiply that by the user-selected integer scale factor to obtain the custom aspect ratio. The custom AR would be dynamic and would change during gameplay whenever the game’s detected resolution changed.

The same problem is discussed in this post: https://forum.fobby.net/index.php?t=msg&goto=3776&

Using FFVII as a test case:

PCSX ReARMed (integer scale ON, custom AR)- Isn’t properly detecting/switching resolutions on the overworld screen or on menu screens. There is no crop overscan option in the core options to fix this. Turning crop overscan ON or OFF results in scaling artifacts.

Beetle PSX (integer scale ON, custom AR, video options -> crop overscan OFF). Looks correct on menu screens and the overworld, but regular gameplay screens are distorted when crop overscan is turned OFF under core options (quick menu -> options -> crop overscan). It’s the reverse with crop overscan ON

Beetle PSX HW crashes almost immediately on my system so I’m unable to test it.

1 Like

bump; does anyone know if something like this is possible? I can’t be the only one that wants an option like this. For example, FFVII normally uses 320x240 but switches to 320x224 on the overworld screen and 364x240 in menu screens. If the user selects 5x5 integer scale (1600x1200 for PSX) then “maintain integer scale” would cause the emulator to automatically switch to 1600x1120 on the overworld screen and 1820x1200 on menu screens. This would cause the image to be stretched somewhat, but it would avoid scaling artifacts.

what happens currently if you use custom AR and set a specific integer scale factor?

Everything is cool when playing FFVII at 5x5 custom integer scale, until you get to the overworld or menu screens. Then you get artifacts because it’s still being resized to 1600x1200, even though the in-game resolution has changed. What I’d like to happen is for the custom integer resolution to automatically change when the game’s resolution changes, so that it’s always (for example) at 5x5 integer scale (or whatever the user selects). This would completely eliminate scaling artifacts at all times, but the AR would change when the game’s resolution changes. Hope that makes sense :sweat_smile:

PCSX ReARMed gets closer. If you turn off GPU Screenshot Enable, output pictures have the right resolution, but in RetroArch they’re still stretched: pcsxr (RetroArch window on the left and screen captured png on the right)

Curiously, scenes with pre-rendered backgrounds like towns and the Highwind get padded on both RetroArch and screenshots: pcsxr-02 (RetroArch window on the left and screen captured png on the right)

Beetle PSX HW outputs fixed resolution (640x480) (stretched) in all my tests.

Yeah, it would be nice if RA took the currently-reported output resolution and scaled it by the user-selected custom integer scale factor. It would cause some distortion by stretching the image, but this way you could truly eliminate scaling artifacts for games that use multiple resolutions. I don’t know if I’m explaining this well or if such a thing is even possible, though.

I had noticed that this does happen in Genesis Plus GX, for example in Sonic CD the title screen is natively 256x224 and then switches to 320x224 during gameplay. With integer scaling on and pixel aspect ratio (1:1), the aspect ratio changes accordingly.

I believe this would make it something that is core-dependent.

I don’t mind the real resolution being used. I do notice that the resolution is different from PSX vs PSX HW – which is annoying for scanlines.

Ok, after further testing, PSX emulators are all doing something different with crop overscan and none of them are displaying correctly with the default settings, AFAIK.

Using FFVII as a test case:

PCSX ReARMed (integer scale ON, custom AR)- Isn’t properly detecting/switching resolutions on the overworld screen or on menu screens. There is no crop overscan option in the core options to fix this. Turning crop overscan ON or OFF results in scaling artifacts.

Beetle PSX (integer scale ON, custom AR, video options -> crop overscan OFF). Looks correct on menu screens and the overworld, but regular gameplay screens are distorted when crop overscan is turned OFF under core options (quick menu -> options -> crop overscan). It’s the reverse with crop overscan ON

Beetle PSX HW crashes almost immediately on my system so I’m unable to test it.

What I’m proposing is that RA should take the currently detected resolution and multiply that by the user-selected integer scale factor to obtain the custom aspect ratio. The custom AR would be dynamic and would change during gameplay whenever the game’s detected resolution changed. Having an option to enable “dynamic custom AR” would solve the scaling problems with integer scale when using PSX emulators.

The same problem is discussed in this post: https://forum.fobby.net/index.php?t=msg&goto=3776&