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

NewHome Forums OSSC, OSSC Pro and DExx-vd isl OSSC – Feature Requests 4:3 -> 8:7 Aspect Ratio correction for SNES

Viewing 15 posts - 1 through 15 (of 15 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
      Anonymous

        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
              Anonymous

                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.

                #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
                  Anonymous

                    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
                        Anonymous

                          “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.

                          #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! 😀

                              #14140
                              FBX
                              Participant

                                Just wanted to set the record straight about aspect correction on the SNES for the OP: The examples you posted are as you know, games where the artists either could not or forgot to account for aspect correction. So those perfect circles were never perfect back when they were displayed on the current technology of the times. This is mostly due to memory constraints. Tiles were square because memory is stored that way (i.e. 8×8, 16×16).

                                However, there are several games where the artists did take into account aspect correction. Take the Magus Tower in Chrono Trigger for example. The intro scene that pans down the top of the tower with the moon in the background very CLEARLY was designed for aspect correction. So if you play this game at 1:1 square pixels, you’re just playing it wrong.

                                Now here comes the important part: People generally get wrong how to aspect correct the SNES. They think you take the 256×224 active area and stretch that to a 4:3 image. That’s not how it works. Instead, a formula is devised based on the pixel clock rate. In the case of the NES, SNES, and Genesis’s 256×224 mode, the formula is 256 * 8/7, which equals about 293×224 for proper aspect correction. When scaling, the most accurate approach is to scale first and then apply the formula. So 2x scale would be (256 * 2) * (8/7) = 585×448 and 3x scale would be (256 * 3) * (8/7) = 878×672 and so on. Of course it’s better to use multiples of 2 when it comes to digital displays, so for 1x scale: 292×224, and 2x scale: 584×448.

                                But yeah, just wanted to set the record straight that while you may prefer the perfect circles in the handful of games that didn’t account for AR, it’s still technically wrong, and is merely a novelty to see square pixels in this regard.

                                #14144
                                Jademalo
                                Participant

                                  I’m well aware of it not being applicable for every game, Heck even in the OP I mentioned that the Triforce at the start of ALttP is corrected while the rest of the game isn’t. I’m also well aware of it being technically wrong, and obviously not what you would see on a CRT back in the day.

                                  My main rationale for requesting this was for the option. Of course having the square pixels isn’t the true output, but for pixel art especially it’s nice to A- be able to capture an extremely crisp hard edged image, and B- set those games that didn’t have the correction in mind to get those perfect circles.

                                  It’s not about being right or wrong, it’s about being able to choose which is preferable for you. I mean you could argue for Yoshi’s island that square pixel correction is actually what they intended since the GBA version preserves circles in the same manner, but that’s besides the point.

                                  Options are good! If it’s something you don’t like then there’s no need to ever use it, and that’s great too.

                                Viewing 15 posts - 1 through 15 (of 15 total)
                                • You must be logged in to reply to this topic.