Sega model 3 #segamodel3
-
Great stuff going on here all!
I have a Sinden lightgun that I was able to get configured in supermodel on Pi4 using Lost World as a test bed. I was able to get coin and start mapped, and also the trigger and pump action. I am able to calibrate the guns in the game's test menu, but the lack of a white border seems to be causing the lightgun to not register properly in-game. The Sindens are a combination camera/mouse/keyboard USB device and use a white border around the gameplay screen as a reference point to know when the camera has been pointed outside the game screen. For other systems, using the libretro cores makes adding a border easy since it can be done via an on-screen overlay. I was wondering if there is a way to add borders to supermodel in some way (maybe via a 3rd party app)? I'm looking to add something like this:
Any ideas would be greatly appreciated!
-
I think you are on your own, I have no good idea how to solve this.
But maybe you can use matchbox-window-manager.
Here is an example on how matchbox is used :
https://github.com/FollyMaddy/RetroPie-Share/blob/main/00-scriptmodules-00/emulators/b-em-allegro4.shHow to install :
sudo apt install matchbox-window-manager
List help :
matchbox-window-manager --help
List manual :
man matchbox-window-manager
Links with more information :
https://www.cxymm.net/article/coco1002/100231912
http://matchbox-project.org/docs.html ( Matchbox Client communication specifics.)kbdconfig file examples :
http://matchbox-project.org/documentation/developers/matchbox-key.txt
http://www.filewatcher.com/p/matchbox-window-manager_0.9.3-1_i386.deb.141524/etc/matchbox/kbdconfig.html -
-
-
I have been helping test that solution, and it's been awesome! Thank you so much for all of the work!
I am running into a weird issue with "The Lost World: Jurassic Park," though. The calibration screen for the gun in the Raspberry Pi version of the emulator only gives me the option to shoot the center target. The screen is also blue. On Windows, I get what the operator manual shows as the proper calibration screen: black background with the option to choose to shoot up, down, left, right, and center targets. I am using the exact same ROM for each. The only difference is that the Windows version is the latest version of Supermodel. Are there some BIOS differences? I don't understand how the same ROM can give two completely different menu options.
-
@chaoseffect said in Sega model 3 #segamodel3:
I have been helping test that solution, and it's been awesome! Thank you so much for all of the work!
I am running into a weird issue with "The Lost World: Jurassic Park," though. The calibration screen for the gun in the Raspberry Pi version of the emulator only gives me the option to shoot the center target. The screen is also blue. On Windows, I get what the operator manual shows as the proper calibration screen: black background with the option to choose to shoot up, down, left, right, and center targets. I am using the exact same ROM for each. The only difference is that the Windows version is the latest version of Supermodel. Are there some BIOS differences? I don't understand how the same ROM can give two completely different menu options.
Working on a new version based on
r876
from SVN trunk.This shows as you describe in Linux Ubuntu, being tested on the Pi:
-
For the blue screen and limited options, check your
Games.xml
for :<game name="lostwsga"> ..... <input type="common" /> <input type="analog_gun1" /> <input type="analog_gun2" /> </inputs>
Using input type of just
gun1
andgun2
will give you the limited blue screen, usinganalog_gun*
will give you the menu options you describe: -
@dirtbagxon Ah, thank you so much! Once again, I and everyone else using Sinden guns really appreciate what you're doing! I do indeed get that different calibration menu when switching to analog_gun.
There is a little issue with how the gun reacts to the edges of the screen in either "gun" or "analog_gun" mode with Lost World. My best way of explaining it is that the game thinks the play area is smaller than it is. I get, say, 3/4 of the way across the screen horizontally and my cursor is already touching the boundary of the game area. If I move closer to the actual edge, the cursor goes out of bounds.
The emulator doesn't seem to like it when you try to press mouse buttons while the cursor is outside of the play area, so calibration is proving difficult. I temporarily remapped the trigger to a keyboard key, but it still seems unhappy that the cursor is sitting out of bounds.
Hopefully this is just a setting in the emulator and doesn't need more work, but I'm curious if the cursor can be trapped in the actual game/border area.
-
@chaoseffect said in Sega model 3 #segamodel3:
@dirtbagxon Ah, thank you so much! Once again, I and everyone else using Sinden guns really appreciate what you're doing! I do indeed get that different calibration menu when switching to analog_gun.
There is a little issue with how the gun reacts to the edges of the screen in either "gun" or "analog_gun" mode with Lost World. My best way of explaining it is that the game thinks the play area is smaller than it is. I get, say, 3/4 of the way across the screen horizontally and my cursor is already touching the boundary of the game area. If I move closer to the actual edge, the cursor goes out of bounds.
The emulator doesn't seem to like it when you try to press mouse buttons while the cursor is outside of the play area, so calibration is proving difficult. I temporarily remapped the trigger to a keyboard key, but it still seems unhappy that the cursor is sitting out of bounds.
Hopefully this is just a setting in the emulator and doesn't need more work, but I'm curious if the cursor can be trapped in the actual game/border area.
I'm kinda at a disadvantage here, as I don't actually own a Sinden.
I assume you are part of the Discord channel as you have the binary, I can only refer you to those guys at the moment.
Most of the Input systems in this emulator are coded and designed to work with "Windows Direct/Raw Inputย ".
Linux Input support is restricted to SDL only, including support for only one ย mouse or lightgun.
Option: -input-system=<s> Description: Sets the input system. This is only available on Windows, where the default is 'dinput' (DirectInput). SDL is used for all other platforms. Valid choices for <s> are: dinput DirectInput. xinput XInput rawinput Raw Input. sdl SDL. See the section on input systems for more details
// Create input system if (selectedInputSystem == "sdl") InputSystem = new CSDLInputSystem(s_runtime_config); #ifdef SUPERMODEL_WIN32 else if (selectedInputSystem == "dinput") InputSystem = new CDirectInputSystem(s_runtime_config, s_window, false, false); else if (selectedInputSystem == "xinput") InputSystem = new CDirectInputSystem(s_runtime_config, s_window, false, true); else if (selectedInputSystem == "rawinput") InputSystem = new CDirectInputSystem(s_runtime_config, s_window, true, false); #endif // SUPERMODEL_WIN32
int CSDLInputSystem::GetNumMice() { // Return ANY_MOUSE as SDL 1.2 cannot handle multiple mice return ANY_MOUSE; }
So SDL INPUT implementation is based around old SDL1, although the emulator is now using SDL2. So this needs updating.
I am not really going to tackle modifying or adding support to the emulator itself, there is an active team on SourceForge working on this. You should communicate with them and relay you are talking about the Linux SDL input system for these issues. They may accept feature requests....
The Sinden border I am happy to add to whatever state the underlying emulator is currently in (currently we have trunk HEAD from SVNย ), but this is still "in testing" at the moment. So lots of experimentation still. But please report back to the Discord channel on issues. I'm sure it will be documented on what can/can't currently be achieved....
ย
-
@dirtbagxon Got it. ๐ I will seek out the emulator's development team for feature requests like that.
-
I am told all the "Gun" games are perfectly playable, so it may be just a matter of getting the "adjusted"
Games.xml
andSupermodel.ini
when they have a good working layout to pass on.Have fun ๐
ย
-
For those interested, I have created a repo for the Sinden patches thus far here:
https://github.com/DirtBagXon/model3emu-code-sinden
Compiled binaries of the latest release exist for armhf ย and aarch64.
These seem to work fairly well in RetroPie, I used some of the patches in this thread for the arm branch.
There is a Windows binary there too, but due to the multitude of OpenGL driver implementations, not certain this patch will be universal...
If anyone can get improvements on this, please consider submitting pull requests. I'm still new to OpenGL implementations......
-
Here you can find installation files, installation instructions and a video walkthrough to get the Sinden lightgun and borders working with Star Wars Trilogy, Lost World, Ocean Hunter and LA Machineguns using @DirtBagXon's fork of supermodel.
-
Thanks for the news.
Is there any working Image file with all configurated ?
if someone can upload it .
it should amazing cause my english is not really good.Best regards
Stef from Paris -
Hello every one,
First of all, thanks to @mechafatnick @Folly and every one who got involved in this project, this is awesome work !
I reply to this post because I followed every procedure given, but I still can't figure out how to launch a game from Retropie.
I have a RaspBerry Pi 4b 4gb and I installed Twister Os and launch Retropie from this Os. Everything went fine with the installation and the implementation in RetroPie. But when I try to launch a game from RetroPie, I got an error with xinit (runcommand.log) :
Parameters:
Executing: xinit /dev/shm/retropie_xinitrc -- vt1 -keeptty_XSERVTranSocketUNIXCreateListener: ...Sokcet CreateListerner() Failed
_XSERVTransMakeALLCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot Establish any listening sockets - Make sure an X server isn't already running (EE)blabla cabout consulting X.Org documentation..
XIO: Fatal IO error 11 (Resource Temporaliy unavailable) on X server ":0" after 7 requests (7 known processed) with 0 events remaining.
The thing is it launch well when I use the terminal command in Twister OS : ./supermodel %ROM%
and emulation is starting correctly. The error only occur when I try o launch it from RetroPie..
Have anyone the same issue and/or help me with this problem ?Thanks.
-
Did you use my module script ?
Good to know that it still works, I haven't used/tried it in a very long time.Basically, you can neglect the error you get.
This is because supermodel is has to be run in X.
Therefor XINIT is used because RetroPie runs by default/originally on a lite linux OS without Desktop/X environment.
You use "Twister OS" so you run RetroPie from the Desktop so X is already active.
That is why it works although you get the error because X is already active.
If you want to remove the error then just removeXINIT:
from the runcommands in the emulators.cfg for supermodel3. -
@Folly Thanks for the quick answer and the complete details.
I tried your script but it didn't work so I followed @mechafatnick tutorial and it finally installed and worked, at least from the terminal.
But the issue comes from RetroPie, I always come back to the game selection. Emulation never start, just basic black screen with option selection that appears before each game in Retropie, then comes back to RetroPie..
I tried your suggestion and now I got this error :Parameters:
Executing: SDL_VIDEO_KMSDRM_CRTCID=87 SDL_VIDEO_KMSDRM_MODEID=30 /opt/retropie/emulators/supermodel/bin/supermodel "/home/pi/RetroPie/roms....."
Error: OpenGL initialization failed: Unknown errorI already installed libsdl2-net-dev as suggested earlier with this issue in the discussion, and did it again but it didn't change anything.
I don't get why I can launch it from the terminal desktop, but can't in RetroPie. Also, all other emulator are working fine so this must be specific to SuperModel I guess..Any clue ?
-
Not a clue at the moment, so not sure if I can be of any help.
Do you start emulationstation from the terminal in Desktop mode or are you leaving the Desktop and run emulationstation from the terminal in "lite mode" ?
What is the runcommand in your emulators.cfg ? -
@Folly Sorry for the delay, I got a hard week. Actually, I start emulationstation from the desktop of Twister OS, and try to launch the emulator from EmulationStation/Retropie. That case doens't work. But if I only launch the model3 emulator from a terminal I open in Desktop mode, it runs ok. I don't have the command line for now because I'm reinstalling Twister OS, but I followed the instructions you talked about here. I ended up just putting the line supermodel %roms%, which is the one I use to launch from a terminal and work, but doesn't work with EmulationStation. At the end, everything is fine in desktop mode, but it doesn't work when I launch from EmulationStation..
That's what I find weird..Thanks for the help :)
-
I know that the program can be run directly, however your have to be in the correct folder in order to run the program properly as it searches for configs in the same folder.
So when you are in the terminal and you usedcd
to go to the supermodel folder and the ran supermodel it would work.
But running it from emulationstation the start folder is totally different so even if you run supermodel with the appropriate path supermodel will not find the configs and will not properly start.
Therefor my script uses pushd so it knows the correct folder and so it can find the other needed files.
You can take at the lines for inspiration :
https://github.com/FollyMaddy/RetroPie-Share/blob/main/00-scriptmodules-00/emulators/supermodel-mechafatnick.sh#L77-L81
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.