RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come)

    Scheduled Pinned Locked Moved Ideas and Development
    crt-pi shadercrt-picrt-pi-verticalshaderslr-mame2003
    385 Posts 42 Posters 278.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • caver01C
      caver01 @RumblinBuffalo
      last edited by

      @RumblinBuffalo yes, that's something you can do. Just edit the cfg file in the respective emulator config folder and the changes will affect that emulator only.

      My 4-player cocktail style cabinet built as a custom "roadcase"

      1 Reply Last reply Reply Quote 0
      • RumblinBuffaloR
        RumblinBuffalo
        last edited by

        @caver01

        I don't believe this is going to work as I had hoped. Using Sega Genesis as an example, with the integer scaled height being either 1120 or 896, I'm always going to be either slightly taller or slightly shorter than the display. I tried customizing at 1080 height but of course that is not the proper scale, and thus the banding is noticeable (NHL Hockey for example has noticeable banding on the ice as the screen moves up/down).

        Integer scaling looks great, but again I'm limited to the black bars top/bottom. After re-reading and better understanding some of the above, it looks like I may have taken the long way around the block on this.

        caver01C dankcushionsD 2 Replies Last reply Reply Quote 0
        • caver01C
          caver01 @RumblinBuffalo
          last edited by

          @RumblinBuffalo The real benefit was for scaling vertical arcade titles on horizontal displays where you were going to have black borders on the sides anyway. The beauty was you could scale the horizontal dimension of vertical games to an integer magnification to prevent banding artifacts of the shader, then stretch the vertical all the way to the edge of the screen because that dimension carried no banding problems.

          For your situation, you are trying to use the technique on horizontal games, on what is likely a horizontal display. You probably can't stretch all the way to the edges horizontally, as a wide screen will result in too much distortion. It sounds like you already found the optimal viewport anyway.

          My 4-player cocktail style cabinet built as a custom "roadcase"

          1 Reply Last reply Reply Quote 0
          • dankcushionsD
            dankcushions Global Moderator @RumblinBuffalo
            last edited by

            @RumblinBuffalo said in crt-pi shader users - reduce scaling artifacts in lr-mame2003/lr-fbalpha (horizontal AND vertical games):

            @caver01

            I don't believe this is going to work as I had hoped. Using Sega Genesis as an example, with the integer scaled height being either 1120 or 896, I'm always going to be either slightly taller or slightly shorter than the display. I tried customizing at 1080 height but of course that is not the proper scale, and thus the banding is noticeable (NHL Hockey for example has noticeable banding on the ice as the screen moves up/down).

            Integer scaling looks great, but again I'm limited to the black bars top/bottom. After re-reading and better understanding some of the above, it looks like I may have taken the long way around the block on this.

            home consoles often accounted for varying overscan capabilities of consumer TVs. that is, you can use a vertical scale that is BIGGER than your screen, and not worry about the bit of image you've cut off at the top and bottom, because it will not have anything crucial to the gameplay. e.g., the score in sonic and super mario bros isn't right at the top of the screen, because some (perhaps most?) TVs might not show that.

            this is what i do for nes snes and megadrive (along with getting the correct horizontal scale via my algorithm). i'll release my cfgs at some point if anyone cares!

            caver01C 1 Reply Last reply Reply Quote 0
            • RumblinBuffaloR
              RumblinBuffalo
              last edited by

              @caver01 said in crt-pi shader users - reduce scaling artifacts in lr-mame2003/lr-fbalpha (horizontal AND vertical games):

              The real benefit was for scaling vertical arcade titles on horizontal displays where you were going to have black borders on the sides anyway. The beauty was you could scale the horizontal dimension of vertical games to an integer magnification to prevent banding artifacts of the shader, then stretch the vertical all the way to the edge of the screen because that dimension carried no banding problems.

              @caver01 Agreed and thanks. I'm gaining a much better understanding of this now. It works with vertical arcade games because they have plenty of room (on my wide screen) to be scaled to a usable "integer magnification", which eliminates the banding (which is essentially horizontal banding sideways due to the vertical shader). Trying this with a Genesis or NES game doesn't work because the integer scale height (1120) is taller than my 1080 display - hence the cutoff. How (if at all) do you apply shaders for these systems in your roadcase?

              @dankcushions said in crt-pi shader users - reduce scaling artifacts in lr-mame2003/lr-fbalpha (horizontal AND vertical games):

              home consoles often accounted for varying overscan capabilities of consumer TVs. that is, you can use a vertical scale that is BIGGER than your screen, and not worry about the bit of image you've cut off at the top and bottom, because it will not have anything crucial to the gameplay. e.g., the score in sonic and super mario bros isn't right at the top of the screen, because some (perhaps most?) TVs might not show that.

              @dankcushions Thank you - I think that explains it exactly for me. So some games - Sonic and Mario are perfect examples - look fine if I stretch to the 1120 scale because the scores don't cutoff. However, a few games like Streets of Rage or Revenge of Shinobi that put information in a yellow border right at the top of the screen, are partly hidden above the screen (presumably because the developer didn't take the overscan into account?)

              this is what i do for nes snes and megadrive (along with getting the correct horizontal scale via my algorithm). i'll release my cfgs at some point if anyone cares!

              I'd definitely be interested to see your cfgs. So you actually scale your nes/snes/megadrive larger than your screen?

              1 Reply Last reply Reply Quote 0
              • caver01C
                caver01 @dankcushions
                last edited by caver01

                @dankcushions said in crt-pi shader users - reduce scaling artifacts in lr-mame2003/lr-fbalpha (horizontal AND vertical games):

                home consoles often accounted for varying overscan capabilities of consumer TVs. that is, >you can use a vertical scale that is BIGGER than your screen, and not worry about the bit of >image you've cut off at the top and bottom, because it will not have anything crucial to the >gameplay. e.g., the score in sonic and super mario bros isn't right at the top of the screen, >because some (perhaps most?) TVs might not show that.

                this is what i do for nes snes and megadrive (along with getting the correct horizontal scale via my algorithm). i'll release my cfgs at some point if anyone cares!

                Are you saying that you setup a viewport for some of the home consoles that exceeds the vertical dimensions of your display? If so, I am very interested in that, or however you are doing it. I guess I must be just living with some shader issues on the home consoles. I do see some odd stuff that was normally offscreen in the good old days, so I am curious about your setup. Perhaps you could share an example, and I can take it from there. I think we are running different display resolutions anyway, but I'd love an example config for say, Atari 2600 or NES if you are willing.

                My 4-player cocktail style cabinet built as a custom "roadcase"

                1 Reply Last reply Reply Quote 0
                • FurlugeF
                  Furluge @dankcushions
                  last edited by

                  @dankcushions Could I by any chance get a version of the 720p configs that use the curvature versions of the shaders?

                  dankcushionsD 1 Reply Last reply Reply Quote 0
                  • dankcushionsD
                    dankcushions Global Moderator @Furluge
                    last edited by

                    @Furluge there's no need for integer scaling on the curved version i think. it doesn't line up the same way

                    FurlugeF 1 Reply Last reply Reply Quote 0
                    • FurlugeF
                      Furluge @dankcushions
                      last edited by

                      @dankcushions Ok, but it is still useful to have the override for all the vertical games.

                      dankcushionsD 1 Reply Last reply Reply Quote 0
                      • dankcushionsD
                        dankcushions Global Moderator @Furluge
                        last edited by

                        @Furluge said in crt-pi shader users - reduce scaling artifacts in lr-mame2003/lr-fbalpha (horizontal AND vertical games):

                        @dankcushions Ok, but it is still useful to have the override for all the vertical games.

                        very true! i've done this also now - check the top post :) I've also updated the other links to have the 'tolerance' version also. not tested any of this yet but it looks ok.

                        FurlugeF 1 Reply Last reply Reply Quote 1
                        • N
                          Nataq
                          last edited by

                          Hi !

                          I am very interested in this. My Samsung UN28H4000 has a 1366x768 resolution though. Can you share a version of your work for that specific resolution ? Unless you think its too odd ? There is some part of the conversation, specifically about aspect ratio, I dont fully understand. All I am interested in is to get the proper vertical shader for vertical game and not touch my horizontal games since I am happy with the result.

                          Thank you for your help !

                          If it is easy to do, it would be nice to add a few more resolutions to your first post so you get less requests :P

                          dankcushionsD 1 Reply Last reply Reply Quote 0
                          • dankcushionsD
                            dankcushions Global Moderator @Nataq
                            last edited by

                            @Nataq said in crt-pi shader users - reduce scaling artifacts in lr-mame2003/lr-fbalpha (horizontal AND vertical games):

                            Hi !

                            I am very interested in this. My Samsung UN28H4000 has a 1366x768 resolution though. Can you share a version of your work for that specific resolution ? Unless you think its too odd ?

                            Done! see original post :)

                            There is some part of the conversation, specifically about aspect ratio, I dont fully understand. All I am interested in is to get the proper vertical shader for vertical game and not touch my horizontal games since I am happy with the result.

                            the scripts do change horizontal games, but i think you will either not notice or be happy with what it does. if you only want to do vertical games i can generate that for you, but try first :)

                            N 1 Reply Last reply Reply Quote 0
                            • N
                              Nataq @dankcushions
                              last edited by

                              @dankcushions Awesome ! Can't wait to try this out. Thank you :)

                              1 Reply Last reply Reply Quote 0
                              • N
                                Nataq
                                last edited by

                                Ok I extracted the file into /opt/retropie/configs/all/retroarch/config/MAME 2003/ and I can see all the files there although the vertical shader isn't loaded in games.

                                • I still see the horizontal rainbow effect on vertical games
                                • I am using version 4.1 of retropie
                                • My Roms are located directly into retropie\roms\mame-libretro
                                • Even if I add .zip to the cfg file name and drop in roms folder it isn't working
                                • I can see the message saying override cfg file has been loaded when launching games

                                Can some part of my config block the shader change somehow ?

                                dankcushionsD 1 Reply Last reply Reply Quote 0
                                • dankcushionsD
                                  dankcushions Global Moderator @Nataq
                                  last edited by

                                  @Nataq said in crt-pi shader users - reduce scaling artifacts in lr-mame2003/lr-fbalpha (horizontal AND vertical games):

                                  Ok I extracted the file into /opt/retropie/configs/all/retroarch/config/MAME 2003/ and I can see all the files there although the vertical shader isn't loaded in games.

                                  • I still see the horizontal rainbow effect on vertical games
                                  • I am using version 4.1 of retropie
                                  • My Roms are located directly into retropie\roms\mame-libretro
                                  • Even if I add .zip to the cfg file name and drop in roms folder it isn't working
                                  • I can see the message saying override cfg file has been loaded when launching games

                                  Can some part of my config block the shader change somehow ?

                                  it's maybe possible! what i would suggest is updating to the latest retroarch binary, which should be via retropie-setup > manage packages > core > retroarch > update by binary. this should make sure you have the latest shaders in the right place, and the version of retroarch that supports these overrides (which I guess you should already have but still...)

                                  if that doesn't work, can you upload your configs:
                                  /opt/retropie/configs/all/retroarch.cfg
                                  /opt/retropie/configs/mame-libretro/retroarch.cfg

                                  maybe something in there, but i thought that overrides should override all!

                                  N 1 Reply Last reply Reply Quote 0
                                  • N
                                    Nataq @dankcushions
                                    last edited by

                                    @dankcushions Will my config files be overwritten by updating to the latest retroarch binary ? I have put so much work in this hehe. Will make sure to backup first anyway but would like to know.

                                    Will post my main retroarch.cfg and mame-libreto one later tonight as I can't access it right now.

                                    I have seen in another post that those lines are needed for per rom config to work :

                                    core_specific_config=false
                                    auto_overrides_enable=true

                                    Can you confirm ?

                                    Thanks again for your time !

                                    dankcushionsD 1 Reply Last reply Reply Quote 0
                                    • dankcushionsD
                                      dankcushions Global Moderator @Nataq
                                      last edited by

                                      @Nataq said in crt-pi shader users - reduce scaling artifacts in lr-mame2003/lr-fbalpha (horizontal AND vertical games):

                                      @dankcushions Will my config files be overwritten by updating to the latest retroarch binary ? I have put so much work in this hehe. Will make sure to backup first anyway but would like to know.

                                      no :)

                                      Will post my main retroarch.cfg and mame-libreto one later tonight as I can't access it right now.

                                      I have seen in another post that those lines are needed for per rom config to work :

                                      core_specific_config=false
                                      auto_overrides_enable=true

                                      Can you confirm ?

                                      oh, this might be it! yes the second one is required. the first... i don't think so. i wouldn't change it.

                                      N 1 Reply Last reply Reply Quote 1
                                      • FurlugeF
                                        Furluge @dankcushions
                                        last edited by Furluge

                                        @dankcushions Thank you, you're a real lifesaver. It was so strange having all my crt based systems doing curve but arcades.

                                        1 Reply Last reply Reply Quote 1
                                        • N
                                          Nataq @dankcushions
                                          last edited by

                                          @dankcushions

                                          Well, it didnt worked :(

                                          Updated to latest binaries and tried the two strings in retrorach.cfg all and libretro-mame.

                                          Here is my \retropie\configs\all\retroarch.cfg : https://dl.dropboxusercontent.com/u/26446913/all-cfg/retroarch.cfg
                                          And \retropie\configs\mame-libretro\retroarch.cfg : https://dl.dropboxusercontent.com/u/26446913/mame-libretro-cfg/retroarch.cfg

                                          dankcushionsD 1 Reply Last reply Reply Quote 0
                                          • dankcushionsD
                                            dankcushions Global Moderator @Nataq
                                            last edited by

                                            @Nataq i see some problems with your cfgs. you should put
                                            auto_overrides_enable="true"
                                            as the first line in both to be sure.

                                            also what game are you running, from which directory and using which emulator?

                                            N 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.