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.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.
    • jamrom2J
      jamrom2 @Folly
      last edited by jamrom2

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

      dragon64

      Found it. It was a bug in MESS as suspected. Apparently it looks like it was fixed, but I don't see where it was implemented into MESS/MAME.

      If it was, it didn't change anything as it's still happening. I'm presently running .235. This fix was from 2019, which was many versions before .235.

      https://github.com/mamedev/mame/pull/4980

      https://mametesters.org/view.php?id=7300

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

        @jamrom2

        I have read the links.
        It's a lot of information and it looks like the comparison between original and emulated, NTSC vs PAL is constantly mixed in the discussions.
        Very confusing but perhaps I have to read it again.

        I did try the NTSC test on coco2, dragon32 and dragon 64 from this site :
        https://mametesters.org/view.php?id=7300
        You can just add it to mame as an autoboot line :

        /opt/retropie/emulators/mame/mame dragon64 -autoboot_delay 3 -autoboot_command '10 PMODE4,1:SCREEN 1,1:PCLS1\\\n20 FOR I=0 to 3071:POKE 3072+I,85:NEXT I\\\n30 FOR I=3072 to 6143:POKE 3072+I,170:NEXT I\\\n40 GOTO 40\\\n'
        

        On all machines it produces blue/orange.
        Reading the information correct, for PAL, it should produce black and white.
        So, at first sight, it seems, the pull request did not fix this.

        I did also try the .bas file from "25A - Blending Colors in PAL.VDK" :
        archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=5462

        Producing these colors on dragon32 seems to work ok.

        It also states that programs perform differently between systems.
        It makes me wonder, reading the information, if the games are written for NTSC only or for PAL only.
        If some NTSC games, running on dragon are in black&white, and on a coco in color, then it would mean that the pull request fix is working.
        But it would also means that the test in basic, described earlier, is not a good test or I use the wrong POKE as stated there (are you still with me ?) :

        Please note that if you don't have the dos cartridge loaded, you have to change the "POKE 3072," instances to "POKE 1536,".

        So I did :

        /opt/retropie/emulators/mame/mame dragon64 -autoboot_delay 3 -autoboot_command '10 PMODE4,1:SCREEN 1,1:PCLS1\\\n20 FOR I=0 to 3071:POKE 1536+I,85:NEXT I\\\n30 FOR I=3072 to 6143:POKE 1536+I,170:NEXT I\\\n40 GOTO 40\\\n'
        

        Then I get "gray lines".

        It would make sense that you post this into the appropriate forum :
        https://forums.bannister.org/ubbthreads.php?ubb=postlist&Board=1
        That way people, with more knowledge, can take a look at it.

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

          @DTEAM

          I just discovered how to make use of an extra help button.
          I already knew how to add it but I didn't know how to extract data when pressing it.

          I just got it working.
          So now it's possible to remove all the HELP lines.
          We can now add HELP to each line and select it with the HELP-button.
          More text can be added because a full message box is opened.

          I also improved the search in the restricted dl part as it had some issues.

          And I added a runcommand.log extractor in the restricted dl part.
          So if we run a system with mame or lr-mess without BIOS files we can notice in the runcommand.log.
          So this information can be simply extracted.
          Then we can use this to build up a matching list against the rompack.
          So when we run a500 without roms then runcommand will say it misses : a500.7z, a500kbd_us.7z and a2000kbd_us.7z
          If it's found in the rompack than the list will be made for these 3 items to get.

          Nice feature isn't it ?

          It's not yet on github, I will do this when it's more complete with the help.

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

            @jamrom2

            I found a repository with lua scripts for autobooting.
            I did some successful tests.

            I forked that repository :
            https://github.com/FollyMaddy/RandoMame/tree/main/autoboot_script

            Perhaps we can use this for adding autoboot lines using these lua scripts.

            What's nice about it, it can automatically press "tape play" and do a run after loading.

            I don't know yet how to write these lua scripts.
            So I have to experiment.

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

              @folly

              Out of my league for sure.. but it looks like a pretty good option if you can get it to work. Remember what we talked about with the DosBox config files.. that would be something similar I imagine where if it sees a specific rom extension, it knows to use a specific load style.

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

                @DTEAM @jamrom2

                I just did a commit with many improvements :

                • Possible to add HELP to each csv line and select it with the HELP-button.
                • More HELP text can be added because a full message box is opened.
                • Improving the search in the restricted dl part as it had some issues
                • added a runcommand.log extractor in the restricted dl part so missing bios roms can be matched with a rompack dl search
                • the wget downloads now show a progress bar
                • the wget lines are improved with some more options, for example, continue

                I did not yet add all HELP parts yet, but I wanted to share this with you, both, first.
                Now you both can see what is possible.

                You can find it here :
                https://github.com/FollyMaddy/RetroPie-Share/blob/8d1086cd39f963ae5f0afcecc66d2de2fd55f5fe/00-workdir-00/add-mamedev-systems-0237.sh

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

                  @DTEAM @jamrom2

                  I had a few issues with the message-box in above version, that I found later on :

                  • message-box not centred
                  • no RetroPie backtitle
                  • scrolling with page-up/page-down did not work
                    ( and therefore adding more text wasn't an option )

                  The next update will be fixed for this.

                  @DTEAM
                  Are you able to make some help texts for the handheld/p&p ?

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

                    @folly I've been setting up the Coco3 now using that method of placing the rom in another folder and using the links to point at it.

                    I found an issue with the auto load command.

                    using the game Androne and Arena the links named: androne.bin.zip and arena.bin.zip resepectively. It's adding a ".BIN" into the name and using LOAD for both.

                    Androne is a machine language so it needs the M
                    It types: LOAD"ANDRONE.BIN", R
                    It should be: LOADM "ANDRONE" , then EXEC

                    For BASIC programs it does the same, it adds in the ".BIN" into the name, so it fails. The LOAD statement is correct though as it should just be LOAD "ARENA",R

                    It's that BASIC and machine language option again...

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

                      @jamrom2

                      I did a commit and added loadm:exec lines for coco2/3 .
                      Let me know if it works.

                      If the file doesn't have an extension then don't add it in the link, that should work.
                      Then the link for arena should be called : androne.zip (that works for me using loadm"%basename%":exec)
                      My arena is a .bas and booted with : arena.bas.zip (using run"%basename%")

                      https://github.com/FollyMaddy/RetroPie-Share/blob/f7d6ea1ce3851bdf4f77ec844dea8beac9c1b441/00-workdir-00/add-mamedev-systems-0237.sh

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

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

                        @DTEAM

                        Did you had some time to check out the help-button ?
                        I would like to know what you think of it.

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

                          @folly

                          No, Sorry for that. I'm pretty busy right now. I'll try to check it next week.

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

                            @dteam

                            No problem !

                            I had that feeling you were very busy because normally you are very quick.

                            Next week, will do. ;-)

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

                              @folly Hi. Just wanted to check in and let you know the new script for Tandy Coco Floppy is working great.

                              Just like you said, name needs to be correct for it to work.

                              It is a lot of work to get the link setup and naming and all that, but once it's running... no issue. It's worth all the trouble to have these games now with a one click option.

                              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. Does it need a statement like the Apple IIe did?

                              thanks!

                              F 2 Replies Last reply Reply Quote 0
                              • F
                                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)

                                jamrom2J 1 Reply Last reply Reply Quote 0
                                • DTEAMD DTEAM referenced this topic on
                                • DTEAMD DTEAM referenced this topic on
                                • DTEAMD DTEAM referenced this topic on
                                • DTEAMD DTEAM referenced this topic on
                                • DTEAMD DTEAM referenced this topic on
                                • DTEAMD DTEAM referenced this topic on
                                • DTEAMD DTEAM referenced this topic on
                                • DTEAMD DTEAM referenced this topic on
                                • jamrom2J
                                  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.

                                  F 1 Reply Last reply Reply Quote 0
                                  • F
                                    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

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

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

                                      1 Reply Last reply Reply Quote 0
                                      • mituM mitu referenced this topic on
                                      • mituM mitu referenced this topic on
                                      • F
                                        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.

                                        DTEAMD 1 Reply Last reply Reply Quote 0
                                        • mituM mitu referenced this topic on
                                        • DTEAMD
                                          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.

                                          F 1 Reply Last reply Reply Quote 0
                                          • F
                                            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 ;-)

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