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.4k 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.
    • DTEAMD
      DTEAM @mechafatnick
      last edited by DTEAM

      @mechafatnick
      In the original open source Supermodel_0.2a_Src, they give a Makefile.SDL.UNIX.GCC and we can see in Supermodel_0.2a_Src\Src\Inputs\Inputs.cpp a split between UI keys and configurables keys for Supermodel.ini

      Do you think It's hard to add UI Controls "settable" in Supermodel.ini . So we could use the keyboard shortcuts (hotkeys) on the gamepads and close the emulator from a gamepad.

      UI Controls -----> Inputs.cpp only usable with keyboard for now

      using namespace std;
      
      CInputs::CInputs(CInputSystem *system) : m_system(system)
      {
      	// UI controls are hard coded here, everything else is initialized to NONE so that it can be loaded from
      	// the config file.
      	
      	// UI Controls  
      	uiExit             = AddSwitchInput("UIExit",             "Exit UI",               GAME_INPUT_UI, "KEY_ESCAPE");
      	uiReset            = AddSwitchInput("UIReset",            "Reset",                 GAME_INPUT_UI, "KEY_ALT+KEY_R");
      	uiPause            = AddSwitchInput("UIPause",            "Pause",                 GAME_INPUT_UI, "KEY_ALT+KEY_P");
      	uiSaveState        = AddSwitchInput("UISaveState",        "Save State",            GAME_INPUT_UI, "KEY_F5");
      	uiChangeSlot       = AddSwitchInput("UIChangeSlot",       "Change Save Slot",      GAME_INPUT_UI, "KEY_F6");
      	uiLoadState        = AddSwitchInput("UILoadState",        "Load State",            GAME_INPUT_UI, "KEY_F7");
      	uiMusicVolUp	   = AddSwitchInput("UIMusicVolUp",		  "Increase Music Volume", GAME_INPUT_UI, "KEY_F10");
      	uiMusicVolDown	   = AddSwitchInput("UIMusicVolDown",	  "Decrease Music Volume", GAME_INPUT_UI, "KEY_F9");
      	uiSoundVolUp	   = AddSwitchInput("UISoundVolUp",		  "Increase Sound Volume", GAME_INPUT_UI, "KEY_F12");
      	uiSoundVolDown	   = AddSwitchInput("UISoundVolDown",	  "Decrease Sound Volume", GAME_INPUT_UI, "KEY_F11");
      	uiDumpInpState     = AddSwitchInput("UIDumpInputState",   "Dump Input State",      GAME_INPUT_UI, "NONE");	// disabled for release
      	uiClearNVRAM       = AddSwitchInput("UIClearNVRAM",       "Clear NVRAM",           GAME_INPUT_UI, "KEY_ALT+KEY_N");
      	uiSelectCrosshairs = AddSwitchInput("UISelectCrosshairs", "Select Crosshairs",     GAME_INPUT_UI, "KEY_ALT+KEY_I");
      	uiToggleFrLimit    = AddSwitchInput("UIToggleFrameLimit", "Toggle Frame Limiting", GAME_INPUT_UI, "KEY_ALT+KEY_T");
      #ifdef SUPERMODEL_DEBUGGER
      	uiEnterDebugger    = AddSwitchInput("UIEnterDebugger",    "Enter Debugger",        GAME_INPUT_UI, "KEY_ALT+KEY_B");
      #endif
      

      Also in Inputs.cpp and settable in Supermodel.ini (partial view)

      	// Common Controls
      	start[0]           = AddSwitchInput("Start1",   "P1 Start",  GAME_INPUT_COMMON, "NONE");
      	start[1]           = AddSwitchInput("Start2",   "P2 Start",  GAME_INPUT_COMMON, "NONE");
      	coin[0]            = AddSwitchInput("Coin1",    "P1 Coin",   GAME_INPUT_COMMON, "NONE");
      	coin[1]            = AddSwitchInput("Coin2",    "P2 Coin",   GAME_INPUT_COMMON, "NONE");
      	service[0]         = AddSwitchInput("ServiceA", "Service A", GAME_INPUT_COMMON, "NONE");
      
      1 Reply Last reply Reply Quote 1
      • Red_TrevR
        Red_Trev @mitu
        last edited by Red_Trev

        @mitu said in Sega model 3 #segamodel3:

        @red_trev said in Sega model 3 #segamodel3:

        error says : "Temporary failure resolving 'raspbian.raspberrypi.org'"

        This looks like an interrupted network connection. Run sudo apt update before and make sure it completes, then try installing the package(s) again.

        thanks , I have tried update / upgrade, then install Xorg / xinit and the same issue arose .... missing files on the 'raspbian.raspberrypi.org' , which i confirmed by navigating via web browser & searching the folder structure.

        is there any other way of installing Xorg / xinit, or should I chase up raspbian themselves & ask for the missing files to be re-uploaded ?

        i see a similar file name (xterm_344-1+deb10u1_armhf.deb ) in this website: http://archive.raspbian.org/raspbian/pool/main/x/xterm/

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

          @red_trev said in Sega model 3 #segamodel3:

          thanks , I have tried update / upgrade, then install Xorg / xinit and the same issue arose .... missing files on the 'raspbian.raspberrypi.org' , which i confirmed by navigating via web browser & searching the folder structure.

          The problem is on your end - your internet connection is not working correctly (DNS issues ?), the necessary file(s) are there, in the Raspberry Pi's repository.
          Is a simple ping to raspbian.raspberrypi.org working ? Do you have any proxy set-up ?

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

            @mitu said in Sega model 3 #segamodel3:

            @red_trev said in Sega model 3 #segamodel3:

            thanks , I have tried update / upgrade, then install Xorg / xinit and the same issue arose .... missing files on the 'raspbian.raspberrypi.org' , which i confirmed by navigating via web browser & searching the folder structure.

            The problem is on your end - your internet connection is not working correctly (DNS issues ?), the necessary file(s) are there, in the Raspberry Pi's repository.
            Is a simple ping to raspbian.raspberrypi.org working ? Do you have any proxy set-up ?

            fixed it ! .... thought it might be SSH interfering with it, so went to turn it OFF via Raspi-Config, when i clicked that menu option the below happened automatically:

            1fbbc27d-87ef-482c-b3a8-371d9f8d96f7-image.png

            when done, i turned off SSH, was able to install Xorg no problem via cmd line, rebooted system, Supermodel worked perfect

            moral of the story is to update the underlying OS every-so often ! thanks for your help ;)

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

              @dteam what is button 5 & 6 on the keyboard / game pad ?

              62e68f97-6e61-4789-aafc-a46303d29db4-image.png

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

                @mechafatnick regarding your recommened edits to the ’emulators.cfg’ file in /opt/retropie/configs/arcade

                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=60 -no-vsync -no-throttle -no-dsb -res=496,384 %ROM%"

                i assume these are command line arguments specified here:
                https://www.supermodel3.com/Usage.html
                (e.g.) To run at 1024x768 in full screen, type:
                supermodel scud.zip -res=1024,768 -fullscreen

                There is also an option to tweak these in the ConfigFile itself:
                https://www.supermodel3.com/AdvancedUsage.html#ConfigFile

                It will be trial & error to get the sweet spot for my own hardware & display, so is there a method to launch a game from the command line with a few different combos ?

                and then, should i update the ’emulators.cfg’ file , the ConfigFile, or both, with my new settings values ?

                thanks in advance !

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

                  @red_trev

                  You have to set your gamepad before with:

                  cd /opt/retropie/emulators/supermodel/bin
                  ./supermodel -config-inputs
                  

                  If you go in your Supermodel.ini , you will see your default settings for Keyboard.

                  like (partial view Supermodel.ini) :

                  ; Common 
                  InputStart1 = "KEY_1,JOY1_BUTTON9"
                  InputStart2 = "KEY_2,JOY2_BUTTON9"
                  InputCoin1 = "KEY_3,JOY1_BUTTON10"
                  InputCoin2 = "KEY_4,JOY2_BUTTON10"
                  InputServiceA = "KEY_5"
                  InputServiceB = "KEY_7"
                  InputTestA = "KEY_6"
                  InputTestB = "KEY_8"
                  
                  Red_TrevR 1 Reply Last reply Reply Quote 0
                  • Red_TrevR
                    Red_Trev @DTEAM
                    last edited by

                    @dteam said in Sega model 3 #segamodel3:

                    @red_trev

                    You have to set your gamepad before with:

                    cd /opt/retropie/emulators/supermodel/bin
                    ./supermodel -config-inputs
                    

                    If you go in your Supermodel.ini , you will see your default settings for Keyboard.

                    like (partial view Supermodel.ini) :

                    ; Common 
                    InputStart1 = "KEY_1,JOY1_BUTTON9"
                    InputStart2 = "KEY_2,JOY2_BUTTON9"
                    InputCoin1 = "KEY_3,JOY1_BUTTON10"
                    InputCoin2 = "KEY_4,JOY2_BUTTON10"
                    InputServiceA = "KEY_5"
                    InputServiceB = "KEY_7"
                    InputTestA = "KEY_6"
                    InputTestB = "KEY_8"
                    

                    have you tried the Xbox controller option described here ?
                    https://www.supermodel3.com/AdvancedUsage.html#ConfigFile

                    d7ef0a5b-6706-4803-8aa9-0f56cc6dea8c-image.png

                    5c3e6daa-c708-4d2d-912a-598ca301bd03-image.png

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

                      @red_trev

                      When you set your controller, it sets your Supermodel.ini located in /opt/retropie/emulators/supermodel/bin/Config

                      When It's done, you have to copy that file to /home/pi/Config or create a symbolic link with It :

                      mkdir  /home/pi/Config
                      ln -s /opt/retropie/emulators/supermodel/bin/Config/Supermodel.ini /home/pi/Config/Supermodel.ini
                      
                      

                      Even if you used the other method, Supermodel.ini will be configured.

                      @mechafatnick
                      in supermodel.ini, I've try this to exit (where JOY1_BUTTON15 is my R3 button):

                      InputUIExit = JOY1_BUTTON15
                      

                      But it doesn't work

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

                        The command begin XINIT is just that - a command. You could quit out of ES and launch it by copying and pasting it into the command prompt.

                        I'm not sure if you could go much bigger than that, mind you. i used 496 x 384 because it's the native resolution of the M3 hardware.

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

                          @dteam Yeah I think you'd were on the right track with diddling with the inputs in the source code.

                          However, I suspect they're hardcoded for the moment because they break something if you mess with them. There is a Supermodel forum and they seem friendly enough. It might be worth asking there.

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

                            @mechafatnick

                            That's fine if they hardcoded that for the keyboard, but they should offer the option to set It in supermodel.ini for the gamepad, in parallel like the rest. That would be really great

                            everything is already in Inputs.cpp to do that

                            using namespace std;
                            
                            CInputs::CInputs(CInputSystem *system) : m_system(system)
                            {
                            	// UI controls are hard coded here, everything else is initialized to NONE so that it can be loaded from
                            	// the config file.
                            	
                            	// UI Controls  
                            	uiExit             = AddSwitchInput("UIExit",             "Exit UI",               GAME_INPUT_UI, "KEY_ESCAPE");
                            	uiReset            = AddSwitchInput("UIReset",            "Reset",                 GAME_INPUT_UI, "KEY_ALT+KEY_R");
                            	uiPause            = AddSwitchInput("UIPause",            "Pause",                 GAME_INPUT_UI, "KEY_ALT+KEY_P");
                            	uiSaveState        = AddSwitchInput("UISaveState",        "Save State",            GAME_INPUT_UI, "KEY_F5");
                            	uiChangeSlot       = AddSwitchInput("UIChangeSlot",       "Change Save Slot",      GAME_INPUT_UI, "KEY_F6");
                            	uiLoadState        = AddSwitchInput("UILoadState",        "Load State",            GAME_INPUT_UI, "KEY_F7");
                            	uiMusicVolUp	   = AddSwitchInput("UIMusicVolUp",		  "Increase Music Volume", GAME_INPUT_UI, "KEY_F10");
                            	uiMusicVolDown	   = AddSwitchInput("UIMusicVolDown",	  "Decrease Music Volume", GAME_INPUT_UI, "KEY_F9");
                            	uiSoundVolUp	   = AddSwitchInput("UISoundVolUp",		  "Increase Sound Volume", GAME_INPUT_UI, "KEY_F12");
                            	uiSoundVolDown	   = AddSwitchInput("UISoundVolDown",	  "Decrease Sound Volume", GAME_INPUT_UI, "KEY_F11");
                            	uiDumpInpState     = AddSwitchInput("UIDumpInputState",   "Dump Input State",      GAME_INPUT_UI, "NONE");	// disabled for release
                            	uiClearNVRAM       = AddSwitchInput("UIClearNVRAM",       "Clear NVRAM",           GAME_INPUT_UI, "KEY_ALT+KEY_N");
                            	uiSelectCrosshairs = AddSwitchInput("UISelectCrosshairs", "Select Crosshairs",     GAME_INPUT_UI, "KEY_ALT+KEY_I");
                            	uiToggleFrLimit    = AddSwitchInput("UIToggleFrameLimit", "Toggle Frame Limiting", GAME_INPUT_UI, "KEY_ALT+KEY_T");
                            #ifdef SUPERMODEL_DEBUGGER
                            	uiEnterDebugger    = AddSwitchInput("UIEnterDebugger",    "Enter Debugger",        GAME_INPUT_UI, "KEY_ALT+KEY_B");
                            #endif
                            
                            1 Reply Last reply Reply Quote 0
                            • Red_TrevR
                              Red_Trev @mechafatnick
                              last edited by

                              @mechafatnick said in Sega model 3 #segamodel3:

                              The command begin XINIT is just that - a command. You could quit out of ES and launch it by copying and pasting it into the command prompt.

                              I'm not sure if you could go much bigger than that, mind you. i used 496 x 384 because it's the native resolution of the M3 hardware.

                              thanks ! one last question ... if i wanted to play this on retroarch, is it a matter of copying over the sane files u created or is it a whole new method ?

                              I have retroarch installed on my Xbox one S and the graphics performance boost it gives to Dreamcast / PSP is amazing . would love to get supermodel on it too !

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

                                @red_trev another method. Unfortunately this version is a Linux executable, so won't work on the Xbox. It looks like work was started on a Retroarch version but it doesn't seem to have gone anywhere.

                                I don't know if you could install the windows version if the Xbox is in Dev mode?

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

                                  @mechafatnick another option would be to convert the supermodel.exe to an app then load that in dev mode, though u would prob have to dev custom screens to input the options

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

                                    @mechafatnick said in Sega model 3 #segamodel3:

                                    The command begin XINIT is just that - a command. You could quit out of ES and launch it by copying and pasting it into the command prompt.

                                    I'm not sure if you could go much bigger than that, mind you. i used 496 x 384 because it's the native resolution of the M3 hardware.

                                    tried that but it threw an error:
                                    bash:XINIT:/opt/retropie/emulators/supermodel/bin/supermodel : no such file or directory

                                    even though I can navigate to that exact file via cmd line & have full rwxr permissions

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

                                      @red_trev That's weird! Maybe navigate to /opt/retropie/emulators/supermodel/bin/
                                      and xinit supermodel, without the rest of the directory structure

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

                                        @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 !

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

                                          @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!

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

                                            @mechafatnick i have had better luck with the cmd line ...

                                            I cd to
                                            /opt/retropie/emulators/supermodel/bin

                                            then ran the command
                                            ./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 fvipers2.zip

                                            which gave the following (poor screen shot)

                                            712e1a58-0f9a-4dc2-9465-4361475c8122-image.png

                                            Error: Failed to parse /opt/retropie/emulators/supermodel/bin/Config/Games.xml
                                            Error: Game & ROM set definintions could not be loaded! ROMs will not be detected.
                                            Error: Could not open 'fvipers2.zip'.

                                            Looking at this, i believe fvipers2.zip has to be in /opt/retropie/emulators/supermodel/bin and i also must remove the part of the line which points to the xml, therefore i should run the following , please confirm ?

                                            ./supermodel -legacy3d -sound-volume=50 -music-volume=60 -no-vsync -no-throttle -no-dsb -res=496,384 ./fvipers2.zip

                                            it seems to be they way its done in this video =>

                                            )

                                            M DTEAMD 2 Replies 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.