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

    Sega model 3 #segamodel3

    Scheduled Pinned Locked Moved Ideas and Development
    sega model 3supermodel
    304 Posts 23 Posters 93.1k 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 @mechafatnick
      last edited by Folly

      @mechafatnick

      Can you remove this from the Supermodel.ini ? :

      GameXMLFile= /opt/retropie/emulators/supermodel/bin/Config/Games.xml
      

      My module-script places the emulator files in :
      /opt/retropie/emulators/supermodel-mechafatnick

      I have done this to prevent the mix-up with manual installs that otherwise will brake.
      As I use pushd in the runcommand-line it will automatically find the XML file without the need of putting it in the ini file or as an option in the runcommand-line.
      With above line still added in ini file , then the emulator will not find the XML because it will search in the wrong directory.

      M 1 Reply Last reply Reply Quote 0
      • M
        mechafatnick @Folly
        last edited by

        @folly Done! I suspect the couple of save states will have to be changed too then.

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

          @mechafatnick said in Sega model 3 #segamodel3:

          @folly Done! I suspect the couple of save states will have to be changed too then.

          Yes, indeed I saw that.

          We have to decide whether we put them in the runcommand-line or in the ini.

          If I put it in the runcommand-line the source code is still, sort of, compatible with a manual install and people can add just .st files without editing the ini file.

          If you think we should prefer to put it in the ini file, just let me know.

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

            @mechafatnick @DTEAM

            I did some minor fixes.
            Basically, the module-script should work now.

            1 Reply Last reply Reply Quote 0
            • M
              mechafatnick @Folly
              last edited by

              @folly Oh definitely definitely the ini method! If you check the game-specific settings i set up lastnight/this morning there's a much wider margin than i originally anticipated - particularly as some games need the PPC to be run above 60hz.

              From a user point of view i think it would be much better for us to work our what works in advance and the user just switch between normal/high res modes in the command line.

              We could even include an ini file set to run everything using the new 3d engine and at full speed if someone in the future wants to build/run under windows

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

                @mechafatnick

                Sounds good.

                Just found we can use relative paths in the Supermodel.ini.

                Turn this :

                InitStateFile = /opt/retropie/emulators/supermodel/bin/Saves/srally2.st
                

                Into this :

                InitStateFile = Saves/srally2.st
                

                And we are way more flexible as where we will put the emulator files.

                I think you could even do that for all games.
                Whether there is a save state or not, I think it will always boot, with or without save file.

                Agreed ?

                I can then remove the options from the runcommand-lines.
                Now that all the games get their own configs I presume I can also remove the under-clock lines, just keeping only 1 runcommand-line.
                Am I right ?

                M 1 Reply Last reply Reply Quote 0
                • M
                  mechafatnick @Folly
                  last edited by

                  @folly

                  Yep! we can have one:

                  Supermodel = "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel %ROM%"
                  

                  Or a couple with different res options? (with the resolution specified in the command line - thats how the N64 emus do it.

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

                    @mechafatnick

                    Thats ok.

                    I will look at it tomorrow.

                    Edit: No time today i will have to postpone it a day.

                    1 Reply Last reply Reply Quote 0
                    • Red_TrevR
                      Red_Trev @mechafatnick
                      last edited by

                      @mechafatnick said in Sega model 3 #segamodel3:

                      @folly WIll people want to skip the initial boot sequence? That might be part of the fun. Hmm.

                      I've been thinking about your approach of putting everything into the ini and i think this is the right approach. Going forward I think we should:

                      -have two ( or three?) options in emulator.cfg:

                      supermodel (which will be at native res)
                      supermodel high-res (800 x 600)
                      supermodel very high-res (1024 x 768)

                      Then, we can handle the settings for the individual games in supermodel.ini (so whether to enable the DSB, how far to underclock CPU.) That way we'll have optimal settings for each game without the user having to alter anything. Sound good? I've made sections for each game in the ini file. I think i might be developing carpel tunnel...

                      EDIT: Ok! We can all chip in!

                      Add these lines to the global section of supermodel.ini (under your controls:)

                      ;Our non input settings...
                      EmulateDSB = 0
                      MusicVolume = 60
                      SoundVolume = 60
                      Stretch=1
                      VSync=0
                      Throttle=0
                      GameXMLFile= /opt/retropie/emulators/supermodel/bin/Config/Games.xml
                      New3DEngine=0
                      

                      now, in emulators.cfg we only need to set the res in the command line (if you want to have different options)

                      Supermodel = "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel %ROM%"
                      

                      Now all we need to do, as a group, is come up with the optimal settings for each game as a group. I've made a start below (copy this into supermodel.ini - below the global section)

                      ;daytona 2 power edition
                          [ dayto2pe ]
                      ;daytona 2: battle to the edge
                          [ daytona2 ]
                        ;Dirt Devils (Export, Revision A)  
                      	[dirtdvls]
                      ;Dirt Devils (Australia, Revision A)
                          [ dirtdvlsa ]
                      ;Dirt Devils (German)
                          [ dirtdvlsg ]       
                      ;Dirt Devils (Japan, Revision A)  
                      	[ dirtdvlsj ]
                      ;Emergency Call Ambulance (Export)
                          [ eca       ]
                      ;Emergency Call Ambulance (Japan)	
                          [ ecaj      ]
                      ;Emergency Call Ambulance (US location test?)	
                          [ ecap      ]
                      ;Emergency Call Ambulance (USA)	
                          [ ecau      ]
                      ;Fighting Vipers 2 (Japan, Revision A)	
                          [ fvipers2 ]  
                      ;Fighting Vipers 2 (?)    
                          [ fvipers2o ]
                      ;Get Bass (?)    
                          [ getbass ]
                      ;Harley-Davidson and L.A. Riders (Revision B)	
                          [ harley ] 
                      ;Harley-Davidson and L.A. Riders (Revision A)   
                          [ harleya ]
                      ;L.A. Machineguns: Rage of the Machines (Japan)    
                          [ lamachin ] 
                      ;Le Mans 24 (Revision B)	
                          [ lemans24 ]
                       ;The Lost World (Japan, Revision A)   
                          [ lostwsga ]
                      ;The Lost World (Original Revision)	
                          [ lostwsgo ]
                      PowerPCFrequency = 30
                      ;Magical Truck Adventure (Japan)    
                          [ magtruck ]
                      ;The Ocean Hunter (?)   
                          [ oceanhun ]
                      ;Scud Race (Australia, Twin)	
                          [ scud ]
                      PowerPCFrequency = 35
                      MusicVolume = 200
                      EmulateDSB = 1
                      ;Scud Race (Export, Twin)	
                          [ scuda ]
                      PowerPCFrequency = 35
                      MusicVolume = 200
                      EmulateDSB = 1
                      ;Scud Race (Japan, Deluxe)	
                          [ scudj ]
                      PowerPCFrequency = 35
                      MusicVolume = 200
                      EmulateDSB = 1
                      ;Scud Race Plus (Revision A)	
                          [ scudplus ]
                      PowerPCFrequency = 35
                      MusicVolume = 200
                      EmulateDSB = 1
                      ;Scud Race Plus (?)  
                          [ scudplusa ]
                      PowerPCFrequency = 35
                      MusicVolume = 200
                      EmulateDSB = 1
                      ;Ski Champ (Japan)	
                          [ skichamp  ]
                      ;Spikeout Final Edition (?) - too slow on pi	
                          [ spikeofe  ]
                      PowerPCFrequency = 45
                      EmulateDSB = 1
                      ;Spikeout (Revision C)	
                          [ spikeout  ]
                      PowerPCFrequency = 35
                      EmulateDSB = 1
                      ;Sega Rally 2 (?)	
                          [ srally2   ] 
                      ;Sega Rally 2 (Prototype)	
                          [ srally2p  ]
                      ;Sega Rally 2 (Prototype Version A)
                          [ srally2pa ]
                      ;Sega Rally 2 (Deluxe)	
                          [ srally2x  ]
                      ;Star Wars Trilogy Arcade (Revision A)
                          [ swtrilgy  ]
                      ;Star Wars Trilogy Arcade (?)	-not working on pi
                          [ swtrilgya ]
                      ;Star Wars Trilogy Arcade (?)   -not working on pi
                          [ swtrilgyp ]
                      ;Virtua Fighter 3 (Revision D)
                          [ vf3       ]
                      PowerPCFrequency = 40
                      ;Virtua Fighter 3 (Revision A)	
                          [ vf3a      ]
                      PowerPCFrequency = 40
                      ;Virtua Fighter 3 (Revision C)
                          [ vf3c      ]
                      PowerPCFrequency = 40	
                      ;Virtua Fighter 3 Team Battle (?)	
                          [ vf3tb     ]
                      PowerPCFrequency = 40
                      ;Virtual On 2: Oratorio Tangram (Revision B)
                          [ von2      ]
                      PowerPCFrequency = 30
                      ;Virtual On 2: Oratorio Tangram (Ver 5.4g)	
                          [ von254g   ]
                      PowerPCFrequency = 30
                      ;Virtual On 2: Oratorio Tangram (Revision A)	
                          [ von2a     ]
                      PowerPCFrequency = 30
                      ;Virtual On 2: Oratorio Tangram (?)	
                          [ von2o     ]
                      PowerPCFrequency = 35
                      ;Virtua Striker 2 (Step 2.0) - no special settings    
                          [ vs2       ]
                      ;Virtua Striker 2 (Step 1.5) -  no special settings 
                          [ vs215     ]
                      ;Virtua Striker 2 (Step 1.5, older) -  no special settings 	
                          [ vs215o    ]
                      ;Virtua Striker 2 '98 (Step 2.0) -  no special settings 	
                          [ vs298     ]
                      ;Virtua Striker 2 '98 (Step 1.5) - no special settings 
                          [ vs29815   ]     
                      ;Virtua Striker 2 '99 (?)	
                          [ vs299     ]
                      ;Virtua Striker 2 '99 (Step 1.5)	
                          [ vs29915   ] 
                      ;Virtua Striker 2 '99 (Revision A)    
                          [ vs299a    ]
                      ;Virtua Striker 2 '99 (Revision B)	
                          [ vs299b    ]
                      ;Virtua Striker 2 '99.1 (Revision B)	
                          [ vs2v991   ]      
                      

                      I'm gathering initialised nv ram too :D

                      @mechafatnick can you please confirm what hardware you are testing these settings on ?

                      I have a raspberry Pi 4b 8GB, and have abandoned full screen mode. The graphics do emulate near perfect but the game play is way too slow, maybe 5 times slower.

                      I have reduced the screen size to 768 x 576 and have better results while tweaking the PowerPCFrequency up 5 points at a time from 50, though I see you have recommended going down a few ticks.

                      Havent had time to do much testing yet but the Lost World runs very impressively with the following:

                      [ Global ]

                      XResolution=768
                      YResolution=576
                      FullScreen=0
                      WideScreen=1
                      Stretch=0
                      WideBackground=0
                      EmulateNet = 0

                      supermodel= "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel -game-xml-file=/opt/retropie/emulators/supermodel/bin/Config/Games.xml -legacy3d -sound-volume=50 -music-volume=80 -no-vsync -no-throttle -ppc-frequency=65 -no-dsb %ROM%"

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        mechafatnick @Red_Trev
                        last edited by

                        @red_trev
                        Hello!

                        Just a normal 4gb pi4, overclocked slightly (up to 1900 i think)?

                        I think you're probably making it do too much work by changing the resolution. I don't think the Pi has enough grunt for the emulator to draw a screen bigger than the Model 3's native 496 x 384. Render at this resolution and stretch it. It still looks good :D

                        When it comes to overclocking/underclocking the CPU, its definitely worth going by a game-game basis. The original revision had the CPU clocked at 66gz, while the later revisions had it clocked at 166hz, so later games will probably need it clocked above Supermodel's defaults to work their best. I think the factors in play are:

                        -Different games use the cpu differently. If you emulate all 66hz for games that are barely using the cpu you're wasting your Pi's resources emulating CPU cycles that are basically idle.

                        -overclocking the virtual CPU makes the game run smoother in the virtual world, but increases the load on the Pi. Though your virtual cpu in the emulator probably thinks its speeding along at 60fps, the game you're seeing on screen is chugging because the pi doesn't have the resources to keep up with the speed of the virtual CPU

                        -Underclocking the virtualCPU makes the emulator run smoothly by freeing the pi's resources, but if we take it too far our virtual model 3 isn't quick enough to runt he game and will experience issues. A good example of this is to underclock Virtual Fighter 3 down to 30 and watch as the characters literally come apart at the seams :D

                        so basically we just need to experiement a bit. I think i have most of these to the point where they're as good as they can be, but its worth experimenting.

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

                          @mechafatnick @DTEAM

                          It will take a bit longer for me to make the module-script better.
                          There is an issue with moving the NVRAM and Saves directory.
                          If these directories already exists in the rom directory the source files are not moved and then a link is nested inside the directories.
                          I will have to find a good solution for that.

                          To be continued.....

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

                            @mechafatnick @DTEAM

                            I think I have fixed the issues.

                            I have chosen to update all the files from the source.
                            So we can see how the fixes in the source evolve.

                            The Supermodel.ini will be backed-up to Supermodel.ini.old when installing or updating.

                            I removed the old runcommand-lines and added 3 different resolution lines without extra options as the are now in the ini.

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

                              @folly
                              Should I copy paste the new script from Github or I can update it from source in the blue menu in Retropie (I already installed your first version of the script)

                              New edit: I copied pasted it from Github. What's the difference between supermodel-mechafatnick.sh and supermodel-svn.sh?

                              Your new supermodel-mechafatnick.sh works well!!!

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

                                @dteam

                                Great !

                                No problems with the menu anymore ?

                                The svn version is a version that is created from the pure source from sourceforge.
                                It patches some files on the fly so it will compile on rpi.
                                I created it just before we got the github link from @mechafatnick .

                                It's a bit obsolete but for now, I keep it in there, you never know.

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

                                  @folly @mechafatnick
                                  No problem with the menu.

                                  Just one question. When you are playing a racing game and you are in the options menu at the start. Do you have a problem with the sensitivity or the auto-center when choosing your car or your race track? In the game itself it's good but in the menu it's different. Is there an auto-centering option "enabled" on it?

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

                                    @dteam

                                    What game are you referring too ?

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

                                      @folly
                                      Scud

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        mechafatnick @DTEAM
                                        last edited by mechafatnick

                                        @Folly Great work! Well done! that's tremendous stuff. Now we can bring Model 3 emulation to the masses.

                                        @dteam
                                        Picking stuff is a bit tricky because its intended for the full rotation of a sterring wheel :) you can try messing with your deadzone/saturation if you want. That might help:
                                        add to the ini and play with the numbers (saturation reduced the far end of motion of your stick)
                                        InputJoy[controller number]XDeadzone
                                        InputJoy[controller number]YDeadzone
                                        InputJoy[controller number]XSaturation
                                        InputJoy[controller number]YSaturation

                                        All controls have to go into the GLOBAL section. Some games let you configure the controls from the test menu too.

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

                                          @mechafatnick
                                          What is the range for deadzone or sensitivity (1-100?)

                                          Some games let you configure the controls from the test menu too.

                                          I'll try that also

                                          That might help:

                                          add to the ini and play with the numbers (saturation reduced the far end of motion of your stick)

                                          InputJoy[controller number]XDeadzone

                                          InputJoy[controller number]YDeadzone

                                          InputJoy[controller number]XSaturation

                                          InputJoy[controller number]YSaturation

                                          This is a great idea

                                          Now we can bring Model 3 emulation to the masses.

                                          They create 3 new logos for New Comic Book Theme Thanks to @MrSeven The first one seems to be the chosen one alt text
                                          alt text
                                          alt text

                                          NEW EDIT:I found this for Keyboard and mouse here . For Joystick they use none. I suppose I have to replace NONE by your lines? I'll try It and give you news about the performance of those settings. thanks again

                                          Input System Settings

                                          Input System: DirectInput

                                          Keyboards:
                                          System Keyboard
                                          Mice:
                                          System Mouse
                                          Joysticks:
                                          None

                                          Common Keyboard Settings:
                                          Sensitivity = 25 %
                                          Decay Speed = 50 %
                                          Common Mouse Settings:
                                          X-Axis Dead Zone = 0 %
                                          Y-Axis Dead Zone = 0 %
                                          Z-Axis Dead Zone = 0 %

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

                                            @dteam

                                            You mean, for pasting inside the Supermodel.ini then it should be something like this :

                                            ; Common Keyboard Settings:
                                            Sensitivity = 25 %
                                            Decay Speed = 50 %
                                            ; Common Mouse Settings:
                                            X-Axis Dead Zone = 0 %
                                            Y-Axis Dead Zone = 0 %
                                            Z-Axis Dead Zone = 0 %
                                            
                                            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.