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.3k Posts 37 Posters 7.5m 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.
    • jamrom2J
      jamrom2 @Folly
      last edited by jamrom2

      @folly

      Just tried the script... I get this. I'm not surprised I have an issue. My build seems to have issues with everything... I ask it to make a ham and cheese sandwich and I get a reply "with what?". Lol.

      error.jpg

      Is it asking for something I don't have? Your test script worked without an issue.

      mituM 1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator @jamrom2
        last edited by

        @jamrom2 You downloaded the file wrong, you need to click the 'Raw' button on the Github interface first. You downloaded the HTML page, which is - obviously - not a valid .sh script file.

        jamrom2J 1 Reply Last reply Reply Quote 1
        • I
          isidoro80 @DTEAM
          last edited by

          @dteam hello I put the bios in the folder / bios / mame and roms / arcade but still lr-mame gives me the same error. i can try the other emulatoelri but i prefer to use mame.

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

            @mitu
            yep... that was it...

            So it's ham, bread, cheese, bread, mustard to make a Ham and Cheese... man...I'm bad at this.

            Thanks as always for your all-seeing eye.

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

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

              @dteam hello I put the bios in the folder / bios / mame and roms / arcade but still lr-mame gives me the same error. i can try the other emulatoelri but i prefer to use mame.

              You should always check your /dev/shm/runcommand.log after you tried to run a game.
              If there isn't enough information then you have to press a key just before the game boots.
              This will get you in the retropie-boot-dialog.
              Choose the launch with verbose option.
              Then check your /dev/shm/runcommand.log again after you tried.

              I would advise you to make a new help thread for your problem.

              Describe a bit better, what game, from what system, you want to run and, with which emulator.
              It seems you mix a lot of things up.
              Also describe if you want to do it the regular way or using this project.

              Please also read the docs thoroughly :
              https://retropie.org.uk/docs/Arcade/

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

                maybe because I don't write well in English. I believe my problem is consistent with this post. I have installed lr-mame and would like to play the segamodel 1 games emulated by lr-mame. one of these is arabian fight and another is f1 exaust. I read the game log and despite having installed the bios in the correct directories I read as an error: model file not found. essentially the bios are missing. I have installed the bios Model1IO.zip, Model1IO2.zip, M1COMM.zip, HD44780_A00.zip but i can't play games. the question is this. can anyone play arcade model 1 games with le-mame?

                jamrom2J FollyF 2 Replies Last reply Reply Quote 0
                • jamrom2J
                  jamrom2 @isidoro80
                  last edited by

                  @isidoro80

                  Problem might not be the BIOS files... it might be that the ROMs you are using are not correct to the version of MAME you have loaded.

                  What version are the ROMs from? They have to match the version of MAME correctly in order to work. They change/merge ROMs often between version of MAME so everything must match.

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

                    @isidoro80

                    I looked in the mame databases for you.
                    The games you want to run are "system drivers" and not found in the software databases (softwarelist hash tables).

                    mame0236_systems:Driver arabfgt (Arabian Fight (World)):
                    mame0236_systems:Driver arabfgtj (Arabian Fight (Japan)):
                    mame0236_systems:Driver arabfgtu (Arabian Fight (US)):
                    mame0236_systems:Driver f1en (F1 Exhaust Note (World, Rev A)):
                    mame0236_systems:Driver f1enj (F1 Exhaust Note (Japan, Rev A)):
                    mame0236_systems:Driver f1enu (F1 Exhaust Note (US, Rev A)):
                    

                    This basically means that the game files are the bios files.
                    Confusing perhaps, but we don't put game-bios-files in the BIOS or BIOS/mame directory normally. We put them in the normal roms/*** directory.

                    According to this : https://www.progettosnaps.net/renameset/
                    Here you have a file category.ini (0.236) (always up to date) .
                    Inside, you have a file named arcade.ini and one mess.ini.
                    Here we can see that they are arcade ones, so you should be able to run them with lr-mame or mame.
                    You have to place the f1en.zip (.7z) and arabfgt.zip (.7z) in the regular rom directory :

                    • /home/pi/RetroPie/roms/mame-libretro
                      or
                    • /home/pi/RetroPie/roms/arcade

                    Technically speaking, then you are doing it just the normal/regular way.

                    Let me know if this works.

                    Here it works :
                    2021-10-16-094542_800x600_scrot-resized.png 2021-10-16-094623_800x600_scrot-resized.png

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

                      Maybe I can help a little with this as well...

                      The best way to see what you are missing when it comes to MAME is to run native MAME on a PC.

                      Grab the ROMs from the correct MAME version number, run it in MAME and it will tell you what you need. Many of the missing files need to be added to the main MAME ROM folder (as Folly pointed out). They are no longer placed in the BIOS folder.

                      Great example is Gorf. It needs very specific VOX files to properly emulate the voice sounds in the game as they don't use "samples" any more. Without those VOX files, Gorf will not work and will flag an error. You then add those files to the MAME roms folder, and all is happy.

                      Having said that... Retropie did not run the most modern version of MAME, until this new script was added...so now you have to see what version of MAME this script pulls down and make sure that the games you are trying to run are supported by that version of MAME.

                      MAME has never been a quick dump and go emulator. It has always been this way, and requires things to be the correct version, in the correct place...and named correctly.

                      So try there before you go any further. You might be chasing this meanwhile, this version of MAME might not even support the game you are trying to run.

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

                        @jamrom2

                        Here you can learn/read everything about mame :
                        https://docs.mamedev.org/

                        Here you can read almost everything about the commandline options :
                        https://docs.mamedev.org/commandline/commandline-all.html

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

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

                          Retropie did not run the most modern version of MAME, until this new script was added...

                          standard retropie has supported current, standalone MAME for over a year now: https://github.com/RetroPie/RetroPie-Setup/blob/master/scriptmodules/emulators/mame.sh (experimental packages)

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

                            @DTEAM

                            All changes up until now :


                            (18-10-2021)

                            • all slotdevice parameters converted to "extra options"
                            • added lr-mess overlay config creation for .7z files
                              (because roms are often in .7z format now)
                            • improvements in menu : Download > Download/update

                            (14-10-2021)

                            • fix : first line of the CSV was not displayed in some menus
                            • now the front-end uses the mame0236 database
                            • added the possibility to install the available gamelists and media per system
                              • should be future proof when adding new system on the google-drive
                            • added the older and newer missing mame databases (now we have 0228 - 0236 )
                            • add systems in the generator part script for : classich and gameandwatch
                            • updated the handheld databases

                            https://github.com/FollyMaddy/RetroPie-Share/blob/0b3a8f2fa4588098411eda5b860cde8a9f00ac6c/00-workdir-00/add-mamedev-systems-2v4.sh
                            (right-click on raw to download)

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

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

                              NEW EDIT: here: https://www.progettosnaps.net/renameset/

                              you have a file category.ini (0.236) (always up to date) . Inside, you have a file named arcade.ini and one mess.ini. Everything is there to do the split.

                              I have found a way to match these files with our data.
                              And I think I can also match the files from http://adb.arcadeitalia.net/lista_mame.php .
                              We could even add our handhelds/plug&play to it this way.
                              After that I hope that I can implement it in the scripts so we can sort upon the "catagories".
                              The file will look something like this :

                              Driver 1292apvs (1292 Advanced Programmable Video System): *non-arcade
                              Driver 1392apvs (1392 Advanced Programmable Video System): *non-arcade
                              Driver 15lions (15 Lions (10166211, Queensland)): *arcade
                              Driver 18w (18 Wheeler (set 1)): *arcade
                              Driver 18w2 (18 Wheeler (set 2)): *arcade
                              Driver 18wheelr (18 Wheeler (deluxe, Rev A)): *arcade
                              Driver 18wheelro (18 Wheeler (deluxe)): *arcade
                              Driver 18wheelrt (18 Wheeler (deluxe, Rev T)): *arcade
                              Driver 18wheels (18 Wheeler (standard)): *arcade
                              Driver 18wheelu (18 Wheeler (upright)): *arcade
                              Driver 1942abl (1942 (Revision A, bootleg)): *arcade*bootlegs*cabinets
                              

                              The disadvantage is that "matching" takes some time to do.
                              And I have to improve the category names.
                              For instance, I want to convert "mess" into "non-arcade".
                              So, for now, it's a slow development.

                              Using grep we can sort on arcade , for example :
                              grep_arcade.png

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

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

                                I have found a way to match these files with our data.

                                This is really cool!!

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

                                  @dteam

                                  I am finished with the matching.
                                  After converting the files, so it would contain only the systems, I matched the files against our database.
                                  It takes about 3 hours to build.

                                  I uploaded the file to github :
                                  https://github.com/FollyMaddy/RetroPie-Share/blob/main/00-databases-00/mame/mame0236_systems_sorted_info

                                  For now something to check and experiment with.

                                  The categories that I added are :
                                  all_in1
                                  arcade
                                  ball-and-paddle
                                  board-game
                                  bootlegs
                                  cabinets
                                  calculator
                                  casino
                                  classich
                                  climbing
                                  clones-arcade
                                  computer-graphic-workstation
                                  computer
                                  digital-simulator
                                  driving
                                  fighter
                                  freeplay
                                  game-console
                                  gameandwatch
                                  handheld
                                  jakks
                                  konamih
                                  maze
                                  mechanical-arcade
                                  medal-game
                                  medical-equipment
                                  misc
                                  monochrome
                                  multi-game
                                  non-arcade
                                  screenless
                                  tigerh
                                  tigerrz

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

                                    @folly

                                    WOW !!! A lot of work ! Some of those are not playable. Will you keep them (like mechanical-arcade, medical-equipment, ball-and-paddle, board-game, etc.) ?

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

                                      @dteam

                                      I like the idea that we now can see what which system is and that the most data is included.

                                      I think it's not a problem that non-working systems are in there because we should be able to sort on it, if I add it from the ini files.
                                      If I am wrong, I can always remove some entry's.

                                      I did not yet add the info of these ini files :
                                      arcade_BIOS
                                      arcade_NOBIOS
                                      CHD (no BIOS)
                                      CHD Working
                                      Non Bootlegs
                                      Non Mechanical Arcade
                                      Not Working Arcade
                                      Originals Arcade
                                      Players
                                      resolution
                                      Working Arcade Clean
                                      Working Arcade

                                      This is the only bash code I used to add the information to the existing data file,
                                      using the simple .ini txt files containing the systems per category that are with or without windows line-endings :

                                      for file in $(ls -r *.ini);do echo busy with $file;cat $file |sed 's/\r//g'|while read line;do grep -i "Driver $line " mame0236_systems_sorted_info|sed -i "s/Driver $line .*\:/&*$(basename $file .ini)/" mame0236_systems_sorted_info ;done;done
                                      sed -i 's/)\:/)\: /g' mame0236_systems_sorted_info
                                      
                                      1 Reply Last reply Reply Quote 1
                                      • FollyF
                                        Folly @DTEAM
                                        last edited by Folly

                                        @dteam

                                        I have made the first working code to generate the sorted lists.
                                        Perhaps a bit premature as is not yet how I want it to be.

                                        It's just a peek in the future on how it will work.
                                        I must say I am very satisfied with the first tests ;-)

                                        (edit : third update)
                                        https://github.com/FollyMaddy/RetroPie-Share/blob/94f47159441265d13869eeb72fb8640b6aadb9ee/00-workdir-00/add-mamedev-systems-2v4.sh

                                        • menu improved
                                        • overall improved sorting on --dictionary-order
                                        • (fast)create sorted lists (and equal to) on patterns up to 5 options ($2 -$6)
                                        • (slower)create sorting (not equal to) on patterns for one option ($2) adding an ! after the pattern
                                          (in combination with 4 (and equal to) patterns up to 4 options ($3 -$6) is possible)
                                        • possible to make sorted lists with "system" names
                                          ( with "system description" names it was already possible )
                                        DTEAMD 1 Reply Last reply Reply Quote 1
                                        • DTEAMD
                                          DTEAM @Folly
                                          last edited by DTEAM

                                          @folly
                                          l’ll try it mondayšŸ‘šŸ»

                                          DTEAMD 1 Reply Last reply Reply Quote 1
                                          • FollyF Folly referenced this topic on
                                          • DTEAMD
                                            DTEAM @DTEAM
                                            last edited by DTEAM

                                            @Folly

                                            Your last add-mamedev-systems-2v4.sh works very well. Great job! I like your subfolders for gamelist.xml. Some options can be confusing for newbies. Maybe you could add a logigram or a tree diagram in your first post.

                                            I like this version, it's easy and full access to MESS and MAME with Artworks, cheat codes and "games scraping" for unusual systems... it's huge.

                                            FollyF 2 Replies 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.