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 107.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.
    • M
      mechafatnick @DTEAM
      last edited by

      @dteam let me know how you get on! 😁 I've already added a couple of options for underclocking and got a couple of titles running better.

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

        @mechafatnick
        I know, what you have done work very well. Honnestly, It's awesome! That's why I would like to continue to use it. Can you provide a link with what you have done, but not compiled with Makefiles. I would like to get what you have done but modify inputs.cpp

        like this :

        uiExit             = AddSwitchInput("UIExit",             "Exit UI",               GAME_INPUT_UI, "KEY_ESCAPE,JOY1_BUTTON1+JOY1_BUTTON10");
        

        or

        uiExit             = AddSwitchInput("UIExit",             "Exit UI",               GAME_INPUT_UI, "JOY1_BUTTON1+JOY1_BUTTON10");
        

        and after that use Makefiles

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

          Controls
          @dteam Yep that'll work, but why stop there? If you change the system controls to common controls you can map all of them in supermodel.ini. This morning I edited inputs.cpp to comment out the lines corresponding to exit/pause/screenshot/save states and then add these lines to the common controls section :

          uiExit             = AddSwitchInput("UIExit",   "Exit UI",   Game::INPUT_COMMON, "NONE");
          uiPause            = AddSwitchInput("UIPause",  "Pause",     Game::INPUT_COMMON, "NONE");
          uiScreenshot       = AddSwitchInput("UIScreenShot",	 "Screenshot", Game::INPUT_COMMON, "NONE");
          uiSaveState        = AddSwitchInput("UISaveState",   "Save State",    Game::INPUT_COMMON, "NONE");
          uiLoadState        = AddSwitchInput("UILoadState",   "Load State",    Game::INPUT_UI, "NONE");
          

          Build it (you can follow the instructions in the video) You can then map all these functions in supermodel.ini:

          InputUIExit = KEY_ESCAPE,JOY1_BUTTON10+JOY1_BUTTON9
          InputUIPause = JOY1_BUTTON9+JOY1_BUTTON1
          InputUIScreenShot =  JOY1_BUTTON9+JOY1_BUTTON5
          InputUISaveState = JOY1_BUTTON9+JOY1_BUTTON7
          InputUILoadState = JOY1_BUTTON9+JOY1_BUTTON8
          

          Save states wont work for me, but the rest work a treat :D

          Performance
          In terms of performance, i originally completely the section about underclocking the PPC. When running games, the real CPU is occasionally idle while its waiting for memory transfers to happen, so why waste our precious PI resources emulating a CPU that isn't doing anything? Underclocking the CPU frees up Pi resources to run the rest of the emulation better, but underclocking it too far means that our emulated CPU can no longer run the game (in virtual fighter 3, for example, i had Kage literally come apart at the seams :D)

          What i did was edit /opt/retropie/configs/model3/emulators.cfg and clone the entry multiple times, with different clock rates from 48-25. This allows us to find the optimum for any given game and save it as that rom's custom emulator in emulation station:

          Supermodel-normal = "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel -game-xml-file=/opt/retropie/emulators/supermodel/bin/Config/Games.xml -legacy3d -sound-volume=50 -music-volume=60 -no-vsync -no-throttle -no-dsb -res=496,384 %ROM%"
          Supermodel-45-hz-PPC-Underclock = "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel -game-xml-file=/opt/retropie/emulators/supermodel/bin/Config/Games.xml -ppc-frequency=45 -legacy3d -sound-volume=50 -music-volume=60 -no-vsync -no-throttle -no-dsb -res=496,384 %ROM%"
          Supermodel-48-hz-PPC-Underclock = "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel -game-xml-file=/opt/retropie/emulators/supermodel/bin/Config/Games.xml -ppc-frequency=48 -legacy3d -sound-volume=50 -music-volume=60 -no-vsync -no-throttle -no-dsb -res=496,384 %ROM%"
          Supermodel-40-hz-PPC-Underclock = "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel -game-xml-file=/opt/retropie/emulators/supermodel/bin/Config/Games.xml -ppc-frequency=40 -legacy3d -sound-volume=50 -music-volume=60 -no-vsync -no-throttle -no-dsb -res=496,384 %ROM%"
          Supermodel-35-hz-PPC-Underclock = "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel -game-xml-file=/opt/retropie/emulators/supermodel/bin/Config/Games.xml -ppc-frequency=35 -legacy3d -sound-volume=50 -music-volume=60 -no-vsync -no-throttle -no-dsb -res=496,384 %ROM%"
          Supermodel-30-hz-PPC-Underclock = "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel -game-xml-file=/opt/retropie/emulators/supermodel/bin/Config/Games.xml -ppc-frequency=30 -legacy3d -sound-volume=50 -music-volume=60 -no-vsync -no-throttle -no-dsb -res=496,384 %ROM%"
          Supermodel-25-hz-PPC-Underclock = "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel -game-xml-file=/opt/retropie/emulators/supermodel/bin/Config/Games.xml -ppc-frequency=25 -legacy3d -sound-volume=50 -music-volume=60 -no-vsync -no-throttle -no-dsb -res=496,384 %ROM%"
          default = "Supermodel-45-hz-PPC-Underclock"
          
          DTEAMD 1 Reply Last reply Reply Quote 1
          • DTEAMD
            DTEAM @mechafatnick
            last edited by DTEAM

            @mechafatnick
            Awsome!! Is It updated on your download link? With what you have done, This could work like retroarch hotkeys. For savestate is It a folder problem? For Supermodel.ini, the emulator set control in the emulator folder but read in home/pi/Config that’s why I have use a symlink instead of a new supermodel.ini file (see my post about that above). For savestate it’s maybe the same. Maybe It create it in one place and read in another place.

            With dose changes, could it be on the official experimental list in retropie ?

            For the fullscreen problem, i’ll try to found a solution for that, but I’m not an expert for that 😁

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

              @dteam I didn't even think about the possibility of it actually ending up as an experimenal emulator. I just wanted to run some arcade-perfect VF3 :D

              I've amended the zips on my guide and also put my amends to the sourcecode up on github for anyone who's interested:
              https://github.com/Mechafatnick/SuperModelPi

              FollyF DTEAMD Red_TrevR 3 Replies Last reply Reply Quote 3
              • FollyF
                Folly @mechafatnick
                last edited by Folly

                @mechafatnick

                I followed you guides and installed it on my old x86 laptop, as I am on a holiday.
                (works slow, as aspected on my laptop, but now I know it can work !)

                Curious how this will indeed work on the pi4.

                Your quite far in "development" now.
                Are you going to try and make a module-script for it ?

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

                  @folly said in Sega model 3 #segamodel3:

                  Curious how this will indeed work on the pi4

                  It works very well on a Pi4. The games look a little bit like Naomi or Atomiswave with lr-Flycast.

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

                    @mechafatnick said in Sega model 3 #segamodel3:

                    @red_trev ahh remember you have two factors in play - the size of the screen the emulator is rendering and then the window the emulator is placed in in the pi.

                    It sounds like the emulator window is bigger as per the file but the actual window the emulator is being placed into isn't. You should be able to solve it by launching a game from emulation station, entering the configuration menu then changing the default video mode for super model (i use 87-46 myself.)

                    the one in /home/config is the one you need to edit. The arguments you feed to the editor will take priority so if you want to mess with the resolutions per game you'll need to dump those.

                    Remember though that the Pi is definitely not the optimum hardware for Model 3 emulation so i wouldn't push the resolution too far!

                    I have tried everything and cannot get it to display full screen via Emulation Station, it is still stuck in a small box & zoomed in to bottom left corner:

                    6918f943-825e-4331-90da-d56df1c4cb30-image.png

                    8d05b6ad-d1cf-4f17-a141-bc2d1d2d13e8-image.png

                    I have tried changing video modes in pre launch menu & Raspi Config menu itself but same result regardless of any change

                    cbcaf6d7-cc2d-41f4-a0bc-f3ec2cc77c29-image.png

                    When I open a game via cmd line without XINIT it does show fullscreen but with slowdown

                    Here is the contents of the emulators.cfg file:

                    supermodelHighRes = "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 -no-dsb -res=1024,755 %ROM%"

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

                      @mechafatnick

                      Hi

                      When i'm using your old /opt/retropie/emulators/supermodel/bin/supermodel, It run well, but when I run your new file. I get this message in Supermodel.log

                      [Error] OpenGL initialization failed: Unknown error
                      
                      [Info]  Program terminated due to an error.
                      

                      and in shm/runcommand.log this message

                      Executing (via xinit): /opt/retropie/emulators/supermodel/bin/supermodel -game-xml-file=/opt/retropie/emulators/supermodel/bin/Config/Games.xml -legacy3d -sound-volume=50 -music-volume=60 -no-vsync -no-throttle -no-dsb -res=496,384 /home/pi/RetroPie/roms/model3/spikeout.zip
                      
                      /opt/retropie/emulators/supermodel/bin/supermodel: error while loading shared libraries: libSDL2_net-2.0.so.0: cannot open shared object file: No such file or directory
                      xinit: connection to X server lost
                      
                      waiting for X server to shut down (II) Server terminated successfully (0). Closing log file.
                      

                      Could it be your new changes with R3DShaderTriangles.h?

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

                        @red_trev What video mode is 52-20, sorry?

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

                          @dteam That's surprising! try:

                          sudo apt-get install libsdl2-net-dev

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

                            @mechafatnick 1024x768

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

                              @mechafatnick said in Sega model 3 #segamodel3:

                              sudo apt-get install libsdl2-net-dev

                              It works with that. Thanks.
                              UI buttons settings work also with gamepads !!! Fantastic

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

                                @red_trev what happens when you ditch xinit and lower the emulator Res to 496 *384?

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

                                  @mechafatnick said in Sega model 3 #segamodel3:

                                  @red_trev what happens when you ditch xinit and lower the emulator Res to 496 *384?

                                  via command line it opens in a small window, should I try that via emulators.cfg ?

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

                                    @red_trev yeah lower the resolution in emulators.cfg, keep it for run command :)

                                    Red_TrevR DTEAMD 2 Replies Last reply Reply Quote 0
                                    • Red_TrevR
                                      Red_Trev @mechafatnick
                                      last edited by Red_Trev

                                      @mechafatnick said in Sega model 3 #segamodel3:

                                      @red_trev yeah lower the resolution in emulators.cfg, keep it for run command :)

                                      but the whole point is not playing in a box a quarter of the screen size... is there any method to remove this limitation? I can see the video is increased but it's focused on bottom left corner, why is it doing this? is it XINIT causing it ?

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

                                        @mechafatnick

                                        Hi ,

                                        I'm able to save games but doesn't able to load them with this symlink:

                                        ln -s /opt/retropie/emulators/supermodel/bin/Saves Saves
                                        

                                        I don't know why for now.

                                        For screen view, in Supermodel.log you can see more options

                                        XResolution=496
                                        YResolution=384
                                        FullScreen=0
                                        WideScreen=0
                                        Stretch=0
                                        WideBackground=0
                                        

                                        I'll try those later

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

                                          @Red_Trev @mechafatnick

                                          For full screen ... I did It !!!!!

                                          1- you have to delete -res=496,384 and replace that by nothing. All the video settings must be done in Supermodel.ini

                                          Supermodel-normal = "XINIT:/opt/retropie/emulators/supermodel/bin/supermodel -game-xml-file=/opt/retropie/emulators/supermodel/bin/Config/Games.xml -legacy3d -sound-volume=50 -music-volume=60 -no-vsync -no-throttle -no-dsb -res=496,384 %ROM%"
                                          

                                          2 - Go in Supermodel.ini and add :

                                          XResolution=496
                                          YResolution=384
                                          FullScreen=0
                                          WideScreen=0
                                          Stretch=0
                                          WideBackground=0
                                          

                                          3- Set you screen resolution like you want but never use FullScreen. You can use WideScreen, Strech or WideBackGround. With Full Screen, hotkeys stop working.

                                          Mine (5 inch screen)

                                          ;setup for 5 inch lcd touchscreen 
                                          ;XResolution=496
                                          ;YResolution=384
                                          XResolution=800  
                                          YResolution=480
                                          FullScreen=0
                                          WideScreen=1
                                          Stretch=0
                                          WideBackground=0
                                          

                                          It slowdown the emulator a little bit, but not that bad.

                                          The only missing thing is loadstate. After that It's complete for me!! Nice emulator

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

                                            @red_trev said in Sega model 3 #segamodel3:

                                            @mechafatnick thanks , ill give that a go later ....

                                            i have tried modifying the arcade 'emulators.cfg' to

                                            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 -no-dsb -res=1024,768 -fullscreen %ROM%"

                                            when i launched a game, it had the same small video box in the center of the screen, the actual game picture seemed to be bigger but it was zoomed into the bottom left corner (and my controls stopped working)

                                            is there anyway of preventing the output from being displayed like this ?

                                            a953fcc6-7646-41bb-8d34-c06791d69c3a-image.png

                                            also there is a method of setting resolution on a per game or global level via the Supermodel.ini file (https://www.supermodel3.com/AdvancedUsage.html#ConfigFile)

                                            as this file appears in 3 places (config, bin, pi/home/config), i assume the same modified file must be placed in each place ?

                                            and even then, how would the values in 'emulators.cfg' affect it ? which set of instructions take precedence ?

                                            thanks again !

                                            @DTEAM well done !! so I was thinking correctly with this ;) again , Supermodel.ini file appears in 3 places, do I have to update all of them ?

                                            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.