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

    Little favorite launcher (first attempt!)

    Scheduled Pinned Locked Moved Ideas and Development
    favorite es
    15 Posts 5 Posters 3.6k 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.
    • cyperghostC
      cyperghost
      last edited by cyperghost

      As announced in annother thread I created a small binary that can act as favorite lauchner

      It does nothing more then less as then read out ascii file that was called via command

      Usage:
      Create any file you want (maybe testfile.test)
      First line contains parameters
      Second contains binary or bash

      run
      ./lfl testfile.test

      output is
      first line of testfile
      second line of testfile
      Execution of firstline+secondline

      attention
      It's compiled on a raspberry 1 .... but due compatibilty it can run on the pi 2/3
      __Make lfl executable via __ chmod +x lfl

      don't forget! Unix-systems are case sensitive!

      Download Folder

      How to use
      Create a new folder favoritein your ROMS folder
      Place the lfl-binary in and make it executable with user pi (pi:pi 755)

      Edit es_systems.cfg and ad a new "system"

      <system>  
        <fullname>Favorites</fullname>
          <path>/home/pi/RetroPie/roms/favorites</path>
          <extension>.fav .FAV</extension>
          <command>/home/pi/RetroPie/roms/favorite/lfl %ROM%</command>
          <platform>all</platform>
          <theme>Favorites</theme>
        </system>
      

      Place .favfiles into new created favourites-folder
      First line contains parameters = ROM
      Second contains binary or bash = RUNCOMMAND

      Here is an example for Tetris - Gameboy.fav

      /home/pi/RetroPie/roms/gb/Tetris.gb
      /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ gb 
      

      That's all!
      Consider
      This is my first progam for unix systems.
      unix is sometimes a bit uncommon but usually it works like a charm

      Keep aware on which system you create fav-files... windows uses LF and Back to create new line! So the fav file contains 3 lines instead of two! I can correct this in a later version if the response is fine!

      meleuM 1 Reply Last reply Reply Quote 1
      • meleuM
        meleu @cyperghost
        last edited by

        @cyperghost hey dude, thanks for sharing stuff with us. But I would like to say that I wouldn't execute a binary posted on a forum without seeing the source code before. Specially if the poster says that this is his first program for unix systems.

        I'm not suspicious of you, it's just a matter of good practices to follow. :-)

        • Useful topics
        • joystick-selection tool
        • rpie-art tool
        • achievements I made
        cyperghostC 1 Reply Last reply Reply Quote 0
        • cyperghostC
          cyperghost
          last edited by cyperghost

          Well that's clear but I think nobody wants to compile this one because the compiler isn't common :( I place one zip file with all the stuff inside!
          This binary is just for testing purposes ... I think a automatic write of gamelists is also possible. Unix systems are complex with user permissions. First I used exec to launch but no chance! So I had to use shell.command to give user permission back to system. So the code looks primitive but works.

          1 Reply Last reply Reply Quote 1
          • cyperghostC
            cyperghost @meleu
            last edited by

            @meleu Done ... one zip file with source, binary, example file and readme created :)

            1 Reply Last reply Reply Quote 1
            • TMNTturtlguyT
              TMNTturtlguy
              last edited by

              Ok, so I am a little illiterate when it comes to all these fancy scripts and codes. Don't get me wrong, I am learning and starting to figure out what they are doing, but i need a little explanation on this.

              What does this do that @meleu script does not do? It creates a .fav file in your folder...i get that, but what is the purpose behind it? Just that you only need to enter 2 line for each rom into the file?

              Thank you in advance for explaining!

              meleuM 1 Reply Last reply Reply Quote 0
              • meleuM
                meleu @TMNTturtlguy
                last edited by

                @TMNTturtlguy maybe @cyperghost can explain better, but let's say that this is the embryo of a third method of creating a custom ES system. :-)

                • Useful topics
                • joystick-selection tool
                • rpie-art tool
                • achievements I made
                TMNTturtlguyT cyperghostC 2 Replies Last reply Reply Quote 1
                • TMNTturtlguyT
                  TMNTturtlguy @meleu
                  last edited by

                  @meleu NOOOOOOOOOOOOOOOOO
                  what kind of monster have I created!?!

                  @meleu - your method is cool, i am going to use it on my stand up arcade machine. I am furthering development on my version as I am making a dedicated TMNT bartop and the only system it will run will be TMNT. My method will be usefull as there will be no NES or SNES systems to link from. Just TMNT roms in one folder, the only folder.

                  cyperghostC 1 Reply Last reply Reply Quote 2
                  • cyperghostC
                    cyperghost @TMNTturtlguy
                    last edited by cyperghost

                    @TMNTturtlguy don't worry you are not my father :)
                    @meleu is right, that is just an attempt of how roms can be launched. There is up to now no advantage in this method because you have to manual edit the runcommand + the rom name.

                    But think about the following...
                    You can use this method to automatically scan the es_system.cfg for automatically find the right runcommand (and execute it of course) and you can scan a ROM Database (that might be installed one time) to find the ROM name for a file that is empty and is just names Tetris - GameBoy.fav?
                    We are still in the future!
                    How is this empty file be created? Simple by pressing Y-button. This button sends ROM-name to FAV-creater and the file will be created in fav folder.

                    Not more not less. This is written in BASIC and I was astonished that the compiler worked fine so far. So you can compile windows code to raspberry code 1:1 .... that's the interesting thing on this. Of course I could write the same program in Python or even in C but BASIC is a very good choice in manipulating data strings.

                    Why binaries? Because you are independent (in some kind) of runtimes and compilers. So one file for all without gcc, make, fbc....

                    So @TMNTturtlguy keep up your good graphical work. There are tons of ideas out there. This was just a test to catch up COMMAND$() calls via BASIC

                    1 Reply Last reply Reply Quote 1
                    • chubstaC
                      chubsta
                      last edited by

                      and isn't this a great example of the community where people just work on stuff to help others out...

                      Most people use the 'net' just to search google etc but this sort of thing, is for me anyway, what the 'internet' is all about!

                      Raspberry Pi 400 - overclocked to 2.3GHz
                      Theme - Comic book
                      Emulators: All of them...
                      Roms: Pretty much all of them...
                      Favourite games: Circus Charlie, Gorf, Gauntlet Legends
                      Controllers: Mayflash F101

                      cyperghostC 1 Reply Last reply Reply Quote 3
                      • cyperghostC
                        cyperghost @chubsta
                        last edited by

                        @chubsta That's true! I deeply hope that more people start over to the "RetroJourney". Feel free to program a bit for your skills :)

                        The Raspberry got tons of interperters and some are installed right now.
                        If you want to learn C use Codeblocks, gcc (the compiler) is installed by default.
                        Python is also a very cool language and the libary for GPIO support is also installed by default. Also SQLite backend can be used by ease .

                        I think in the near feature XML files used by RetroPie (Scraper, Gamelists) will be abolished by SQL :)

                        TMNTturtlguyT 1 Reply Last reply Reply Quote 1
                        • TMNTturtlguyT
                          TMNTturtlguy @cyperghost
                          last edited by

                          @cyperghost said in Little favorite launcher (first attempt!):

                          I think in the near feature XML files used by RetroPie (Scraper, Gamelists) will be abolished by SQL :)

                          Please don't kill my .xml files!!!!! How will we build our themes!

                          cyperghostC S 2 Replies Last reply Reply Quote 0
                          • cyperghostC
                            cyperghost @TMNTturtlguy
                            last edited by

                            @TMNTturtlguy I'm not the one who will develop this. But for speed reasons a SQL database is fine ... I think rather of the scraped data then themes.

                            1 Reply Last reply Reply Quote 0
                            • S
                              Syhles @TMNTturtlguy
                              last edited by

                              @TMNTturtlguy
                              If I recall correctly last time SQL was a big discussion it was to replace the xml's for our gamelists and scrapped data, not the xml's for themes.

                              1 Reply Last reply Reply Quote 0
                              • cyperghostC
                                cyperghost @meleu
                                last edited by

                                @meleu There seems direct joystick support as getjoystick function .... Thats interesting :)
                                I think it's possible to create selection menus and to navigate through.

                                1 Reply Last reply Reply Quote 0
                                • cyperghostC
                                  cyperghost
                                  last edited by

                                  Ready to stage 2
                                  https://retropie.org.uk/forum/topic/10971/dev-little-favorite-launcher-second-attempt-ready-for-testers

                                  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.