Can't get even scaling with PSX

I can’t seem to get even scaling with psx - I have integer scale on, crop overscan off, and my resolution is set to an integer multiple of the native res (1280x960). My monitor is at 1080p.

Is anyone else able to get perfectly scaled pixels with PSX, without any artifacts?

this is using pcsx-rearmed.

Explore Patrick_McCleery

Compare the two Ls in “select a slot”

I didn’t know there was a PCSX core, but I’m having similar issues with the Mednafen PSX core. It seems to report 320x240 as the resolution no matter what the game is actually outputting, so Retroarch can’t scale it correctly.

bump; still experiencing this issue

Are you getting weird scaling all the time? Some of the time? All/some ROMs?

I ask because PSX frequently changes resolutions, particularly in menus and the BIOS animation, so you may be having issues when it’s showing interlaced content.

[QUOTE=hunterk;22763]Are you getting weird scaling all the time? Some of the time? All/some ROMs? I ask because PSX frequently changes resolutions, particularly in menus and the BIOS animation, so you may be having issues when it’s showing interlaced content.[/QUOTE] Yes, this seems to be the problem. Even when PSX games change resolution, it is reported as being “320x240” no matter what. Since the integer scaling in RetroArch is using that value, rather than the resolution the game is actually running in, it doesn’t scale correctly.

[QUOTE=larch1991;22822]Yes, this seems to be the problem. Even when PSX games change resolution, it is reported as being “320x240” no matter what. Since the integer scaling in RetroArch is using that value, rather than the resolution the game is actually running in, it doesn’t scale correctly.[/QUOTE]

hmmm Set geoemtry is rather easy to implement but to do that the core must report the new resolution (from within, not in the libretro part).

Even though it still says it’s 320x240, it’s fitting 480 lines into the same vertical space, so pixels are half-height. However, I don’t think you would actually want it to make the screen larger to match the new resolution. Instead, just use one of the deinterlacing shaders at 1x scale as a first pass before any other shaders. People seem to like bob-and-ghost-deinterlace.cg

Oh it’s not an interlacing issue. My problem is when playing games which are 256x240, they are being scaled as though they were 320x240. So at 2x2 they should be 512x480 but are being scaled to 640x480 so they’re really being scaled 2.5x horizontally.

At least I think that’s the cause of this problem.

Ohhh, gotcha. You still wouldn’t want it to actually shrink down, though, would you?

[QUOTE=hunterk;22839]Ohhh, gotcha. You still wouldn’t want it to actually shrink down, though, would you?[/QUOTE]Well I’m used to adjusting the ratio every time I load a different game, so I’m not really concerned. 1x1 should always result in the native resolution. If I’m at 5x5, then the image is going to change size if the game is rendering 320x240 or 256x240.

There’s no way around it unless you use non-integer scaling and force it to an aspect ratio like 4:3.

I’m getting poor scaling all the time with integer scale on. In the above shot you can see incorrect scaling in the FFVII load screen. In the following shot, the incorrect scaling is very apparent when you look at the background.

Integer scale is on and crop overscan is off, so each pixel should be stretched by the same amount.

It looks like integer scale is just not being applied, or else integer scale is assuming an incorrect resolution as the native resolution.

How is one supposed to make sense of that screenshot?

Integer scaling with PlayStation is not feasible because it uses a multitude of different resolutions that can change at any time. Unless you like your aspect ratio constantly changing, it’s best just to stick with using an interpolation shader such as pixellate or sharp bilinear (or using a CRT in superwide mode) that will display non-integer scale factors without visible uneven pixel sizes. Mednafen always outputs an image that’s 240 pixels vertical in progressive mode and 480 pixels vertical in interlaced mode, so that is at least predictable, therefore you really only need to deal with horizontal scaling being non-integer.

I’m not sure what you’re referring to- if it’s the garbage at the top/bottom, that’s because I’m using 5x scale on the y axis, but that can be ignored because the same results occur with 4x.

Thanks - do you know if pcsx is the same way? That’s what I’ve been using.

I would personally rather have the aspect ratio change rather than have warped pixels, as long as it wasn’t too jarring of a difference, but I don’t know if this is feasible.

Bump. Anyone know what to do, here?

I think I understand now why integer scale is not practical with PSX- because the horizontal resolution could vary by up to 50% in the same game. Is this why it is disabled even when it is set to ON?

I’m trying to find something that will work on the Raspberry Pi 2. Sharp-bilinear effectively hides the scaling artifacts, but causes a dip in performance. Same thing with pixellate. Without shaders, I am getting scaling artifacts even when I choose the 1:1 PAR option. Is there another alternative, or am I just out of luck?

Regardless, it’s pretty cool that PSX even runs on this thing.

I am not sure if this applies, but I had a similar issue with TurboGRAFX 16 mednafen core. I changed a core option for initial scanline from 3 to 10 and this give me perfect integer scaling in that core in regards to even scanlines.