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

    Development of module-script generator for lr-mess, lr-mame and mame standalone

    Scheduled Pinned Locked Moved Ideas and Development
    developmentlr-messmamelr-mamescripts
    2.2k Posts 35 Posters 6.0m 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.
    • I
      isidoro80 @Folly
      last edited by

      This post is deleted!
      1 Reply Last reply Reply Quote 0
      • I
        isidoro80 @Folly
        last edited by isidoro80

        @folly now all right. The bios wrong. I have two questions. where do i find the mess gui commands? i can't navigate mess gui. apfm1000 only works with lr-mess cmd while with lr-mess basename it doesn't work. When should the different mess start options be used?

        DTEAMD F 2 Replies Last reply Reply Quote 0
        • DTEAMD
          DTEAM @isidoro80
          last edited by DTEAM

          @isidoro80
          Try "select" and "Y" on your game pad (sometime it works for lr-mess).

          F 1 Reply Last reply Reply Quote 0
          • F
            Folly @isidoro80
            last edited by Folly

            @isidoro80 said in Development of module-script generator for lr-mess and mame standalone:

            @folly now all right. The bios wrong. I have two questions. where do i find the mess gui commands? i can't navigate mess gui. apfm1000 only works with lr-mess cmd while with lr-mess basename it doesn't work. When should the different mess start options be used?

            Do you mean that you have apfm1000 running now because earlier you had a wrong bios file ?

            Basically the cmd and basename lines are for running filenames that match the mame_softlists.
            The cmdline can also load a text-file that contains a manual command.

            The other options are for loading the media directly without checking the softlist database, sort of speak.
            With the game specific option you are running media directly and it will store mame/mess configs per game if the mame/mess gui is used.

            To get into the GUI @DTEAM made a suggestion for using the gamepad.
            You can also use TAB from your keyboard.
            If the TAB key doesn't work you have use SCROLL-LOCK to switch game-focus back and forth.

            I 1 Reply Last reply Reply Quote 0
            • I
              isidoro80 @Folly
              last edited by isidoro80

              @folly 552 / 5000
              Risultati della traduzione
              I had two problems. corrupted bios file. furthermore, the apfm1000 bios file must be placed inside the folder where the roms are and not in / home / pi / RetroPie / roms / bios. I don't know why in my case it works like this but I used the same configuration for emerson arcadia and it works. I am able to enter mess gui and with the tab key to move in the different menu frames. I can't find a button to confirm the choices and move between the different items in the boxes.NewMAME.png

              F 1 Reply Last reply Reply Quote 0
              • F
                Folly @isidoro80
                last edited by Folly

                @isidoro80 said in Development of module-script generator for lr-mess and mame standalone:

                @folly 552 / 5000
                Risultati della traduzione
                I had two problems. corrupted bios file. furthermore, the apfm1000 bios file must be placed inside the folder where the roms are and not in / home / pi / RetroPie / roms / bios. I don't know why in my case it works like this but I used the same configuration for emerson arcadia and it works. I am able to enter mess gui and with the tab key to move in the different menu frames. I can't find a button to confirm the choices and move between the different items in the boxes.

                Placing the bios in the rom directory can indeed work.
                We did that also years ago running Philips CDI the first time when the scripts weren't there yet.
                Read the comments in this script, and you learn a lot about the structure on how you are using it now :
                https://github.com/FollyMaddy/retropie-philips-cdi-tools/blob/master/retropie_philips_cdi_setup.sh

                Trouble is though, lr-mess and mame will check the directory structure for system names and will run to the softlist database accordingly.
                If there is just 1 thing that is missing or changed it won't work and it's very hard to get a solution.
                That is why we focus here more on running the media directly VS running them using the softlists.

                I noticed that you have a very old mame running, it's ancient !
                I already run mame 0.233.
                If everything is that old, including retropie, you should make a new image and try everything again.
                Your problems could just depend on the software being just too old.
                Also, you should not get into the screen you posted.
                You should be able to run directly into a system.

                I also suggest you read post 1 of this thread thoroughly.
                This will help you on how everything works.
                If you can, also try to read the script, i have placed many comments in the script. that should make you aware of how everything works.

                Be cheerful, in time you will get it.

                I jamrom2J 2 Replies Last reply Reply Quote 0
                • I
                  isidoro80 @Folly
                  last edited by isidoro80

                  @folly 337 / 5000

                  hello not the picture is taken from the internet. i have the latest version of retropie, retroarch and mess. I can move from the left square to the bottom one (not seen in the image). I don't know how to scroll through the items in the left menu and then confirm to enter the items. example I don't know how to enter the year menu on the left. thank you so much for your help

                  1 Reply Last reply Reply Quote 0
                  • jamrom2J
                    jamrom2 @JimmyFromTheBay
                    last edited by

                    @jimmyfromthebay said in Development of module-script generator for lr-mess and mame standalone:

                    lr-mess-system-dragon32-cass = "/home/pi/RetroPie-Setup/scriptmodules/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/dragon32/retroarch.cfg \dragon32 /home/pi/RetroPie/BIOS/mame -autoframeskip -ui_active -ext ram -cass %ROM%"

                    Thank you for this! Worked great. I was typing in those commands, but because I was booting into DDOS10, they were unrcognized. This line helped solve that. I can now load the games. Maybe that line needs to be added by default as the CASS command rather than what's there. Without you posting that, I would never have figured that out. I think this project is outstanding, however, you definately need a little more knowledge and skill with these more "complicated" PC style emulators.

                    Please keep up the good work!

                    1 Reply Last reply Reply Quote 1
                    • jamrom2J
                      jamrom2 @Folly
                      last edited by

                      @folly Thank you very much. I will do that, and as I stated in the previous post, I think this project is outstanding. It's great to have so many more options to add-in to the list of working systems from a time long gone.

                      I never owned a Dragon32 or Tandy TRS-80 , but I wanted to add them just for the sake of having so many running on my unit like a museum so to speak.

                      Up vote I definitely will!

                      1 Reply Last reply Reply Quote 1
                      • jamrom2J
                        jamrom2 @Folly
                        last edited by jamrom2

                        @folly Hiya again...

                        Major issues now. First let me say what does work, works good.

                        I originally loaded the first "version" of this project almost a year ago whereas I had to source compile the MESS build, then it gave me a list of lr-mess-xxx options to choose from. I picked each, it loaded, I had to dump the BIOS files in the main BIOS folder, then all was good.

                        What I am doing now is moving over to this new build, as it seems better because its supported and using the latest versions of MESS/MAME. BUT>> I'm having issues getting the emulators to run. So here is what I am seeing.

                        I follow the RetroPie Setup menu to configuration/tools and eventually pick the emulator. Let's use Astrocade as the example. It builds the file structure, all is good. I then move my previously installed BIOS files that I know worked in the previous MESS build from \home\pi\Retropie\BIOS to \home\pi\Retropie\mame. Now I lost the Astrocade logo and game list in my ES menu. No matter what I do, nothing displays. Same for Apple IIe, Apple IIgs, and Philips CDi.

                        What I find odd is that this process worked fine with Dragon32 and Super Cassette Vision. They are listed and load/play no problem.

                        Any thoughts where I am going wrong with this. Seemed simple enough but other than those two, I've lost all the other MESS based cores I had loaded.

                        Thanks

                        *** update... I realized this is BIOS issues. I've gotten some to work now. SCV and CDi. So what version of MESS is running? That would give me an idea what to look for.

                        F 1 Reply Last reply Reply Quote 0
                        • F
                          Folly @jamrom2
                          last edited by Folly

                          @jamrom2

                          I read that you have found some solutions that is great.

                          Did you realize ?
                          Backups are important, I have had that lesson too ;-(.
                          Next time you should make a new image before messing with a good working image, don't you agree ;-)

                          Perhaps I don't have to mention but you should use \home\pi\Retropie\BIOS\mame instead of \home\pi\Retropie\mame .
                          You forgot the BIOS part.

                          Now I lost the Astrocade logo and game list in my ES menu.

                          Did you move the games files from \home\pi\Retropie\roms\astrocade to some other directory ?
                          If you did that then they aren't displayed anymore in the ES menu.

                          *** update... I realized this is BIOS issues. I've gotten some to work now. SCV and CDi. So what version of MESS is running? That would give me an idea what to look for.

                          Indeed the new mame and lr-mess will sometimes need newer bios files.
                          I know with Philips CDI you definitely need more roms inside the zip file.
                          Don't worry, we have all been there before ;-)

                          I use mame 0.233 and lr-mess 0.231 (or 0.232)

                          Search the web for mame-0.231-merged

                          jamrom2J 1 Reply Last reply Reply Quote 0
                          • jamrom2J
                            jamrom2 @Folly
                            last edited by

                            @folly said in Development of module-script generator for lr-mess and mame standalone:

                            @jamrom2

                            I read that you have found some solutions that is great.

                            Did you realize ?
                            Backups are important, I have had that lesson too ;-(.
                            Next time you should make a new image before messing with a good working image, don't you agree ;-)

                            Perhaps I don't have to mention but you should use \home\pi\Retropie\BIOS\mame instead of \home\pi\Retropie\mame .
                            You forgot the BIOS part.

                            Now I lost the Astrocade logo and game list in my ES menu.

                            Did you move the games files from \home\pi\Retropie\roms\astrocade to some other directory ?
                            If you did that then they aren't displayed anymore in the ES menu.

                            *** update... I realized this is BIOS issues. I've gotten some to work now. SCV and CDi. So what version of MESS is running? That would give me an idea what to look for.

                            Indeed the new mame and lr-mess will sometimes need newer bios files.
                            I know with Philips CDI you definitely need more roms inside the zip file.
                            Don't worry, we have all been there before ;-)

                            I use mame 0.233 and lr-mess 0.231 (or 0.232)

                            Search the web for mame-0.231-merged

                            OK, I'm back to working condition. I had to fall back to previous emulator settings for a few like Apple II, Astrocade and Apple IIgs. For whatever reason, this build did not like anything I threw at it as far as BIOS files.

                            What was really tough was the Apple series. I could not get the Apple II to use the Apple II emulator. I never listed it in the emulators.cfg using this build. Only the Appple IIgsr1 model was listed. So the games would load, but used the Apple IIgs BIOS. Even more troubling was that I could not get the actual Apple IIgs to show. I had to fall back to my original package and use that. Once I did that for both, I was back to where I was, but now using the latest lr-mess build with new BIOS files.

                            No worries. I'm happy with what I have, just took all day to get it there. And NOW I'll do a backup. LOL. But you're right, I should have done that first before playing around.

                            Best

                            JamR

                            1 Reply Last reply Reply Quote 1
                            • I
                              isidoro80
                              last edited by

                              thanks to your help I can emulate the apfm1000 games. Now I would like to emulate apple2gs but I can't figure out how to properly configure mess. i saw apple2gs hash files and there are 3 software lists: apple2g_flop_orig and apple2gs_flop_misc. For mess are two groups already different games? I had put all the roms in a home / pi / RetroPie / roms / apple2g folder and the configuration files in opt / retropie / configs / apple2gs maybe you need to create folders with the name of the relative hash files like opt / retropie / configs / apple2gs_flop_orig and home / pi / RetroPie / roms / apple2gs_flop_orig

                              F 1 Reply Last reply Reply Quote 0
                              • F
                                Folly @isidoro80
                                last edited by Folly

                                @isidoro80 said in Development of module-script generator for lr-mess and mame standalone:

                                thanks to your help I can emulate the apfm1000 games.

                                Great !

                                Now I would like to emulate apple2gs but I can't figure out how to properly configure mess.
                                i saw apple2gs hash files and there are 3 software lists: apple2g_flop_orig and apple2gs_flop_misc. For mess are two groups already different games? I had put all the roms in a home / pi / RetroPie / roms / apple2g folder and the configuration files in opt / retropie / configs / apple2gs maybe you need to create folders with the name of the relative hash files like opt / retropie / configs / apple2gs_flop_orig and home / pi / RetroPie / roms / apple2gs_flop_orig

                                I have to try apple2gs first to be able to give some good feedback.

                                But basically you make it much too difficult for yourself, because I think :

                                • you should not need to configure
                                • you should not worry about the hash tables
                                  (but you can look into the hash tables to find which games do work, for example)
                                • there should be no need to create config directories or rom directories using the hash tables names

                                If I have some time I will test the apple2gs.

                                jamrom2J 1 Reply Last reply Reply Quote 0
                                • jamrom2J
                                  jamrom2 @Folly
                                  last edited by jamrom2

                                  @folly Let me offer what I experienced, it might help.

                                  Loading the Apple series using the build script from post 1 and the "...install upon descriptrions" list, gave me the option to add the Apple //e (enhanced) and Apple IIgs (ROM1). From the "...install upon system names" list, you are offered "apple2ee" and "apple2gsr1" (obviously these two lists load the same emulators, not sure why you guys did it this way)

                                  So loading the Apple //e installed fine, and gave me a large list of several new options under "Manage Packages --> Manage Exp packages -->" . It lists "apple2ee with several variations. BUT, when I activated them in ES... my Apple II menu shows Apple II games however, uses the Apple IIgsr1 emulator. I looked at the major files that point to the emulator selection, but I never saw where it was making this choice. It should be bringing up the Apple IIee emulator if anything, or more correct would be an Apple II variant.

                                  Now, loading the Apple IIgs was another story. The script knocked out my Apple IIgs listing in my es_systems.cfg file so that I had no listing of Apple IIgs in ES. I corrected it, and then once I refreshed, it was good... however... I could not run any games as there is no listing in the emulators.cfg for Apple IIgs emulators.

                                  So that's where the only issue really is. The MESS/MAME based emulation does work because once I fell back to what I had previously, the new version of MESS/MAME worked fine and each emulator was selectable as I had it before. Of course I just had to update my BIOS files to the new version and put them in the correct location. I suggest looking at how the script is building/editing files and the direction it points ES to pick emulators.

                                  There is a need for several separate versions of Apple if it is possible (not sure if this is the fina goal of the project, but here is the list of Apples in order of production):
                                  Apple I
                                  Apple II
                                  Apple II plus
                                  Apple III
                                  Apple IIe
                                  Apple III plus
                                  Apple IIc
                                  Apple IIgs

                                  I hope that helps a little if not some words to have a coffee while reading. Lol.
                                  Best regards,

                                  JamR

                                  F I 2 Replies Last reply Reply Quote 0
                                  • F
                                    Folly @jamrom2
                                    last edited by Folly

                                    @jamrom2 said in Development of module-script generator for lr-mess and mame standalone:

                                    @folly Let me offer what I experienced, it might help.

                                    Yes, this could help.
                                    I did not pay much attention to the Apple emulation, as there is so much to emulate ;-)
                                    Hope it helps for you too, understanding how it works.

                                    Pffff.. It took me some time to make this reply and drinking some coffee ;-)

                                    Loading the Apple series using the build script from post 1 and the "...install upon descriptrions" list, gave me the option to add the Apple //e (enhanced) and Apple IIgs (ROM1). From the "...install upon system names" list, you are offered "apple2ee" and "apple2gsr1" (obviously these two lists load the same emulators, not sure why you guys did it this way)

                                    We did this because with the system names it's not always obvious, regarding the system-name, what computer you will be installing.
                                    So using the description list it will show the the more obvious description of the computer.
                                    Of-course, selecting a description will look up the system-name and install that system.

                                    I would have liked to combine both system-names and description-names in 1 line but, for most systems, there is no room to display all text in the dialog box.

                                    Hope you understand it better now why we did it this way.

                                    So loading the Apple //e installed fine, and gave me a large list of several new options under "Manage Packages --> Manage Exp packages -->" . It lists "apple2ee with several variations. BUT, when I activated them in ES... my Apple II menu shows Apple II games however, uses the Apple IIgsr1 emulator.

                                    In the generator script part we have build in a retropie-system-name detection system. Part of this system is checking the platforms.cfg against mame-system-descriptions. This is done because mame holds so much computer types that are basically doing the same thing. A good example is MSX.
                                    When you use this command in the terminal you will see how much MSX types mame has :

                                    /opt/retropie/emulators/mame/mame -listdevices |grep Driver|grep MSX
                                    

                                    So when the script finds a mach in the description it won't use the mame-system-name but instead use the retropie-system-name.
                                    So for the Driver apple2gsr1 (Apple IIgs (ROM01)): this means there is a match from within the platforms.cfg and then uses the system-name apple2 for the directory structure.
                                    The advantage of this matching procedure is that different types will use the same directory structure and that they also use the same ES-theme.
                                    Otherwise you would have to make a theme for every individual system type.

                                    With Driver apple2ee (Apple //e (enhanced)): however it doesn't contain IIand therefor will not have a match and so it will use the regular apple2eedirectory structure.

                                    You have to know that the front-end-script will directly install what is selected.
                                    A disadvantage of that is that you don't see the help from the script-module.
                                    But you can see that later when you select the system help in "Manage Packages --> Manage Exp packages -->etc.".
                                    Here you should also see which system-name has been used during generation and where you have to put the games in.

                                    I looked at the major files that point to the emulator selection, but I never saw where it was making this choice. It should be bringing up the Apple IIee emulator if anything, or more correct would be an Apple II variant.

                                    Not exactly sure what you mean here.
                                    But I think you mean that where are the systems installed, right ?
                                    As explained, this depends on which system-name is used when installing the system.

                                    Now, loading the Apple IIgs was another story. The script knocked out my Apple IIgs listing in my es_systems.cfg file so that I had no listing of Apple IIgs in ES. I corrected it, and then once I refreshed, it was good... however... I could not run any games as there is no listing in the emulators.cfg for Apple IIgs emulators.

                                    That is something I did not foresee.
                                    But indeed, when the matching procedure takes place, explained earlier, it will rewrite the es_system.cfg with the new 'Apple IIgs' information.
                                    Because it already contained that information it will overwrite the old with the new information, I think.

                                    So that's where the only issue really is. The MESS/MAME based emulation does work because once I fell back to what I had previously, the new version of MESS/MAME worked fine and each emulator was selectable as I had it before. Of course I just had to update my BIOS files to the new version and put them in the correct location. I suggest looking at how the script is building/editing files and the direction it points ES to pick emulators.

                                    There is a need for several separate versions of Apple if it is possible (not sure if this is the fina goal of the project, but here is the list of Apples in order of production):
                                    Apple I
                                    Apple II
                                    Apple II plus
                                    Apple III
                                    Apple IIe
                                    Apple III plus
                                    Apple IIc
                                    Apple IIgs

                                    A possibility is to try and add matching names that would match Apple II :
                                    Apple ][
                                    Apple //
                                    So we can eventually end up with the systems Apple1, Apple2, Apple3

                                    Perhaps a better idea is to block the matching part for the "Apple II" part so all Apple types will use the mame-system-name as the directory structure.
                                    Would that help ? (then the driver name will be used as the directory scructure)

                                    This is the whole list :

                                    pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -listdevices |grep Driver|grep Apple
                                    Driver apple1 (Apple I):
                                    Driver apple10 (Apple 10 (Ver 1.21)):
                                    Driver apple2 (Apple ][):
                                    Driver apple2c (Apple //c):
                                    Driver apple2c0 (Apple //c (UniDisk 3.5)):
                                    Driver apple2c3 (Apple //c (Original Memory Expansion)):
                                    Driver apple2c4 (Apple //c (rev 4)):
                                    Driver apple2cp (Apple //c Plus):
                                    Driver apple2e (Apple //e):
                                    Driver apple2ee (Apple //e (enhanced)):
                                    Driver apple2eefr (Apple //e (enhanced, France)):
                                    Driver apple2ees (Apple //e (Spain)):
                                    Driver apple2eeuk (Apple //e (enhanced, UK)):
                                    Driver apple2ep (Apple //e (Platinum)):
                                    Driver apple2euk (Apple //e (UK)):
                                    Driver apple2gs (Apple IIgs (ROM03)):
                                    Driver apple2gsr0 (Apple IIgs (ROM00)):
                                    Driver apple2gsr0p (Apple IIgs (ROM00 prototype 6/19/1986)):
                                    Driver apple2gsr0p2 (Apple IIgs (ROM00 prototype 3/10/1986)):
                                    Driver apple2gsr1 (Apple IIgs (ROM01)):
                                    Driver apple2gsr3p (Apple IIgs (ROM03 prototype)):
                                    Driver apple2jp (Apple ][ J-Plus):
                                    Driver apple2p (Apple ][+):
                                    Driver apple3 (Apple ///):
                                    

                                    I hope that helps a little if not some words to have a coffee while reading. Lol.
                                    Best regards,

                                    JamR

                                    Best regards,

                                    Folly

                                    PS.
                                    I looked at the old valerino script for astrocade here :
                                    https://github.com/valerino/RetroPie-Setup/blob/master/scriptmodules/libretrocores/lr-mess-astrocade.sh
                                    He made things manually and therefor he used the system name astrocade.
                                    My generator script uses the mame-system-name from the database and that is: astrocde
                                    See the difference here !
                                    So if you want the see the games list in ES you would have to move your games to the directory astrocde.
                                    Do you get the picture ? ;-)

                                    1 Reply Last reply Reply Quote 0
                                    • F
                                      Folly
                                      last edited by Folly

                                      I added the mattelh to the e scripts in the handeld section.

                                      It's described in this thread :
                                      https://retropie.org.uk/forum/topic/31429/are-mattel-electronics-hand-held-games-supported-yet

                                      Commits :
                                      https://github.com/FollyMaddy/RetroPie-Share/commit/692e2f9bbd9ea60dcde52b427875671732eafd6c
                                      https://github.com/FollyMaddy/RetroPie-Share/commit/b966da2bef9b8f6de883c9c76555bb5dd2ebd315

                                      EDIT: I removed Mattel from the scripts as it will conflict with the Classic Handheld.

                                      1 Reply Last reply Reply Quote 0
                                      • F
                                        Folly @DTEAM
                                        last edited by Folly

                                        @dteam

                                        Are you able to make some themes for apfm1000 and (mattelh) ?

                                        DTEAMD 2 Replies Last reply Reply Quote 0
                                        • DTEAMD
                                          DTEAM @Folly
                                          last edited by

                                          @folly

                                          Sure, I’ll do It monday.

                                          F 1 Reply Last reply Reply Quote 0
                                          • F
                                            Folly @DTEAM
                                            last edited by Folly

                                            @dteam @jamrom2

                                            It seems I added Mattel too early.
                                            I discovered, while also being busy with Coleco and Entax handheld, that all these handheld systems are already under the "Classic Handheld Systems".

                                            Some Mattel games and perhaps more are missing from the classich array I think.
                                            What shall we do, revert the script back and add the missing games to classich ?

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