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.7m 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:

      @folly Let me offer what I experienced, it might help.

      Yes, this could help.
      I did not pay much attention to the Apple emulation, as there is so much to emulate ;-)
      Hope it helps for you too, understanding how it works.

      Pffff.. It took me some time to make this reply and drinking some coffee ;-)

      Loading the Apple series using the build script from post 1 and the "...install upon descriptrions" list, gave me the option to add the Apple //e (enhanced) and Apple IIgs (ROM1). From the "...install upon system names" list, you are offered "apple2ee" and "apple2gsr1" (obviously these two lists load the same emulators, not sure why you guys did it this way)

      We did this because with the system names it's not always obvious, regarding the system-name, what computer you will be installing.
      So using the description list it will show the the more obvious description of the computer.
      Of-course, selecting a description will look up the system-name and install that system.

      I would have liked to combine both system-names and description-names in 1 line but, for most systems, there is no room to display all text in the dialog box.

      Hope you understand it better now why we did it this way.

      So loading the Apple //e installed fine, and gave me a large list of several new options under "Manage Packages --> Manage Exp packages -->" . It lists "apple2ee with several variations. BUT, when I activated them in ES... my Apple II menu shows Apple II games however, uses the Apple IIgsr1 emulator.

      In the generator script part we have build in a retropie-system-name detection system. Part of this system is checking the platforms.cfg against mame-system-descriptions. This is done because mame holds so much computer types that are basically doing the same thing. A good example is MSX.
      When you use this command in the terminal you will see how much MSX types mame has :

      /opt/retropie/emulators/mame/mame -listdevices |grep Driver|grep MSX
      

      So when the script finds a mach in the description it won't use the mame-system-name but instead use the retropie-system-name.
      So for the Driver apple2gsr1 (Apple IIgs (ROM01)): this means there is a match from within the platforms.cfg and then uses the system-name apple2 for the directory structure.
      The advantage of this matching procedure is that different types will use the same directory structure and that they also use the same ES-theme.
      Otherwise you would have to make a theme for every individual system type.

      With Driver apple2ee (Apple //e (enhanced)): however it doesn't contain IIand therefor will not have a match and so it will use the regular apple2eedirectory structure.

      You have to know that the front-end-script will directly install what is selected.
      A disadvantage of that is that you don't see the help from the script-module.
      But you can see that later when you select the system help in "Manage Packages --> Manage Exp packages -->etc.".
      Here you should also see which system-name has been used during generation and where you have to put the games in.

      I looked at the major files that point to the emulator selection, but I never saw where it was making this choice. It should be bringing up the Apple IIee emulator if anything, or more correct would be an Apple II variant.

      Not exactly sure what you mean here.
      But I think you mean that where are the systems installed, right ?
      As explained, this depends on which system-name is used when installing the system.

      Now, loading the Apple IIgs was another story. The script knocked out my Apple IIgs listing in my es_systems.cfg file so that I had no listing of Apple IIgs in ES. I corrected it, and then once I refreshed, it was good... however... I could not run any games as there is no listing in the emulators.cfg for Apple IIgs emulators.

      That is something I did not foresee.
      But indeed, when the matching procedure takes place, explained earlier, it will rewrite the es_system.cfg with the new 'Apple IIgs' information.
      Because it already contained that information it will overwrite the old with the new information, I think.

      So that's where the only issue really is. The MESS/MAME based emulation does work because once I fell back to what I had previously, the new version of MESS/MAME worked fine and each emulator was selectable as I had it before. Of course I just had to update my BIOS files to the new version and put them in the correct location. I suggest looking at how the script is building/editing files and the direction it points ES to pick emulators.

      There is a need for several separate versions of Apple if it is possible (not sure if this is the fina goal of the project, but here is the list of Apples in order of production):
      Apple I
      Apple II
      Apple II plus
      Apple III
      Apple IIe
      Apple III plus
      Apple IIc
      Apple IIgs

      A possibility is to try and add matching names that would match Apple II :
      Apple ][
      Apple //
      So we can eventually end up with the systems Apple1, Apple2, Apple3

      Perhaps a better idea is to block the matching part for the "Apple II" part so all Apple types will use the mame-system-name as the directory structure.
      Would that help ? (then the driver name will be used as the directory scructure)

      This is the whole list :

      pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -listdevices |grep Driver|grep Apple
      Driver apple1 (Apple I):
      Driver apple10 (Apple 10 (Ver 1.21)):
      Driver apple2 (Apple ][):
      Driver apple2c (Apple //c):
      Driver apple2c0 (Apple //c (UniDisk 3.5)):
      Driver apple2c3 (Apple //c (Original Memory Expansion)):
      Driver apple2c4 (Apple //c (rev 4)):
      Driver apple2cp (Apple //c Plus):
      Driver apple2e (Apple //e):
      Driver apple2ee (Apple //e (enhanced)):
      Driver apple2eefr (Apple //e (enhanced, France)):
      Driver apple2ees (Apple //e (Spain)):
      Driver apple2eeuk (Apple //e (enhanced, UK)):
      Driver apple2ep (Apple //e (Platinum)):
      Driver apple2euk (Apple //e (UK)):
      Driver apple2gs (Apple IIgs (ROM03)):
      Driver apple2gsr0 (Apple IIgs (ROM00)):
      Driver apple2gsr0p (Apple IIgs (ROM00 prototype 6/19/1986)):
      Driver apple2gsr0p2 (Apple IIgs (ROM00 prototype 3/10/1986)):
      Driver apple2gsr1 (Apple IIgs (ROM01)):
      Driver apple2gsr3p (Apple IIgs (ROM03 prototype)):
      Driver apple2jp (Apple ][ J-Plus):
      Driver apple2p (Apple ][+):
      Driver apple3 (Apple ///):
      

      I hope that helps a little if not some words to have a coffee while reading. Lol.
      Best regards,

      JamR

      Best regards,

      Folly

      PS.
      I looked at the old valerino script for astrocade here :
      https://github.com/valerino/RetroPie-Setup/blob/master/scriptmodules/libretrocores/lr-mess-astrocade.sh
      He made things manually and therefor he used the system name astrocade.
      My generator script uses the mame-system-name from the database and that is: astrocde
      See the difference here !
      So if you want the see the games list in ES you would have to move your games to the directory astrocde.
      Do you get the picture ? ;-)

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

        I added the mattelh to the e scripts in the handeld section.

        It's described in this thread :
        https://retropie.org.uk/forum/topic/31429/are-mattel-electronics-hand-held-games-supported-yet

        Commits :
        https://github.com/FollyMaddy/RetroPie-Share/commit/692e2f9bbd9ea60dcde52b427875671732eafd6c
        https://github.com/FollyMaddy/RetroPie-Share/commit/b966da2bef9b8f6de883c9c76555bb5dd2ebd315

        EDIT: I removed Mattel from the scripts as it will conflict with the Classic Handheld.

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

          @dteam

          Are you able to make some themes for apfm1000 and (mattelh) ?

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

            @folly

            Sure, I’ll do It monday.

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

              @dteam @jamrom2

              It seems I added Mattel too early.
              I discovered, while also being busy with Coleco and Entax handheld, that all these handheld systems are already under the "Classic Handheld Systems".

              Some Mattel games and perhaps more are missing from the classich array I think.
              What shall we do, revert the script back and add the missing games to classich ?

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

                @folly
                This is my old (incomplete) list, but you can see some the manufacturers for Classic Handheld.

                alt text

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

                  @dteam

                  At first sight it's very different from what I can get from the database but I will have a look at it.

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

                    @Folly

                    My personal final list is the one from my tutorial (Link in your first post). If you found more working games, let me know, I'll add to my list

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

                      @jamrom2 can you help me for apple2gs? for apple2 I installed lineapple and I solved it so with lr-mess it didn't work. for applegs i am considering whether to compile gsplus but i would prefer to use lr-mess. I created a folder / roms / apple2gs with all the roms and one in / config / apple2gs (the script apple iigs rom01 did not create anything). i don't know what files to put inside this folder to start apple2gs

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

                        @isidoro80 i copy file from config/apple2 to config/apple2gs and substitute in this file reference to apple2 in apple2gs. Now the system start but the game not work. I have error driver not found. I think the problem is bios. Which are the correct bios for game apple2gs?

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

                          @isidoro80 @jamrom2

                          I did some work on the Apple types.

                          First let me say that matching RetroPie names with MAME names has been implemented in a speculative way and not directly keeping track of all systems manually.
                          So personally, I don't always have the knowledge of what is matched as there are more that 30000 system names !
                          But the strength is that for many systems this will work.

                          For the "Apple II" types the recognition is incomplete and it seems to be confusing.
                          That is why I decided to turn of the matching procedure for the "Apple II" types.

                          This way every apple type get's it's own directory structure using the MAME name.
                          So then we can test and discuss these Apple types better using the MAME system name.

                          I tested the apple2gs but it freezes at boot.
                          I also tested the apple2gsr1 and it booted the game :
                          beyond pinball (1986)(dark logic)[cr brian fist].do (bypinbll.zip)
                          Not directly sure how to play but it works !

                          Earlier I added apple2ee and apple2gsr1 in the "selection of systems -> other systems".
                          I think I added these two systems in that section because we have talked about these two as working systems.

                          Now that I updated the script I recommend you should use that update.
                          But before you do that you should de-install them first from within the RetroPie-Setup :
                          -> Manage Packages
                          -> Manage Experimental Packages
                          -> install-apple....................... (do this with all the apple module-scripts)
                          -> remove

                          Then you should delete all these "install-apple..............sh" scripts from :
                          /home/pi/RetroPie-Setup/scriptmodules/libretrocores
                          or if you have them here :
                          /home/pi/RetroPie-Setup/ext/RetroPie-Share/scriptmodules/libretrocores

                          The /home/pi/RetroPie/roms/apple* directories aren't removed.
                          But I will advice you to backup these directories and remove them.
                          This way you will notice the new directories, that are created, when installing the systems again with the updated script.

                          Update the script and install the systems again and copy back your game files into :
                          /home/pi/RetroPie/roms/applegsr1 (for example)

                          For apple2gsr1 you need these bios files :

                          pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -listroms apple2gsr1
                          ROMs required for driver "apple2gsr1".
                          Name                                   Size Checksum
                          341s0345.bin                           3072 CRC(48cd5779) SHA1(97e421f5247c00a0ca34cd08b6209df573101480)
                          apple2gs.chr                           4096 CRC(91e53cd8) SHA1(34e2443e2ef960a36c047a09ed5a93f471797f89)
                          342-0077-b                           131072 CRC(42f124b0) SHA1(e4fc7560b69d062cb2da5b1ffbe11cd1ca03cc37)
                          341-0132-d.e12                         2048 CRC(c506efb9) SHA1(8e14e85c645187504ec9d162b3ea614a0c421d32)
                          

                          Search for mame-0.231-merged.
                          I think the are all in apple2gs.7z .

                          If it doesn't work then check your /dev/shm/runcommand.log .

                          Let me know if you get it working.

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

                            Here some pictures booting bypinbll.zip on apple2gsr1 :

                            2021-10-04-111348_800x600_scrot-resized.png 2021-10-04-111353_800x600_scrot-resized.png 2021-10-04-111404_800x600_scrot-resized.png
                            2021-10-04-111421_800x600_scrot-resized.png 2021-10-04-111520_800x600_scrot-resized.png 2021-10-04-111523_800x600_scrot-resized.png

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

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

                              Are you able to make some themes for apfm1000?

                              Done ! see on GitHub
                              https://github.com/DTEAM-1/cygnus-blue-flames

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

                                @dteam

                                Perfect !

                                2021-10-04-154634_800x600_scrot-resized.png

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

                                  @folly if you use supersweettheme there are many theme apple2, apple2gs, apfm1000, etc..

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

                                    @folly hello thanks for the information. have you updated the script now? so i have to download and install it again?

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

                                      @isidoro80

                                      Yes I have.

                                      Good luck !

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

                                        @folly

                                        I like your "driver lists" additions in your first post . Good idea !!

                                        DTEAMD F 2 Replies Last reply Reply Quote 0
                                        • DTEAMD
                                          DTEAM @DTEAM
                                          last edited by

                                          @dteam
                                          Has anyone tried Amiga CD 32 (CD32N, CD32). Does it work well with lr-Mess and MAME.

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

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

                                            @folly

                                            I like your "driver lists" additions in your first post . Good idea !!

                                            Thanks.

                                            Yes, I liked the idea that everyone can see directly what games are meant for these sections.

                                            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.