RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Sega Model 3: Scriptmodule added to RetroPie-Setup

    Scheduled Pinned Locked Moved General Discussion and Gaming
    supermodel3segamodel3emu2-playerlightgun
    19 Posts 3 Posters 1.2k 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.
    • DirtBagXonD
      DirtBagXon
      last edited by

      There seem to be a plethora of Supermodel threads in this forum, so wanted to create this one for concentrating on the emu fork now within RetroPie-Setup.

      As ever update your RetroPie-Setup script and supermodel3 should now appear under the available 'exp' list.

      Note 1: This is a demanding emulator and will only appear if your device is considered powerful enough to run without too many issues. It's not perfect.

      Just wanted to express a massive thanks to all involved in the testing and configuration, and reconfiguration, of the scriptmodule for this addition - headed as ever by @mitu - also big thanks to @Widge and others.

      RetroPie docs are here: https://retropie.org.uk/docs/Supermodel/

      The repo (branch dependant) used is: https://github.com/DirtBagXon/model3emu-code-sinden

      The scriptmodule will select the best optimised branch for your architecture and use either -legacy3d or -new3d accordingly.

      The RetroPie docs describe the use of .commands file for additions arguments, some are specific to this repo and are on the repo main page.
      One is the support for MAME "Merged ROM" sets. Widge did a great video on the recent scuddxo ROM discovery and demonstrates setup of these arguments better than I can describe here:

       

      Note 2: This is not just useful for "Sinden" users, despite the name, that's just where it started, there are arm optimisations from @mechafatnick and also @ExarKunIv - But this fork also allows 2-Player Lost world with "mice", and other lightguns, as the INPUT control system has been modified for Linux - something the official repo does not cater for.

      There is a YouTube video, by LutherGond, of this fork running on a Pi4, playing 2-Player Lost World, on the repo main page. For those interested.

      Thanks again to all involved.

      Final Note: I am not a supermodel emulation developer - all emulation engine changes are from the official Supermodel GitHub repo, I cannot help if "Background fog effect in ECA is incorrect" - that's up to the official devs, but note the main repo fork does follow all the latest changes from the official repo. If they can be backported for arm, without affecting performance, this will also occur.

       

      Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
      Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
      Hypseus Discord: https://discord.gg/dgCsCfmRfJ

      1 Reply Last reply Reply Quote 7
      • rogg23R
        rogg23
        last edited by

        I installed and when running a game I was getting the error,
        "unable to load bitmap crosshair texture"
        Looked in the git repo and there should be two files in the Assets directory;
        p1crosshair.bmp
        p2crosshair.bmp

        When I downloaded these and added to the Assets directory emulation started ok.

        DirtBagXonD 1 Reply Last reply Reply Quote 0
        • DirtBagXonD
          DirtBagXon @rogg23
          last edited by

          @rogg23 said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

          When I downloaded these and added to the Assets directory emulation started ok.

          Ah, these are only part of the main repo for when:

          isPlatform "x86";
          

          But they should have been part of the clone of the main repo...

          Which folder did you add the .bmp files to? And where is that folder located ?

          We can add the copy of those file when Platform is "x86"

          i.e. Is it alongside the conf folders defined in the Setup Script?:

          local conf_dir="$md_conf_root/arcade/supermodel3"
          mkUserDir "$conf_dir"
          mkUserDir "$conf_dir/NVRAM"
          mkUserDir "$conf_dir/Saves"
          mkUserDir "$conf_dir/Config"

          Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
          Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
          Hypseus Discord: https://discord.gg/dgCsCfmRfJ

          rogg23R 1 Reply Last reply Reply Quote 0
          • rogg23R
            rogg23 @DirtBagXon
            last edited by

            @DirtBagXon

            Apologies I should have said I'm on x86 (ubuntu 22.04).

            I added the two bitmap files to:

            /opt/retropie/configs/arcade/supermodel3/Assets
            
            DirtBagXonD 1 Reply Last reply Reply Quote 0
            • DirtBagXonD
              DirtBagXon @rogg23
              last edited by DirtBagXon

              @rogg23 said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

              @DirtBagXon

              Apologies I should have said I'm on x86 (ubuntu 22.04).

              I've created a PR: Closed
              Edit: Old file link removed.

              Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
              Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
              Hypseus Discord: https://discord.gg/dgCsCfmRfJ

              1 Reply Last reply Reply Quote 0
              • rogg23R
                rogg23
                last edited by

                Didn't seem to work for me, but that doesn't mean I did it right!

                I downloaded the PR, renamed supermodel3.sh in

                ~/Retropie-Setup/scriptmodules/emulators
                

                Copied in the new file.
                Renamed the crosshairs files to .old in

                /opt/retropie/configs/arcade/supermodel3/Assets
                

                Ran setup and updated supermodel 3 but, all I have in my assets directory is the files renamed as .old.

                DirtBagXonD 1 Reply Last reply Reply Quote 0
                • DirtBagXonD
                  DirtBagXon @rogg23
                  last edited by DirtBagXon

                  @rogg23 said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

                  Didn't seem to work for me, but that doesn't mean I did it right!

                  I downloaded the PR, renamed supermodel3.sh in

                  ~/Retropie-Setup/scriptmodules/emulators
                  

                  Copied in the new file.
                  Renamed the crosshairs files to .old in

                  /opt/retropie/configs/arcade/supermodel3/Assets
                  

                  Ran setup and updated supermodel 3 but, all I have in my assets directory is the files renamed as .old.

                  I changed the PR this morning so that it will not overwrite an existing Asset folder, unless it's empty, so even the .old files will have stopped the update to that folder.

                  Can you rename the Asset folder itself and test again on the latest push (there is also a BASH quoting fix in this):

                  Using this one:
                  https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/57cdcfbad0f8bb42518283a30e9f1c345000f845/scriptmodules/emulators/supermodel3.sh

                   

                  Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
                  Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
                  Hypseus Discord: https://discord.gg/dgCsCfmRfJ

                  1 Reply Last reply Reply Quote 0
                  • rogg23R
                    rogg23
                    last edited by

                    @DirtBagXon said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

                    https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/57cdcfbad0f8bb42518283a30e9f1c345000f845/scriptmodules/emulators/supermodel3.sh

                    Renamed Assets to Assets_old, reran with the new scriptmodule in your link. The Assets directory is created, but it is empty.

                    DirtBagXonD 1 Reply Last reply Reply Quote 0
                    • DirtBagXonD
                      DirtBagXon @rogg23
                      last edited by

                      @rogg23 said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

                      @DirtBagXon said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

                      https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/57cdcfbad0f8bb42518283a30e9f1c345000f845/scriptmodules/emulators/supermodel3.sh

                      Renamed Assets to Assets_old, reran with the new scriptmodule in your link. The Assets directory is created, but it is empty.

                      I dunno then, I don't have a Retropie setup to check, the BASH globbing check worked fine in my local machines. Maybe there are RetroPie helper checks someone can add to the PR to look for empty folders, I don't see any in https://retropie.org.uk/api/helpers_8sh.html

                      Otherwise It'll have to wait until I get a Retropie setup at some point.

                      Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
                      Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
                      Hypseus Discord: https://discord.gg/dgCsCfmRfJ

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

                        @DirtBagXon I'll take a look. Ideally you'd want that folder copied everytime. Does it need to be in $conf_dir or the emulator looks also under $inst_dir/Assets ?

                        DirtBagXonD 2 Replies Last reply Reply Quote 0
                        • DirtBagXonD
                          DirtBagXon @mitu
                          last edited by

                          @mitu said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

                          @DirtBagXon I'll take a look. Ideally you'd want that folder copied everytime. Does it need to be in $conf_dir or the emulator looks also under $inst_dir/Assets ?

                          @rogg23 said he created it in:

                          /opt/retropie/configs/arcade/supermodel3/Assets

                          So I guess that's under $conf_dir

                          Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
                          Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
                          Hypseus Discord: https://discord.gg/dgCsCfmRfJ

                          1 Reply Last reply Reply Quote 0
                          • DirtBagXonD
                            DirtBagXon @mitu
                            last edited by

                            @mitu said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

                            Ideally you'd want that folder copied everytime.

                            I did initially, but then though if someone adds their own custom crosshair, it probably shouldn't overwrite....

                            Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
                            Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
                            Hypseus Discord: https://discord.gg/dgCsCfmRfJ

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

                              @DirtBagXon said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

                              I did initially, but then though if someone adds their own custom crosshair, it probably shouldn't overwrite....

                              Are the filenames hardcoded or they can be customized (haven't looked at the config file to see) ? If they can be customized, then users can choose a different name.

                              DirtBagXonD 1 Reply Last reply Reply Quote 0
                              • DirtBagXonD
                                DirtBagXon @mitu
                                last edited by

                                @mitu said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

                                @DirtBagXon said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

                                I did initially, but then though if someone adds their own custom crosshair, it probably shouldn't overwrite....

                                Are the filenames hardcoded or they can be customized (haven't looked at the config file to see) ? If they can be customized, then users can choose a different name.

                                Yeah, you would think there was an option to customize names, but there isn't:

                                p1crosshair.bmp
                                p2crosshair.bmp

                                Src/OSD/SDL/Crosshair.cpp:    const std::string p1CrosshairFile = Util::Format() << FileSystemPath::GetPath(FileSystemPath::Assets) << "p1crosshair.bmp";
                                Src/OSD/SDL/Crosshair.cpp:    const std::string p2CrosshairFile = Util::Format() << FileSystemPath::GetPath(FileSystemPath::Assets) << "p2crosshair.bmp";
                                

                                In reality I'm not certain who would customize them, but...

                                 

                                Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
                                Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
                                Hypseus Discord: https://discord.gg/dgCsCfmRfJ

                                DirtBagXonD 1 Reply Last reply Reply Quote 0
                                • DirtBagXonD
                                  DirtBagXon @DirtBagXon
                                  last edited by DirtBagXon

                                  I'm gonna take a guess, but I think I may have needed to use $md_build instead of $md_inst for the copy, as Assets is never copied to the install dir.

                                      if isPlatform "x86"; then
                                          # "main" repo has an Assets folder for custom crosshairs
                                          mkUserDir "$conf_dir/Assets"
                                          # If the folder is empty, populate it.
                                          if [ -z "$(ls -A $conf_dir/Assets)" ]; then  
                                              cp -f "$md_build/Assets/"* "$conf_dir/Assets/"
                                          fi   
                                      fi
                                  

                                  Just a hunch.

                                  Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
                                  Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
                                  Hypseus Discord: https://discord.gg/dgCsCfmRfJ

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

                                    @DirtBagXon $md_build is only available on source installs, to make sure this works for binary installs/distributions, Assets needs to be included in the installation. Something like this works - it always copies the bitmaps, overwriting any custom files added by the user though.

                                    DirtBagXonD 1 Reply Last reply Reply Quote 0
                                    • DirtBagXonD
                                      DirtBagXon @mitu
                                      last edited by

                                      @mitu said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

                                      @DirtBagXon $md_build is only available on source installs, to make sure this works for binary installs/distributions, Assets needs to be included in the installation. Something like this works - it always copies the bitmaps, overwriting any custom files added by the user though.

                                      Ok, I see, didn't think about the binary installs. I have searched and I can't see any repos, or forum posts, with other/alternate crosshair graphics, and they are a fairly specific .bmp format, so I think it's pretty safe to just overwrite them. Seems to just have fulfilled the PR authors wants. I would just go with that, makes sense.

                                      Hypseus Singe for RetroPie: https://github.com/DirtBagXon/hypseus-singe
                                      Hypseus Singe Games: https://github.com/DirtBagXon/hypseus_singe_data
                                      Hypseus Discord: https://discord.gg/dgCsCfmRfJ

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

                                        @DirtBagXon said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

                                        I would just go with that, makes sense.

                                        Sure, PR already opened.

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

                                          @mitu said in Sega Model 3: Scriptmodule added to RetroPie-Setup:

                                          Sure, PR already opened.

                                          .. and merged. From now on, the Assets folder will also be copied during installation/update.

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