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 259.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.
    • GreenHawk84G
      GreenHawk84 @dankcushions
      last edited by GreenHawk84

      @dankcushions thats okay, I at least got "per game core" to save as "off" however "save on exit" will not hold if I try to set it off.

      Back to your instructions on vertical shader; I went in with WinSCP and to the folders you suggested. However, I did not see a Mame2003 folder as said at the end of your folder path: /opt/retropie/configs/mame-libretro/MAME 2003/

      1 Reply Last reply Reply Quote 0
      • P
        Pyjamarama
        last edited by

        How do I install this shader to RetroPie? How do I update the existing crt-pi shader?

        Thank you!

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

          @Pyjamarama said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

          How do I install this shader to RetroPie? How do I update the existing crt-pi shader?

          Thank you!

          it is already included in the latest retropie image. if you don't have that, you should update retroarch via binary: https://github.com/retropie/retropie-setup/wiki/Updating-RetroPie#updatinginstalling-individual-packages

          1 Reply Last reply Reply Quote 1
          • P
            Pyjamarama
            last edited by

            @dankcushions Can you confirm the paths plz? I have no MAME 2003 folder inside /opt/retropie/configs/mame-libretro/

            I put the configs in /opt/retropie/configs/mame-libretro/ but no change...still user crt-pi

            thank you

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

              @Pyjamarama you create the directory.

              1 Reply Last reply Reply Quote 0
              • P
                Pyjamarama
                last edited by Pyjamarama

                Hmmm...I did but did not make the trick.

                What did it is...I put them in the folder where I have the roms and renamed them from filename.cfg files to filename.zip.cfg (just a batch rename using TotalCommander)

                It worked smooth like Kylie's @@@ :)

                Thank you for your help (and your configs!!)

                1 Reply Last reply Reply Quote 0
                • GreenHawk84G
                  GreenHawk84
                  last edited by

                  I could not get this to work, even by creating the MAME 2003 folder in either configs directory. So I just renamed the files I needed with .zip as Floob suggested and all is well. Hopefully this can be implemented automatically at some point.

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

                    @GreenHawk84 @Pyjamarama
                    in my first post:

                    please check if it works and confirm, as i'm not sure what version the overrides functionality arrived in retroarch. it should be in retropie 4.x but i'm not sure.

                    without knowing what version of retropie you're using i won't know anything about your problem. if it's the latest, i guess it's only in very new retroarch builds. you could update retroarch from source to test that theory.

                    also, please post the full path of an example game and appropriate override config so i can be sure you have it set up right.

                    using zip.cfg files in the rom directory is the retropie way of doing it. my way uses retroarch functionality, which IMO we should move toward. read this for more details: https://retropie.org.uk/forum/topic/4055/idea-use-retroarch-s-built-in-per-rom-config-functionality-rather-than-runcommand-and-appendconfig/5

                    1 Reply Last reply Reply Quote 1
                    • M
                      Mamemeister
                      last edited by Mamemeister

                      Guys, I did this and found it didn't look great so tried to disable it but despite turning off all the shaders options in Retropie options AND deleting the Mame2003 folder with the config files the scan lines are still enabled, any ideas how to turn them off would be wicked thanks.

                      Update / discovered if I went into the individual emulator options ie Arcade and FBA and turned off the video shader that works.

                      1 Reply Last reply Reply Quote 1
                      • RionR
                        Rion
                        last edited by

                        @dankcushions

                        Thank you for all your hard work.

                        I edited the mame2003-crt-pi-vertical-overrides and created one with the names changed to .zip.cfg so these can go right in to the roms folder.

                        Here mame2003-crt-pi-vertical-overrides-cfg (Put in roms\mame-libretro)

                        Here is also one with mame2003-crt-pi-curvature-vertical-overrides

                        And last one mame2003-crt-pi-curvature-vertical-overrides-cfg (Put in roms\mame-libretro)

                        FBNeo rom filtering
                        Mame2003 Arcade Bezels
                        Fba Arcade Bezels
                        Fba NeoGeo Bezels

                        RiverstormR 1 Reply Last reply Reply Quote 2
                        • RiverstormR
                          Riverstorm @Rion
                          last edited by

                          @Rion said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                          @dankcushions

                          Thank you for all your hard work.

                          I edited the mame2003-crt-pi-vertical-overrides and created one with the names changed to .zip.cfg so these can go right in to the roms folder.

                          Here mame2003-crt-pi-vertical-overrides-cfg (Put in roms\mame-libretro)

                          Here is also one with mame2003-crt-pi-curvature-vertical-overrides

                          And last one mame2003-crt-pi-curvature-vertical-overrides-cfg (Put in roms\mame-libretro)

                          These are nice additions to Dank's work, thank you!

                          1 Reply Last reply Reply Quote 1
                          • RionR
                            Rion @dankcushions
                            last edited by

                            @dankcushions said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                            for the curious, i created a little script that went through the lr-mame2003 source-code and pulled out the list of roms that are rotated, and from that it created the relevant .cfg files. we could potentially do the same for other arcade emulators but i'll leave that for someone else.

                            I'm interested in how you did this. I have several plans for creating cfg's for games that are not vertical and add a standard arcade overlay beazel for them.

                            Same for fba neogeo only roms and so on.

                            FBNeo rom filtering
                            Mame2003 Arcade Bezels
                            Fba Arcade Bezels
                            Fba NeoGeo Bezels

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

                              @Rion said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                              @dankcushions said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                              for the curious, i created a little script that went through the lr-mame2003 source-code and pulled out the list of roms that are rotated, and from that it created the relevant .cfg files. we could potentially do the same for other arcade emulators but i'll leave that for someone else.

                              I'm interested in how you did this. I have several plans for creating cfg's for games that are not vertical and add a standard arcade overlay beazel for them.

                              Same for fba neogeo only roms and so on.

                              with mame(2003) it was easy as the source code has easy to find strings for all the vertical games. eg:

                              https://github.com/libretro/mame2003-libretro/blob/7b55725e744ac9702db092f996e2fca2276146b2/src/drivers/pacman.c#L4356

                              GAME( 1981, maketrax, crush,    pacman,   maketrax, maketrax, ROT270, "[Kural] (Williams license)", "Make Trax (set 1)" )
                              GAME( 1981, maketrxb, crush,    pacman,   maketrax, maketrax, ROT270, "[Kural] (Williams license)", "Make Trax (set 2)" )
                              GAME( 1981, korosuke, crush,    pacman,   korosuke, korosuke, ROT90,  "Kural Electric", "Korosuke Roller" )
                              GAME( 1981, mbrush,   crush,    pacman,   mbrush,   0,        ROT90,  "bootleg", "Magic Brush" )
                              GAME( 1981, paintrlr, crush,    pacman,   paintrlr, 0,        ROT90,  "bootleg", "Paint Roller" )
                              GAME( 1982, ponpoko,  0,        pacman,   ponpoko,  ponpoko,  ROT0,   "Sigma Enterprises Inc.", "Ponpoko" )
                              GAME( 1982, ponpokov, ponpoko,  pacman,   ponpoko,  ponpoko,  ROT0,   "Sigma Enterprises Inc. (Venture Line license)", "Ponpoko (Venture Line)" )
                              

                              anything with ROT90 or ROT270, i know is a rotated CRT screen so is a vertical game. you can get the zip name from the same string. i used some REGEX in a little python script to get the info (i think... i can't find it now). i then wrote this python script to go through that list and build the .cfgs:

                              fileName = "rotatedgames.txt"
                              myFile = open(fileName, "r" )
                              print('opened file', fileName)
                              
                              for gamename in myFile:
                              	# strip line breaks
                                  gamename = gamename.rstrip()
                                  print('creating .cfg for', gamename)
                              
                                  # create cfg file
                                  cfgFileName = gamename + '.cfg'
                                  newCfgFile = open(cfgFileName, 'w')
                                  newCfgFile.write("# Auto-generated crt-pi-vertical.glslp .cfg\n")
                                  newCfgFile.write("# Place in /opt/retropie/configs/mame-libretro/MAME 2003/\n")
                                  newCfgFile.write("video_shader_enable = \"true\"\n")
                                  newCfgFile.write("video_shader = \"/opt/retropie/emulators/retroarch/shader/crt-pi-vertical.glslp\"\n")
                              
                              myFile.close()
                              

                              i had a quick look at FBA and the code didn't lend itself to the same approach i think.

                              dankcushionsD 1 Reply Last reply Reply Quote 1
                              • RionR
                                Rion
                                last edited by Rion

                                @dankcushions

                                Thank you for posting you script but for me this is useless because i don't know how to use python.. Yet.

                                But maybe you can help me nonetheless .

                                I have here a complete list of all the neogeo roms present in FBA 0.2.97.39 (New version right around the corner)

                                Can you help me create or guide me to how i can make cfg files with these templates?

                                Content of 2020bb.cfg In /home/pi/RetroPie/roms/mame-libretro/ "for example"

                                video_shader = "/opt/retropie/emulators/retroarch/shader/crt-pi-curvature.glslp"
                                video_shader_enable = "true"
                                
                                input_overlay = /home/pi/RetroPie/roms/mame-libretro/overlays/2020bb.cfg
                                input_overlay_enable = true
                                input_overlay_opacity = 0.800000
                                input_overlay_scale = 1.000000
                                
                                aspect_ratio_index = "0"
                                
                                video_scale_integer = true
                                

                                Content of 2020bb.cfg In /home/pi/RetroPie/roms/mame-libretro/overlays/

                                overlays = 1
                                
                                overlay0_overlay = Final_Arcade_NeoGeo_Horizontal.png
                                
                                overlay0_full_screen = true
                                
                                overlay0_descs = 0
                                

                                I was thinking about using this as an overlay Final_Arcade_NeoGeo_Horizontal

                                FBNeo rom filtering
                                Mame2003 Arcade Bezels
                                Fba Arcade Bezels
                                Fba NeoGeo Bezels

                                FloobF 1 Reply Last reply Reply Quote 0
                                • FloobF
                                  Floob @Rion
                                  last edited by

                                  @Rion I may be mis-understanding, but all you have to do to get the config to work (if you dont want to use the original method posted at the top) is to rename 2020bb.cfg to 2020bb.zip.cfg and put it in the rom directory.
                                  You could batch rename a whole set if you dont want to do it manually.

                                  Please read the Docs before asking a new question.
                                  RetroPie Help Guides: https://goo.gl/3gcNsT

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

                                    @Rion said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                                    @dankcushions

                                    Thank you for posting you script but for me this is useless because i don't know how to use python.. Yet.

                                    But maybe you can help me nonetheless .

                                    I have here a complete list of all the neogeo roms present in FBA 0.2.97.39 (New version right around the corner)

                                    Can you help me create or guide me to how i can make cfg files with these templates?

                                    that's basically what my script above does. do you want me to keep re-writing it in different languages until you find one you like? ;)

                                    RionR T 2 Replies Last reply Reply Quote 0
                                    • RionR
                                      Rion @dankcushions
                                      last edited by

                                      @Floob said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                                      @Rion I may be mis-understanding, but all you have to do to get the config to work (if you dont want to use the original method posted at the top) is to rename 2020bb.cfg to 2020bb.zip.cfg and put it in the rom directory.
                                      You could batch rename a whole set if you dont want to do it manually.

                                      @Floob Yes i know i posted some edited cfg files a few post up for this. I looked at you files on how to do this from you're rp-video-manager.

                                      What i wanted to do was to create cfg files for every NeoGeo games on that list and that is something i don't know how to do using python.

                                      @dankcushions said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                                      @Rion said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                                      @dankcushions

                                      Thank you for posting you script but for me this is useless because i don't know how to use python.. Yet.

                                      But maybe you can help me nonetheless .

                                      I have here a complete list of all the neogeo roms present in FBA 0.2.97.39 (New version right around the corner)

                                      Can you help me create or guide me to how i can make cfg files with these templates?

                                      that's basically what my script above does. do you want me to keep re-writing it in different languages until you find one you like? ;)

                                      Sorry i will try to figure it out on my own..

                                      FBNeo rom filtering
                                      Mame2003 Arcade Bezels
                                      Fba Arcade Bezels
                                      Fba NeoGeo Bezels

                                      1 Reply Last reply Reply Quote 0
                                      • RiverstormR
                                        Riverstorm
                                        last edited by

                                        @Rion You should have all the pieces you need it looks like.

                                        1. Your game list is already done and just needs to be added to a text file.

                                        Create something like rionsgames.txt and paste the list into the file.

                                        2020bb
                                        2020bba
                                        2020bbh
                                        3countba
                                        3countb
                                        ...

                                        1. Dank gave you the Python script with some documentation and informational messages printed to screen while it's running which is really handy. It looks straight forward enough you could modify the lines to match your templates to write both files out at once that you want created for each game.

                                        Any programming experience should apply. In the code example the file rotatedgames.txt is being opened, then the first line (game name) is being read which would be 2020b (as the first entry from your list), it's then stripped of line breaks and used as the config file name of the new template you're creating, the last section is writing the new config information of each line. You can modify or add lines as needed.

                                        If you take a look at the script it's well formatted and broken down into 3 main sections. You just need to change the line fileName = "rionsgames.txt" to your game list file. Your first lines would be something similar to this in the last section of the code taken from your template:
                                        newCfgFile.write("video_shader = \ "/opt/retropie/emulators/retroarch/shader/crt-pi-curvature.glslp\"\n").
                                        The second line:
                                        newCfgFile.write("video_shader_enable = \"true\"\n")

                                        The third line would be a bit more tricky as you have the game name in the line for the overlay.

                                        newCfgFile.write("input_overlay = \"/home/pi/RetroPie/roms/mame-libretro/overlays/$cfgFileName\"\n")

                                        I don't know much about Python but there's several ways to add variables depending on the version. I am not quite sure though. Maybe old fashioned is using $cfgFileName. If you have most of the script I am sure someone would be able to look it over.

                                        RionR 1 Reply Last reply Reply Quote 1
                                        • RionR
                                          Rion @Riverstorm
                                          last edited by

                                          @Riverstorm Thank you!

                                          It's alot more clear to me now. Will report back with the results and hopefully upload the cfgs to dropbox for everyone else to enjoy.

                                          FBNeo rom filtering
                                          Mame2003 Arcade Bezels
                                          Fba Arcade Bezels
                                          Fba NeoGeo Bezels

                                          1 Reply Last reply Reply Quote 0
                                          • RiverstormR
                                            Riverstorm
                                            last edited by Riverstorm

                                            You might need to change the filename variable to cfgFileName = gamename + '.zip.cfg'. Which is adding the .zip to the filename. Then create a new variable like cfgOverlay = gamename + '.cfg' for use in the 3rd line naming the overlay file.

                                            It's a bit confusing but \"true\" translates to "true" the backslash before it is telling to interpret it as literal and not a special meaning to Python. \n is a linefeed (go to the next line). The last double quote is working with the first double quote just enclosing the whole string.

                                            Python line:
                                            newCfgFile.write("video_shader_enable = \"true\"\n")

                                            Output (the string part): video_shader_enable = "true" (with a line feed \n to go the next line).

                                            Python line:
                                            print('opened file', fileName) (or whatever name is held in the variable fileName)
                                            Output:
                                            opened file rionsgames.txt

                                            Python line:
                                            print('creating .cfg for', gamename)
                                            Output:
                                            creating .cfg for 2020bb

                                            You might to define a new variable and add another section at the bottom for the overlay file creation or copy the file and tweak it if you want to use the same variables for creating the overlay file.

                                            cfgOverlay = gamename + '.cfg' (Overlay file name to be created with a .cfg extension basically 2020bb + .cfg = 2020bb.cfg

                                            newOVFile = open(cfgOverlay, 'w') (Open overlay file for writing)
                                            Add overlay file lines here.

                                            Dank did a nice job and did all the ground work but it's so close to what you want I think a few tweaks and it should work nicely.

                                            1 Reply Last reply Reply Quote 1
                                            • 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.