• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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 36 Posters 6.1m 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.
  • H
    hhtien1408 @Folly
    last edited by hhtien1408 23 May 2021, 16:46

    @folly I will try your solution for MAME standalone.

    With Super Acan, no need to put bios (no bios) into bios/MAME?
    Where to put ROM? Bios? Hash xmls?
    Does your script setup all?

    I asked more for confirmation:

    1. Should I build MAME from source (Retropie-setup script)? Or your script do this step?
    2. Run your script
    3. Put roms into folder (but which folder)
    4. Do you need to create config mame.ini?
    5. Without libretro, could I use overlays and shaders?
      Or use fallback artwork like I use in mame 0.231?

    About NES Datach info, if I would to play Datach Dragon ball, I will load Datach rom in NES system and use Datach to insert game Dragon Ball
    Command line in MAME to run on my laptop with mame 0.231 seperately

    ./mame64 nes -cart datach -cart2 /Users/H2T/Games/mame/roms/nes_datach/dtc_dbz.zip
    

    Please check link below for Datach
    Datach - Scan bar code for MESS
    Could you generate script for nes-datach? Just a subsystem nes-datach.

    Both supracan and nes_datach run well on official MAME

    Hope to hear from you asap.

    F 1 Reply Last reply 23 May 2021, 17:40 Reply Quote 0
    • F
      Folly @hhtien1408
      last edited by Folly 23 May 2021, 17:40

      @hhtien1408 It's not allowed to share rom links!
      You should remove them, asap !

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

      @folly I will try your solution for MAME standalone.

      With Super Acan, no need to put bios (no bios) into bios/MAME?
      You can check with :

      /opt/retropie/emulators/mame/mame -listroms supracan

      It will output : No ROMs required for driver "supracan".

      Where to put ROM? Bios?

      Game roms for <system> :
      /home/pi/RetroPie/roms/<system> (<system> is here supracan)
      BIOS roms :
      If needed, BIOS files, depending on what has to be used, go to :
      /home/pi/RetroPie/BIOS/mame/<system>.zip

      Hash xmls?:
      Hash tables are in :
      /opt/retropie/emulators/mame/hash/<system>.xml

      Does your script setup all?

      Indeed, the generated module-script does.
      Read the first post of this thread and learn how it's done !

      I asked more for confirmation:

      1. Should I Build MAME from source (Retropie-setup script)? Or your script do this step?

      You have to install from source in the RetroPie-Setup, if you are on an x86/x86-64 computer.
      edit : If you are able to use the binary then I recommend you use that.
      You also need to install lr-mess to be able to install the module-scripts.

      The module-scripts that are generated with my "curl line" does will only do the configurations when installed in the RetroPie-Setup.

      1. Run your script

      Go into the terminal and paste the "curl line" into the command prompt.
      This will generate module-scripts that have to be installed in the RetroPie-Setup.

      • install-supracan-cmd
      • install-supracan-from-mamedev-system-supracan-cart
      1. Put roms into folder (but which folder)

      /home/pi/RetroPie/roms/supracan/<game>.zip

      1. Do you need to create config mame.ini?

      Not needed.

      1. Without libretro, could I use overlays and shaders?

      Not my expertise but, you can use Artwork, no shaders, I think.

      Or use fallback artwork like I use in mame 0.231?

      Could work I think.

      About NES Datach info, if I would to play Datach Dragon ball, I will load Datach rom in NES system and use Datach to insert game Dragon Ball

      Will look at this later

      1 Reply Last reply Reply Quote 0
      • H
        hhtien1408 @Folly
        last edited by hhtien1408 24 May 2021, 02:51

        @folly
        You mean your method for lr-mame or MAME standalone? Or work for both?

        I would like to ask about this (I changed the path for myself to suitable for Retropie on Ubuntu)

        mame-basename = "/opt/retropie/emulators/mame/mame -rompath /home/RetroPie/roms/supracan -v -c supracan %BASENAME%"
        

        It means I will put this line in my /opt/retropie/configs/supracan/emulators.cfg
        exactly as the same code above and make it default emulator? Right?

        Should I need change a little bit in script before executing for my suitable locations (remove "/pi/)? My current default location is "/home/RetroPie" on Ubuntu.

        For normal neogeo roms, Running with lr-mame (mamearcade-libretro.so show the “initializing” and freeze. Wrong bios or romset? Do you face this error yet?

        F 1 Reply Last reply 24 May 2021, 06:59 Reply Quote 0
        • F
          Folly @hhtien1408
          last edited by Folly 24 May 2021, 06:59

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

          @folly
          You mean your method for lr-mame or MAME standalone? Or work for both?

          For MAME standalone.
          In this thread we only use mame standalone and lr-mess.
          lr-mame is not implemented !

          I would like to ask about this (I changed the path for myself to suitable for Retropie on Ubuntu)

          mame-basename = "/opt/retropie/emulators/mame/mame -rompath /home/RetroPie/roms/supracan -v -c supracan %BASENAME%"
          

          Indeed, you should do that because you are an other user !

          It means I will put this line in my /opt/retropie/configs/supracan/emulators.cfg
          exactly as the same code above and make it default emulator? Right?

          Yes, indeed.
          For making it the default you can also press a key when the RetroPie boot-screen comes, press a key, and select your default runcommand line.

          Should I need change a little bit in script before executing for my suitable locations (remove "/pi/)? My current default location is "/home/RetroPie" on Ubuntu.

          No, not needed.
          The module-script will find your user name and use that.
          Check those other lines in emulators.cfg, it should already have user RetroPie not pi.

          For normal neogeo roms, Running with lr-mame (mamearcade-libretro.so show the “initializing” and freeze. Wrong bios or romset? Do you face this error yet?

          You have to press a key when the RetroPie boot-screen comes, then select launch with verbose.
          For the mame standalone and lr-mess lines created by my module-scripts you don't need to do this, our lines have always verbose on.
          Then run your rom.
          After the failed boot, initializing, check your runcommand log in :
          /dev/shm/runcommand.log
          This will tell you where things go wrong, if you understand it.
          With a Bios rom failure you will find something like :
          tried in this and that

          H 1 Reply Last reply 24 May 2021, 07:34 Reply Quote 0
          • H
            hhtien1408 @Folly
            last edited by hhtien1408 24 May 2021, 07:34

            @folly I manage to run neogeo under lr-mame by putting bios in neogeo rom folder also (not in /BIOS/mame.).
            But how to make command line to run supracan run? (enable softlist, boot from CLI, cart, automatic type )
            When I check with lr-mame for supracan, it shows error:

            '/opt/retropie/libretrocores/lr-mame/mamearcade_libretro.so' -listroms supracan
            
            Segmentation fault (core dumped)
            
            

            If I try to run supracan from terminal with command verbose to check error

            /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame/mamearcade_libretro.so --config /opt/retropie/configs/supracan/retroarch.cfg '/home/h2t/Downloads/supracan.zip' --verbose
            
            [INFO] [MIDI]: Initializing ...
            [INFO] [MIDI]: Input disabled.
            [INFO] [MIDI]: Output disabled.
            [INFO] [MIDI]: Initialized "alsa" driver.
            [INFO] Loading history file: [/opt/retropie/configs/supracan/content_history.lpl].
            [INFO] Loading history file: [/opt/retropie/configs/supracan/content_music_history.lpl].
            [INFO] Loading history file: [/opt/retropie/configs/supracan/content_video_history.lpl].
            [INFO] Loading history file: [/opt/retropie/configs/supracan/content_image_history.lpl].
            [INFO] Loading favorites file: [/opt/retropie/configs/supracan/content_favorites.lpl].
            [INFO] [GL]: VSync => on
            [INFO] [GLX]: glXSwapInterval(1)
            [libretro INFO] Starting game from command line:/home/h2t/Downloads/supracan.zip
            [libretro INFO] ARGUV[0]=/home/h2t/Downloads/supracan.zip
            [libretro WARN] Driver supracan not found -1
            [libretro WARN] Game not found: supracan
            [libretro WARN] Driver Downloads not found -1
            [libretro ERROR] Driver not found: Downloads
            [libretro INFO] RES:-2
            

            It seemed lr-mame does not recognize supracan softlist even softlist is enabled. Weird.

            P.S. P.S. Why I sticked with lr-mame because I cannot builr lr-mess and MAME standalone (qt5 error) successfully on my Ubuntu.
            I run lr-mame with software list perfectly on Retrobat on Windows 10, but no luck with Retropie.

            H 1 Reply Last reply 24 May 2021, 10:05 Reply Quote 0
            • H
              hhtien1408 @hhtien1408
              last edited by hhtien1408 24 May 2021, 10:05

              [deleted]

              F 1 Reply Last reply 24 May 2021, 10:48 Reply Quote 0
              • F
                Folly @hhtien1408
                last edited by Folly 24 May 2021, 10:48

                @hhtien1408

                We don't want to mix up many things here.
                This thread is only for discussions about improving our script and about discussing the issues related to that.
                Successfully running supracan with mame standalone or lr-mess is part of this discussion and can be discussed over here.
                You should stick with that first !

                If you want to discuss lr-mame it's better to make your own thread or look for an lr-mame thread and post your problem over there.
                I am happy to help you over there, if I can.
                You should look also at the retropie-docs first.

                H 1 Reply Last reply 24 May 2021, 11:57 Reply Quote 0
                • H
                  hhtien1408 @Folly
                  last edited by hhtien1408 24 May 2021, 11:57

                  [deleted]

                  F 1 Reply Last reply 24 May 2021, 14:53 Reply Quote 0
                  • F
                    Folly @hhtien1408
                    last edited by Folly 24 May 2021, 14:53

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

                    @folly could you give me binary files for lr-mess and MAME standalone ubuntu? I cannot build from source from rpi-script? Thanks again!

                    I can't help you with that because I don't have a computer with ubuntu 21.04 running.
                    If I could, chances are, it won't even work if I shared them.

                    You have to ask for advice somewhere else in the forum.
                    If you have found a solution, you can come back here to discuss supracan.

                    BTW.
                    Depending on your computer, it can take 24 hours to build both packages !

                    H 1 Reply Last reply 24 May 2021, 15:55 Reply Quote 0
                    • H
                      hhtien1408 @Folly
                      last edited by hhtien1408 24 May 2021, 15:55

                      @folly I manually got it working with mame-libretro downloaded from buildbot (nightly lastest). Runcommand in emulator.cfg. Thanks for all your support.
                      My command line in emulators.cfg

                      supracan= "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame/mame_libretro.so --config /opt/retropie/configs/supracan/retroarch.cfg %ROM%"
                      default = "supracan"
                      
                      F 1 Reply Last reply 24 May 2021, 16:15 Reply Quote 0
                      • F
                        Folly @hhtien1408
                        last edited by Folly 24 May 2021, 16:15

                        @hhtien1408

                        Great to hear you have found the solution !
                        I will test your line.
                        (edit : no luck on trying this oob, using mamearcade_libretro.so on pi4)
                        Perhaps something to implement for the future if it can be "cracked".

                        H 2 Replies Last reply 25 May 2021, 00:00 Reply Quote 0
                        • H
                          hhtien1408 @Folly
                          last edited by hhtien1408 25 May 2021, 00:00

                          @folly Nightly buildbot version is here, the complied one works well with neogeo but softlist cannot be used.
                          https://buildbot.libretro.com/nightly/
                          Be careful!
                          I am using Linux Debian, I will download this build:
                          https://buildbot.libretro.com/nightly/linux/x86_64/latest/mame_libretro.so.zip
                          In your case, you should choose the suitable build for arm here
                          https://buildbot.libretro.com/nightly/linux/
                          Noted that mame_libretro.so: arcade + non-arcade (softlist)
                          mamearcade_libretro.so: arcade only)
                          You should down the first one (mame_libretro.so.zip and extract)

                          • Create new system supracan directing to rom path home/Retropie/roms/supracan in es-systems.cfg with .zip and .ZIP extension and copy supracan to this rom path.
                          • Super Acan Funtech
                           <system>
                              <name>supracan</name>
                              <fullname>Super A'can</fullname>
                              <path>/home/h2t/RetroPie/roms/supracan</path>
                              <extension>.zip .ZIP</extension>
                              <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ supracan %ROM%</command>
                              <platform>supracan</platform>
                              <theme>supracan</theme>
                          
                          • NES Datach
                             <system>
                              <name>nes_datach</name>
                              <fullname>Super A'can</fullname>
                              <path>/home/h2t/RetroPie/roms/nes_datach</path>
                              <extension>.zip .ZIP</extension>
                              <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ nes_datach %ROM%</command>
                              <platform>nes_datach</platform>
                              <theme>nes_datach</theme>
                            </system>
                          
                          • Make sure softlist is enabled, automatic type is off, cart is chosen, boot from CLI is enabled in retroarch-core-option.cfg or setup via Retroarch GUI.
                          mame_softlists_enable = "enabled"
                          mame_softlists_auto_media = "disabled"
                          mame_media_type = "cart"
                          
                          • Supracan and NES-Datach system has no bios. Any systems requiring bios, please copy to rompath of that system (not BIOS/mame anymore)
                          • Copy hash folders into BIOS/mame and opt/retropie/libretrocores/lr-mame
                          • Copy runcommand line to emulators.cfg
                          • Supracan
                          supracan = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame/mame_libretro.so --config /opt/retropie/configs/supracan/retroarch.cfg %ROM%"
                          default = "supracan”
                          
                          • NES-Datach
                          nes_datach = "/opt/retropie/libretrocores/mame/mame nes datach -cart2 %ROM%"
                          default = "nes_datach"
                          

                          Noted that for NES Datach does not work with the same method of Supracan, using lr-mame just brings it to the NES system (not the Datach - subsystem of NES), at that point you should choose Datach rom and insert cart 2 (for example: dtc_dbz - Datach Dragon Ball game manually).
                          So I found out another way is using the mame binary with no-nag screen. On the other way, you also can use your MAME stadalone just adjust your file location. The disadvantage is that you cannot utilize Retroarch features but you can set combo keys for reset, load/save state, exit… via MAME tab —> controls easily)
                          Download link:
                          https://drive.google.com/drive/folders/0B_hdh1Ds66TvflV4alVlSzNIbDh3a0R6aFczYlJBc2t2STJ4U0tJS2FOTEZPdTdOWVIwYk0

                          • Download file mame225_x86_64-nonag_crvision.tag.gz from this link above
                          • Extract and rename from mame225_x86_64-nonag_crvision to mame
                          • Copy renamed file to /opt/retropie/libretrocores/mame, copy for Linux 64bit, I have tested carefully)

                          *** Artworks, fallback artworks, shaders and other features of official MAME work perfectly aa they are in official MAME.

                          This method can be applied to any systems (except system which uses many layer including cart1, cart2 like NES Datach).

                          If you update your script, it could be such a great news.

                          Enjoy!

                          F 1 Reply Last reply 25 May 2021, 06:09 Reply Quote 0
                          • F
                            Folly @hhtien1408
                            last edited by Folly 25 May 2021, 06:09

                            @hhtien1408

                            Thanks !
                            Seems you made a good description.

                            If I have some energy left, I will look into it some more.
                            I will add the idea of implementing into post 1.

                            You have to keep in mind that if I could implement it, the config structure has to be somewhat the same as we are using now with using lr-mess and mame.
                            So I have to look at that too then.

                            Right now there are other things that have more priority.
                            So can't really tell when I am going to try this.

                            D H 2 Replies Last reply 25 May 2021, 13:50 Reply Quote 0
                            • D
                              DTEAM @Folly
                              last edited by DTEAM 25 May 2021, 13:50

                              @folly

                              Hi Folly,

                              Thank you for the gamelists. I'm happy to read you have done It fast. I'm pretty busy with real life stuff, that's why I'm in and out from the forum. I've put back all videos and pictures in the good directories on the Google Drive. I did'nt add channelf and pv1000 because they are now proprely supported by Screenscrapper.

                              If this is not working properly, just let me know

                              F 1 Reply Last reply 25 May 2021, 14:29 Reply Quote 1
                              • F
                                Folly @DTEAM
                                last edited by Folly 25 May 2021, 14:29

                                @dteam

                                Super, thanks for letting me know !
                                I will test it.

                                At the moment busy with version 2.2 .

                                I just added a part that will be integrated in the generated module-scripts
                                it will sort the emulators.cfg when a module-script is installed.
                                Just tested it and it works really nice.

                                I also added the BASENAME lines that I discovered trying supracan with mame.
                                These lines should work on more systems, no doubt about that.
                                I will test some other systems how they react.

                                Perhaps I will also convert the line names so we can understand the lines better on what they do.

                                D 1 Reply Last reply 25 May 2021, 14:35 Reply Quote 1
                                • D
                                  DTEAM @Folly
                                  last edited by DTEAM 25 May 2021, 14:35

                                  @folly
                                  For supracan, I remember that only the first game worked. Has it changed? I never had issues to load that emulator.

                                  F H 3 Replies Last reply 25 May 2021, 17:29 Reply Quote 0
                                  • F
                                    Folly @DTEAM
                                    last edited by 25 May 2021, 17:29

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

                                    @folly
                                    For supracan, I remember that only the first game worked. Has it changed? I never had issues to load that emulator.

                                    Indeed, seems that not all games will work properly.
                                    But that's not the interesting part to it.
                                    What's interesting, though, is that I now discovered runcommand lines that should be added to the script.
                                    I just found a way to do the same with lr-mess without even using valerino's script.
                                    I have to look into this deeper but it seems quite a discovery because everywhere they say that this can't be done.
                                    So I think I might found the secret to it.
                                    Did the same with lr-mame, but I have no luck up till now.
                                    Perhaps I should do a source install for that.

                                    So @hhtien1408 I have found a way to run supracan with lr-mess too.

                                    So here is a picture of boomzoo :
                                    2021-05-25-192909_800x600_scrot.png

                                    H 1 Reply Last reply 27 May 2021, 08:32 Reply Quote 1
                                    • F
                                      Folly @DTEAM
                                      last edited by Folly 25 May 2021, 17:43

                                      @dteam

                                      As far as I can see, the discovered lines can't be used for our own created plaforms like :
                                      all_in1
                                      classich
                                      konamih
                                      tigerh
                                      and perhaps more
                                      So I want to use an if function for that.

                                      When doing so I found an issue with the tigerh.
                                      This seems to be a mame system Tiger-Heli.

                                      Now using the if function can lead to a problem.

                                      Can we consider to rename tigerh to tigerhh or tiger-hh ?
                                      Perhaps we can do the same with classic-hh and konami-hh.
                                      hh = handheld

                                      Let me know what you think about that.

                                      D 1 Reply Last reply 25 May 2021, 18:03 Reply Quote 0
                                      • D
                                        DTEAM @Folly
                                        last edited by 25 May 2021, 18:03

                                        @folly
                                        I have no problem with that. You can rename them.

                                        F 1 Reply Last reply 25 May 2021, 18:59 Reply Quote 0
                                        • D
                                          DTEAM
                                          last edited by DTEAM 25 May 2021, 18:12

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

                                          What's interesting, though, is that I now discovered runcommand lines that should be added to the script.

                                          This is great if it works

                                          Another question. Do you think It's doable to create a default mame.ini per system? Like they do with Retroarch

                                          see: https://docs.mamedev.org/commandline/commandline-all.html#mame-commandline-createconfig

                                          F 2 Replies Last reply 25 May 2021, 19:06 Reply Quote 0
                                          327 out of 2249
                                          • First post
                                            327/2249
                                            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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received