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

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

    Ideas and Development
    development lr-mess mame modules script
    18
    1167
    31897
    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.
    • Folly
      Folly @jamrom2 last edited by Folly

      @jamrom2

      Great to hear,

      I was thinking perhaps we can make a basic structure database for creating all the autoboot links.
      Something like using the sha1sum from the game-file and what the load command is.
      If I have some time I will see if I can automate the idea ( I am not promising anything though ;-) ).
      If that's an option we can share the data to automate it.

      For the apple2ee I have added a line for "compact flash harddrive" support for the "TotalReplay" harddrive image.
      You will see it in the next update when I update it.
      TotalReplay will be in the restricted section also.

      From the apple2ee "compact flash" add, I learned that mame can also-listmedia from added slotdevices.
      So that would mean that, to some degree, it would be possible to automate that in the generating script part.
      (which it doesn't do, right now)
      Perhaps something for the future !

      For the joystick part I will have a look.

      Btw.
      What is your experience with the added help-button ?
      Is it an option that would help in the future ?
      (you have to know, not all the lines have help yet, so not all lines will give you something)

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

        @folly I'm not sure about the Help key. I don't know that it will get good use... BUT

        I think we're going to have to write very clear instructions on how this is all done at some point. Once others see there is a real "easy" way to run all this, they're going to want to know how and how to make it work on their own sets as well.

        How about the DOS OS/9 issue?
        When I run let say flight simulator II it needs OS/9.. however the auto command says "DOSN". Needs to say DOS and it will work.

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

          @jamrom2 @DTEAM

          Again, I did a huge update.

          You can read all improvements in the commit-link.

          I have finally got color artifacting working using balldozer.
          We have to use an NTSC tano dragon 64 for that.
          I found the driver name searching for (dragon ntsc) in the source code of mame like this :
          https://github.com/mamedev/mame/search?q=dragon+ntsc
          You will see the tano dragon 64 in dragon.cpp
          For using dragon32 floppy files I had to use a dragon floppy controller (dragon_fdc) as extra slot device.
          So the dragon32 floppies will only work if tanodr64 is installed from the systems with extras or the autoboot lines section otherwise it will boot with a wrong extended dos version.

          I think many issues are resolved now.

          Get the latest module-script here (with added autoboot for samcoupe) :
          https://github.com/FollyMaddy/RetroPie-Share/blob/1429cc002c398df78464f86f76d73ecb3ea02b48/00-workdir-00/add-mamedev-systems-0237.sh

          Here is more about samcoupe in this post :
          https://retropie.org.uk/forum/topic/31702/replacement-emulator-available/4

          Commit information :
          https://github.com/FollyMaddy/RetroPie-Share/commit/e9d5b3dd40c9beb3112785ab0b6d48d4ec004f24
          https://github.com/FollyMaddy/RetroPie-Share/commit/7a1d96fecac92c69b5ee47227afb10c0a1266c0c

          0 FollyMaddy committed to FollyMaddy/RetroPie-Share
          Front-end 0237 improved
          
          - reduce text in systems with extras (with => +) (and => +)
          - add apple2 lines with compact flash harddrive support in systems with extras
          - add coco2/coco3/dragon32/tanodr64 lines with multislot extension so we can have floppy support and extra ram
          - add (Tano) Dragon 64 NTSC lines with dragon_fdc support so we can use dragon32 floppies and also have color artifacting
          - tanodr64 types will be recognised as dragon64 so we can use dragon64 as rom directory
          - fix autoboot lines not pressing enter (/n)(newline)
          - add autoboot lines for coco2/coco3/dragon32/tanodr64 with multislot extension for extra ram
          - add apple2 TotalReplay collection to the restricted part
          - change reading data from the website in restricted part so more "pack-names" can be used as it is now more universal
          - add dragon64 to the add-mamedev platforms for recognition
          - fix small \n mistakes in displaying messages
          0 FollyMaddy committed to FollyMaddy/RetroPie-Share
          Fix media filter : systems that use 'prin1' first 
          
          Fix all scripts that use 'prin\)' as filter and convert it into '\(prin'
          When we have to generate for 'samcoupe', for example, the first media is prin1.
          With using '\(prin' as filter it's now possible to generate for 'samcoupe'.
          All new and old scripts are fixed by this commit.
          1 Reply Last reply Reply Quote 1
          • Folly
            Folly last edited by Folly

            Balldozer on tanodr64 :
            2021-11-25-201912_800x600_scrot.png

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

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

              Do you know if there is anything I need to add to make the Joystick work? So far, no matter what I do in MESS or the LR core, I can't get any directional response.

              I read this from your post again.
              Check with the tab key in input(thismachine) on what keys are associated with the direction.
              I remember I had some trouble too on some systems, I think it was apple2.
              Sometimes the directional keys are associated with numpad keys.
              Hope it helps, otherwise we have to look at it once again.

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

                @folly
                Hi Folly,
                I'm back to help with the project today. I have reinstalled the handheld systems with your new script and it works fine. I am impressed every time I do this. I couldn't find your help menu. Where is it ?

                Another question, which machines are running MSX2.

                For help buttons, what kind of infos you want. Handheld description. How to use "basename lines" with MAME.ini. Systems who needs auto-frameskip, etc.

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

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

                  @folly
                  Hi Folly,
                  I'm back to help with the project today.
                  I have reinstalled the handheld systems with your new script and it works fine. I am impressed every time I do this.

                  Very pleased about that !!!

                  I couldn't find your help menu. Where is it ?

                  There isn't a help menu.
                  But in many lines I added some sort of help.
                  You just have to go to a line and press the help-button beneath.
                  If the help button doesn't work then there is no "help page" yet.

                  Another question, which machines are running MSX2.
                  Sony hbf700p for example.
                  Added it in the systems with extras.

                  For help buttons, what kind of infos you want. Handheld description. How to use "basename lines" with MAME.ini. Systems who needs auto-frameskip, etc.

                  Yes, something like that.
                  I think that would be a good start ;-)

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

                    @folly
                    Quick question, when we use your script for Handheld. Does it generate a rompath like / home / pi / RetroPie / roms / tigerh in mame.ini or do we have to do it manually to be able to use the basename option. This is for the help menu.

                    .. configs/mame/mame.ini

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

                      @dteam

                      Good question, actually I can't remember if the script automatically adds it.

                      I think it was something that still had to be looked after.
                      Because for other systems the basename option isn't perfect for many systems.
                      So I think we still have to do it manually.

                      When I can I will have a look.

                      Edit:
                      I deleted the tiger rompath in my mame.ini.
                      After installing tiger again it's not added.
                      So it still has to be added manually.

                      I think I did some tests to add the rompath into the runcommand line.
                      But I never added these lines because some systems needed an other solution, like the apfm1000.
                      It should be somewhat a universal solution but never had clever idea for that.

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

                        Maybe you should add a line like this in your first post.

                        " EXTRA OPTION: To use basename options for a specific system, you have to add the rompath in .. configs/mame/mame.ini like this:

                        rompath  /home/pi/RetroPie/roms/tigerh; /home/pi/RetroPie/roms/konamih
                        

                        This way, if you have a ROM with the appropriate MAME naming system, you will be able to use hash files with preset from MAMEdev.org and also cheat codes.

                        Basename option doesn't work for some systems like apfm1000

                        IMPORTANT: It is not necessary to use the basename option to play games with MAME or lr-MESS. "

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

                          @dteam

                          Indeed, for now it's a good option to add it in the first post.

                          When I have some time I will try to look for a solution again.

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

                            @dteam

                            I think we overlooked another issue.
                            With the mame basename option for, for example tigerh, it adds the systemname tigerh to the runcommand which doesn't work obviously.
                            It looked like this (not OK) :
                            mame-basename = "/opt/retropie/emulators/mame/mame -v -c tigerh %BASENAME%"

                            I have fixed this now over here. (not on github yet as I have to do more)
                            So systems with media get the system-name before the %BASENAME% and systems that don't have "media" the system name isn't added.

                            Examples for tigerh and apfm1000 as they should be (see the difference) :
                            tigerh:
                            mame-basename = "/opt/retropie/emulators/mame/mame -v -c %BASENAME%"
                            apfm1000:
                            mame-basename = "/opt/retropie/emulators/mame/mame -v -c apfm1000 %BASENAME%"

                            With the last line I tried apfm1000 again, adding the rompath to the mame.ini.
                            Now it works ;-)

                            I asked myself the question why didn't it work with the line described in post 748.
                            Well, I think, when we add a rompath in the runcommand line the rompaths in the mame.ini are overruled so then it uses only the rompath that is added to the runcommand line.
                            Adding more rompaths to a runcommand line isn't possible I think.
                            So for lr-mess getting a solution for the same problem will be more difficult.

                            So now I have to figure out how I can append the rompaths in the mame.ini automatically.

                            To be continued ......

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

                              @folly
                              I agree , on my side, i'm using something like that for Handheld

                              mame-autoframeskip = "/opt/retropie/emulators/mame/mame -autoframeskip %BASENAME%"
                              

                              For "real" system

                              mame-basename = "/opt/retropie/emulators/mame/mame -v -c jaguar %BASENAME%"
                              

                              I didn't mention that before. Good call!!! We already talked about that a long time ago ;-)
                              https://retropie.org.uk/forum/topic/28462/tutorial-handheld-and-plug-play-systems-with-mame/22
                              https://retropie.org.uk/forum/topic/29682/development-of-module-script-generator-for-lr-mess-and-mame-standalone/15?_=1638892175522

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

                                @dteam

                                Indeed we somewhat talked about that, seems we didn't realize back then.

                                Of-course, If I add a line with framekip or autoframeskip, the idea is the same.

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

                                  @dteam

                                  Seems I just found a way to add multiple rompaths to a command, by backslash escaping \;( good to know) .
                                  Works :

                                  /opt/retropie/emulators/mame/mame -v -c  -rompath /home/pi/RetroPie/roms/apfm1000\;/home/pi/RetroPie/BIOS/mame apfm1000 "spacedst"
                                  

                                  Doesn't work :

                                  /opt/retropie/emulators/mame/mame -v -c  -rompath /home/pi/RetroPie/roms/apfm1000;/home/pi/RetroPie/BIOS/mame apfm1000 "spacedst"
                                  

                                  Doesn't work (altough /home/pi/RetroPie/BIOS/mame apfm1000 is in mame.ini) :

                                  /opt/retropie/emulators/mame/mame -v -c  -rompath /home/pi/RetroPie/roms/apfm1000 "spacedst"
                                  
                                  1 Reply Last reply Reply Quote 1
                                  • Folly
                                    Folly @DTEAM last edited by Folly

                                    @dteam

                                    I did some investigation on how the rompaths are added in the module-script for mame.
                                    It's added in a plain way, so I can't use that method, because we have to append.

                                    I think it's simpler to just add both rompaths in the runcommand line.
                                    Benefit will be that the mame.ini doesn't get overflowed with rompaths.
                                    Also, when we de-install a module-script the emulator.cfg will be wiped.
                                    But if we add rompaths to the mame.ini they aren't removed with a de-install.

                                    I have added the rompaths to the runcommand lines.
                                    I have removed the mame-cmd lines as the are no longer needed.
                                    (The name isn't good either because they will not load .cmd files)
                                    Instead I will replace them with equal basename lines.

                                    Edit :
                                    It's working I will put it on github soon !

                                    https://github.com/FollyMaddy/RetroPie-Share/commit/d7fe855ca321a5a007d963a87d213f37cae1d7d6

                                    0 FollyMaddy committed to FollyMaddy/RetroPie-Share
                                    Front-end 0237 improved
                                    
                                    - add fmtmarty to systems with extras
                                    - remove mame-cmd runcommand lines
                                    - replace all mame-cmd lines with equal mame basename lines
                                    - add multiple rompaths solution to the mame-basename lines
                                    - auto detect systems with media or no media for changing the mame-basename lines
                                    
                                    https://retropie.org.uk/forum/topic/29682/development-of-module-script-generator-for-lr-mess-and-mame-standalone/903
                                    DTEAM 1 Reply Last reply Reply Quote 1
                                    • DTEAM
                                      DTEAM @Folly last edited by

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

                                      I have added the rompaths to the runcommand lines.

                                      This is a good idea!

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

                                        @dteam

                                        I think you know how to get rid of the old lines in the emulators.cfg.

                                        Can you test for me if cheats are working with these lines ?
                                        If that works then I think it's a very good improvement.

                                        Then we can probably take it to the next step and make more retropie names adding for example :

                                        • pinball
                                        • shooter
                                        • calculator
                                        • climbing
                                          etc

                                        For that I want to be able to get these matching arrays in the generator-script part from the database .

                                        At the moment I am busy with a script that will automatically build the new data-base from the new files from progettosnaps.net.
                                        Seems I can get all data now from progettosnaps.net also the categories.
                                        So probably no need to use adb.arcadeitalia.net.
                                        Hopefully I can get it to work, that way it will save a lot of time each time a new mame version comes.

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

                                          @folly

                                          These lines work to load a game without Rompath in mame.ini but doesn't work for Cheat codes and I can't explain why.

                                          Basename_link = /opt/retropie/emulators/mame/mame -v -c  -rompath /home/pi/RetroPie/roms/coleco\;/home/pi/RetroPie/BIOS/mame coleco "spacedst"
                                          Basename_link2 = /opt/retropie/emulators/mame/mame -v -c  -rompath /home/pi/RetroPie/roms/coleco\;/home/pi/RetroPie/BIOS/mame coleco %BASENAME%"
                                          

                                          For cheat codes we need for now (for coleco) :
                                          in mame.ini

                                          rompath /home/pi/RetroPie/roms/coleco
                                          

                                          in emulator.cfg

                                          mame-coleco-cheat= "/opt/retropie/emulators/mame/mame -c -autoframeskip coleco %BASENAME%"
                                          
                                          Folly 1 Reply Last reply Reply Quote 1
                                          • Folly
                                            Folly @DTEAM last edited by

                                            @dteam

                                            Seems we don't always are that lucky with this.

                                            Reading your post I presume all systems aren't working with cheats, am I right ?
                                            Or is it only coleco ?

                                            When I can will have second look at this problem

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