Menu

4:3 -> 8:7 Aspect Ratio correction for SNES

Home Forums OSSC OSSC – Feature Requests 4:3 -> 8:7 Aspect Ratio correction for SNES

This topic contains 12 replies, has 5 voices, and was last updated by  Jademalo 5 months, 1 week ago.

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #10274

    Jademalo
    Participant

    The SNES has an internal resolution of 256×224, which is an 8:7 ratio for square pixels. When the games are displayed, this is stretched to 4:3, so the pixels aren’t square and have a pixel aspect of 7:6.

    Some games are made with this in mind, and compensate for the stretch – The Triforce at the start of ALttP is a good example, it’s correctly proportioned when stretched to 4:3.
    However, there are plenty of other games that don’t have this correction. Two of the easiest examples are Super Mario World, and Yoshi’s Island.

    Super Mario World
    Yoshi's Island

    As you can see in those images, the developers didn’t accommodate for the stretch from 8:7 to 4:3, and it means that circles and squares are squashed. It also means that the raw output from the OSSC doesn’t have crisp pixels for the SNES. Interestingly, while I cited the Triforce at the start of ALttP as an example of something compensating for 4:3, the game its self is actually stretched like SMW and YI. The item box at the top is the clearest example since it’s a 7:6 box.

    Now I’ll be clear – I’m not saying one is incorrect and the other is correct, I know there are plenty of arguments either way. Having said that, it would be nice to have an option to scale the output from 4:3 to 8:7, so the square pixels of the SNES are preserved. Being able to change this on a game by game basis would be fantastic, since as I mentioned, some games correctly compensate.
    It would also be a useful feature to have for recording. Being able to record square pixels and then scale in post depending on the game would be another useful aspect (lol) of it.

    I can’t imagine this would be to difficult to implement, surely it would be as simple as anamorphic 16:9 in reverse? Simply add an extra option there for 16:9, 4:3, and 8:7.

    This is definitely the one thing that I would use frequently that the OSSC doesn’t seem to be able to support at present, so it would be a really useful addition in my opinion.

    Thanks!

    #10275

    Thomago
    Participant

    The “256×240 optim” linetriple mode is what you are asking for; you just need to squish the 1280×720 output to 4:3.

    #10276

    Jademalo
    Participant

    Oh neat, that’s awesome!
    That definitely looks like it does exactly what I was looking for.

    Is there any reason why this is only valid for Linetriple mode, and not for Linedouble?

    Thanks! 😀

    #10277

    paulb_nl
    Participant

    For the optimized linetriple modes custom horizontal scale has already been added to the wiki Other feature request list.

    However you can already get 1:1 pixel aspect:

    linetriple generic 4:3 with h.samplerate 1110, h.synclen 30, H.active 1000, H.backporch 94.
    linetriple 320×240 optimized mode with h.samplerate 341, h.synclen 15, H.active 320, H.backporch 17.

    For linedouble you can set h.samplerate to 682 and h.active to 512 so you get 512×480. It depends on your display how that will be scaled. For example my monitor scales everything to 16:9.

    #10278

    Jademalo
    Participant

    Fantastic, thanks for the info! I really appreciate it.
    After quickly reading through everything I was under the impression that it wasn’t possible at all.

    Thanks!

    #10279

    Thomago
    Participant

    Let’s see…

    Linetriple mode outputs 1280×720 pixels; “256×240 optim” mode scales/maps the SNES’ 256×224 pixels to 1024×672 (4x256x3x224) of them.
    If you squish these 1024×672 pixels from 16:9 to 4:3, you end up with 768×672 pixels (3x256x3x224), and that’s the 8:7 aspect ratio you asked for.

    This simply comes together neatly; you can’t do something like that with the linedouble mode’s 720×480 pixels.

    • This reply was modified 7 months, 2 weeks ago by  Thomago.
    • This reply was modified 7 months, 2 weeks ago by  Thomago.
    #10282

    Jademalo
    Participant

    That’s surprisingly convenient, lol.

    This simply comes together neatly; you can’t do something like that with the linedouble mode’s 720×480 pixels.

    Would it not be possible for it to output 512×448 inside the 720×480? I’m assuming not, but I don’t know enough about how it achieves everything to understand why. That wouldn’t require rescaling afterwards either.

    #10287

    Thomago
    Participant

    I think it would be possible, but the problem is: 720×480 doesn’t have square pixels, so you will never end up with an 8:7 aspect ratio as long as your display scales that res to either 4:3 or 16:9.

    #10331

    Jademalo
    Participant

    Huh? I’m not really following.
    If I set my monitor to 1:1 or aspect, then it displays 720×480 exactly as is in the right ratio. Why does it need to be rescaled?

    #10369

    BuckoA51
    Keymaster

    I find it hard to believe that developers didn’t know about this, I don’t think Nintendo used special weird monitors when testing SNES games. Trying to correct this just makes it look like an emulator.. but each to their own.

    #10374

    Thomago
    Participant

    “If I set my monitor to 1:1 or aspect, then it displays 720×480 exactly as is in the right ratio.”

    Ah, nice for you, many monitors don’t have this option, not to mention TVs. There it’s either 4:3 or 16:9; neither one of those options would be work out like that.

    (Addendum: Actually, my monitor behaves like that too – there it’s either 16:9 or “Aspect”; 4:3 isn’t possible. That’s why I just ordered a new monitor xD)

    “I find it hard to believe that developers didn’t know about this, I don’t think Nintendo used special weird monitors when testing SNES games.”

    Maybe they knew, but they didn’t care. Like with all the PS1 and PS2 games that look slightly squished cause they behave as if they were displayed on a 640×480 4:3 display.

    • This reply was modified 7 months, 1 week ago by  Thomago.
    • This reply was modified 7 months, 1 week ago by  Thomago.
    #11140

    marqs
    Participant

    This has been now implemented and will be part of next fw release.

    #11200

    Jademalo
    Participant

    Fantastic, that’s great to hear!
    Thanks! 😀

Viewing 13 posts - 1 through 13 (of 13 total)

You must be logged in to reply to this topic.