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.
    • F
      Folly @mitu
      last edited by

      @mitu

      Thanks for bringing up the solution of $HOME/.mame/adam.ini.

      If it was for coleco/adam only it was convenient enough.
      Downside is still, it has to be created somehow.
      I can't directly give you examples on more similar system than with adam and coleco but there are definitely much more.

      As you know the advantage of the basename loader is that the files are hooked to the mame database, so the loading procedure is more precise, adding sometimes extra hardware, also cheats can be used if available and if we have multiple disks the are also loaded in a better way.

      So that's why we wanted the mame basename loaders to work.
      But basically we struggled with the mame basename loaders, running the mess systems, for quite a while.
      All the time the basename loaders didn't correctly work we just use the predefined media loader lines in order to run the games.

      I found that in order to run I had to add the systemname and basename to the basename loarder in order to run correctly.
      Of-course with the added rompaths to the mame.ini it will work.
      Considering we have about 4000 mess systems, so we don't want to add all these rompaths to a mame.ini, it's better to add it in the loader command.
      Basically the adam/coleco issue is no exception.
      Also, many systems are re-grouped under another name.
      Take for instance all msx 20-30 msx types they will all be installed under msx.

      Well I didn't want to add so much rompaths in a mame.ini.
      Here is where the trouble started, when adding 1 rompath to the loader command, it will not load the rompaths from the mame.ini anymore.
      So it took me quite some time to figure out, how, and that I to add multiple rompaths to the loader command.
      Well, It had to be escaped so it could be added like this :

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

      So now we had some properly working line.
      But only running the game-roms if they are in the root of the specific rom directory.

      Making it like the next one will improve the loading flexibility much more.

      mame-adam-basename = "/opt/retropie/emulators/mame/mame -v -c -rompath /home/pi/RetroPie/BIOS/mame\;%DIRNAME%  adam %BASENAME%"
      

      I am sure it would be an improvement in the runcommand.sh.

      Are you convinced ?

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

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

        But basically we struggled with the mame basename loaders, running the mess systems, for quite a while.

        Doesn't mame load a ROM/game with arbitrary names, as long as you give it the full path and specify the system ? Or is it just a lr-mess feature ?

        Are you convinced ?

        I already said in my previous reply that I think it would be a useful addition.

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

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

          Are you convinced ?

          I already said in my previous reply that I think it would be a useful addition.

          Nice to hear, if I have some time to do so then I will look at making a PR with a proper description.

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

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

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

            But basically we struggled with the mame basename loaders, running the mess systems, for quite a while.

            Doesn't mame load a ROM/game with arbitrary names, as long as you give it the full path and specify the system ? Or is it just a lr-mess feature ?

            Not sure what you exactly mean.
            Some examples would help, if we want to discuss it further.

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

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

              Not sure what you exactly mean.

              I'm referring to Mame's documentation:

              The basic usage, from command line, is

              mame.exe <system> <media> <software> <options>

              where

              • <system> is the short name of the system you want to emulate (e.g. nes, c64, etc.)
              • <media> is the switch for the media you want to load (if it's a cartridge, try -cart or -cart1; if it's a floppy disk, try -flop or -flop1; if it's a CD-ROM, try -cdrom)
              • <software> is the program / game you want to load (and it can be given either as the fullpath to the file to load, or as the shortname of the file in our software lists)
              • <options> is any additional command line option for controllers, video, sound, etc.
              F 1 Reply Last reply Reply Quote 1
              • F
                Folly @mitu
                last edited by

                @mitu

                Thanks for the better explanation.

                Yes, indeed that works beautifully with both mame and lr-mess.

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

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

                  Yes, indeed that works beautifully with both mame and lr-mess.

                  If it works, then why would you need to set the rompath via CLI/conf for each system? Mame would find the ROM without adding its folder to the rompath.

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

                    @mitu

                    I meant it works ok using the normal softwarename, not the shortname.

                    Indeed, I was to quick with my answer.

                    I re-read your post again, the bold part referring to the shortname part.
                    That's indeed something to experiment with.

                    1 Reply Last reply Reply Quote 0
                    • F Folly referenced this topic on
                    • F Folly referenced this topic on
                    • F Folly referenced this topic on
                    • F
                      Folly @mitu
                      last edited by Folly

                      @mitu

                      I created a "cheap branch" with a commit for the runcommand.sh.
                      This way I can redo the commit easily, if this has to be done.

                      Can you check for me if the commit is good enough for a Pull Request ?

                      https://github.com/FollyMaddy/RetroPie-Setup/commit/250dab960834ad7fd27fa2f81e77fb6c6708315f

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

                        @folly The commit looks ok, though I'd use ROM_DIR instead of ROM_DN.

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

                          @mitu

                          Thanks for looking at it.

                          I will do the change and make the PR next year, probably.

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

                            @DTEAM

                            I have been quite busy with work and other things in december and januari.
                            So it can take a while before I get started again with our project.
                            Hopefully I will have more time soon.

                            Meanwhile I will build up a new image, because my old image recently crashed.

                            I have made some progress with how to deal with lr-mess and appending options (trying to make it just as flexible as mame).
                            For that we have to use single-quotes or double-quotes in the runcommand line.
                            But there are a lot of issues and challenges with lr-mess.
                            So I hope I can crack them.

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

                              @folly

                              Hiya,

                              Hope your holidays were good. Mine were spent isolated in a tent with covid... lol. I was in a tent because the house was full with family and I was the only one with it!! Weather was great, so I didn't mind it.

                              At any rate...

                              I'm looking to get the ti99/4a running. I have the BIOS file in /BIOS/mame as a zipped file and all the roms in the new file created by your script /roms/ti99_4a

                              So far it hasn't been recognized as an active system in ES. Do I need additional files placed anywhere?

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

                                @jamrom2

                                Glad to hear you had good holidays seen the circumstances.

                                I was only free from work with Christmas and New-years day.
                                But the 2nd Christmas day was quite special because we had some frost in the night before.
                                The ice wasn't that thick but I was able to skate on the very small ditches for a few hours ;-)
                                But they always say, don't skate on one night's ice.
                                The proverb was correct, I sunk through the ice and had the mud all over me ;-)

                                Looks like we had very different holidays.

                                (later I will do the ti99_4a part)

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

                                  @folly lmfao!! That's so true!

                                  Honestly. It wasn't bad. I didn't have to partake in the usual family dramas and got to completely relax. But sounds like you had way more fun. I just watched old war movies and slept. Lol

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

                                    @jamrom2

                                    I tried ti99_4a again.

                                    First of all you need the bios ti99_4a.7z (or .zip), at a minimum.

                                    With the ti99 everything is not that obvious.
                                    I re-read old posts and I saw that I have had it working in the past.

                                    The normal mame ti99_cart file which contains zip's (with .bin file(s)) only load with the basename loader.
                                    I used mame ti99_4a basenamefor this.
                                    (the basename loader loads software as stored in the soft-list database)
                                    (the lr-mess basename loader probably won't work because these loaders do not contain all rompaths yet, It's something that still has to be solved)

                                    You would imagine that these files also would work with the -cart loaders just like any other system.
                                    With the ti99 that doesn't work because with the media option -cart only .rpk files are supported.
                                    (.rpk files are just .zip files containing the roms and extra layout files)

                                    RPK files are hard to find, but you can try a few.
                                    Just search for tigamecartsmame.

                                    I read the ti99 module-script of valerino again.
                                    He added more predefined stuff in there.
                                    The ti99 is the only system, of the valerino scripts, for which I didn't add extra predefined options yet.

                                    Let me know how it goes.

                                    jamrom2J 2 Replies 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:

                                      tigamecartsmame

                                      Ok,

                                      I'm loaded up and ready. It was the BIOS name and .RPK files. I had the wrong set on both.

                                      I found the RPK's fairly quick. They're definately out there. I'll see if I can get anything to work with using the bin files and basename loader.

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

                                        @folly

                                        No dice.

                                        I do remember this worked, but I don't remember how.

                                        Does this version use a single file BIOS ti_994a.ctg? Or is it the original MESS/MAME 10 file multiple with hfdc.bin, disk.bin, etc.? I tried both zipped named ti99_4a.zip

                                        I put it in .\RetroPie\BIOS\MAME and .\RetroPie\BIOS to be sure.

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

                                          @jamrom2

                                          The ti99_4a.7z or .zip must contain these files :
                                          994a_grom0.u500 994a_grom2.u502 994a_rom_lb.u611 994qi_grom0.u29
                                          994a_grom1.u501 994a_rom_hb.u610 994ev_grom1.u501
                                          (and placed in /home/pi/RetroPie/BIOS/mame)

                                          Go into my script and select restricted downloader and use option 2.
                                          Insert the website (arch......etc).
                                          Scoll to the file and select it.
                                          It will put it in /home/pi/RetroPie/BIOS/mame .

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

                                            @folly

                                            I chose mame-basename to run the game file "basball.zip" with the files listed below compressed in the zip.

                                            Seems like I have everything set to work right, but I get this at the bottom of my runcommand.log:

                                            phm3148g3.bin NOT FOUND (tried in ti99_cart/baseball baseball ti99_4a)
                                            phm3148g4.bin NOT FOUND (tried in ti99_cart/baseball baseball ti99_4a)
                                            phm3148g5.bin NOT FOUND (tried in ti99_cart/baseball baseball ti99_4a)
                                            phm3148c.bin NOT FOUND (tried in ti99_cart/baseball baseball ti99_4a)
                                            Fatal error: Required files are missing, the machine cannot be run.
                                            sdl_kill: closing audio
                                            Enter sdlwindow_exit
                                            Leave sdlwindow_exit

                                            What does the even mean? The game file is in the usual /roms/ti99_4a folder.

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