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

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

      /home/pi/RetroPie/roms/dragon_flop

      Would be perfect for storing the actual games. ES does not have that as a theme folder and it's basically hidden from it.

      Then the link can still be created from there, but placed in /home/pi/RetroPie/roms/dragon32. es_systems.cfg would not need to be adjusted either as it will read the .zip file... or whatever format we can use.

      You can store the original files in /home/pi/RetroPie/roms/dragon_flop if you want, should be no problem if the links are correct and in the normal rom directory.

      There is no need to adjust es_systems.cfg. because it will see the link with .bas.zip or .bin.zip just as a .zip file.

      I tested this and it should work OOB.

      EDIT:
      Remember you first have to place your original files in your desired folder.
      After that you have to make the links.
      After that you can't move your original files otherwise you get broken links.

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

        @folly

        Ok. Got it working for Dungeon Raid. I did the same as you, created the link in the \dragon32 folder to point at a separate folder in roms called \roms\dragon_flop.

        It's a little tricky to figure out at first, but once the link is created, it's easy just to keep making them. Like you said, you need to first do a DIR to see exactly what the game name the the system actually sees. Has nothing to do with what the file is named in the zip folder.

        It worked great with the new naming/runcommand option.

        Odd thing I did notice... there is no artifiacting active in these games. I noticed it on a few of them even .cas based. I pulled up the MESS menu and artificating in active... but not displayed.

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

          @jamrom2

          Seems we are on the right track !

          I don't know what artifacting is.
          Never used it, I think.
          I will have a look.

          Edit :
          I tried mame and lr-mess with and without autoboot runcommand and with and without links and original files.
          I always can select artifact :

          • off
          • standard
          • reverse

          Don't see any difference though ;-)
          I don't think it has something to do with my script.

          Do you have experience with "artifacting", and how it should affect the display ?

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

            @DTEAM

            Do you have experience with the "artifacting" setting ?

            Btw.
            I added some handheld/plug&play things in section 26 then (5-12).
            I think you will like it.

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

            If you want to test then it's probably best to backup the specific directories. ;-)
            (or change the destiny directory, in the form, to a test directory !!!)
            Some lines can take a while as you know how much is in there.
            After the dl's, the ownership of the files are changed so it's best to not interrupt the process.
            This is basically the same process as with the google-drive dl's.
            We can just add more, later on, as it leans fully on the database, so it's quite easy now.

            Btw. @jamrom2 you are free to test too !

            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:

              Do you have experience with the "artifacting" setting ?

              Unfortunately No.

              See here for some tips like Test your games at lower settings and set a max FPS if possible

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

                @dteam @Folly
                So Artifacting was a term used to describe creating colors that didn't exist in old PC's. It was a way to make color graphics before VGA and RGB style monitors were around. In today's tech language, artifacting usually means a bad graphics card or something like that.

                Here is a discussion on it over at the Atari Age forum using an actual Atari 800 computer. The A800/400/XL used artifacting especially in Hi-Res mode for games like Choplifter and A.E.

                https://atariage.com/forums/topic/275882-atari-800-ntsc-artifacting/

                Here is a thread with very good examples from rkoster on our forum. I helped him with this and he had me testing all kinds of stuff on the lr-atari800 emulator. But scroll down and you'll see the examples, especially U3 Exodus.

                https://retropie.org.uk/forum/topic/22392/lr-atari800-5200-artifacting-basic-and-other-guidance

                What I see in Mess in relation to Dragon32 is that it's not displaying the artifacting at all. So you get black and white lined graphics. They should be some form of color.

                The MESS menu shows that the artifacting is active, but has no effect on the actual graphics.

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

                  @jamrom2

                  That is indeed very different than what I/we were thinking.

                  I found also a nice resource explaining what it is :
                  http://cocovga.com/documentation/artifact-emulation/

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

                    @folly

                    Definately an issue, but I don't see where it's coming from. East game to compare is to run Canyon Climber. Coco is displaying properly with colors and all, Dragon32 is not.

                    I wonder if the games have to be Dragon32 specific? I don't recall that being an issue between these two systems. The were interchangeable.

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

                      I think I might know what's causing this...

                      Dragon32 was for PAL format, while TRS-80 was NTSC. It might be that the games themselves are not triggering the artifiacting. I took the Balldozer game, which is for Dragon32 and tried it in the Coco2. It failed with a graphical error. Tells me the programs themselves might be machine specific.

                      Berserk works on both, but no artifiacting on the Dragon32. It's black and white only.

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

                        @jamrom2

                        I think it's also for NTSC only.
                        The NTSC composite signal VS the PAL composite signal is very different in how the colors are transmitted.
                        Could be a plausible reason.

                        Have you tried these ?, perhaps they work different :
                        Driver d64plus (Dragon 64 Plus): @non-arcade@computer
                        Driver dragon64 (Dragon 64): @non-arcade@computer
                        Driver dragon64h (Dragon 64 (HD6309E CPU)): @non-arcade@computer

                        EDIT :
                        Look into the slider controls.
                        Screen refresh 50Hz is for PAL
                        60Hz is for NTSC.
                        Try changing setting from 50 on 60.

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

                          @folly I'll give those a try soon. Just working on finishing some data input for the Coco Theme

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