Newbie trying to get Star Wars Trilogy to work on Ubuntu

Linux geeks and Mac OS hipsters unite! A board for discussion of Supermodel on non-Windows platforms.
Forum rules
Keep it classy!

  • No ROM requests or links.
  • Do not ask to be a play tester.
  • Do not ask about release dates.
  • No drama!

Re: Newbie trying to get Star Wars Trilogy to work on Ubuntu

Postby Bart » Sun Aug 30, 2020 7:42 am

A video recording, posted on YouTube, would be helpful at this point.
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Newbie trying to get Star Wars Trilogy to work on Ubuntu

Postby pup975 » Tue Sep 01, 2020 6:46 pm

I feel really dumb. I figured out that I needed to press "Enter" before pushing the button for it to register. I've got the buttons and joysticks recognized. However, when I play Star Wars Trilogy, when playing the X-wing, my target aim only can go in the corners or in the middle. I mapped the joystick to 4-way joystick and analog joystick. I couldn't quite figure out if I did the X-axis and Y-axis correctly, but I just moved the joystick left and right to get the x-axis and up and down for y-axis. Should I have mapped something else to get the target aim to be able to move all over the screen?

Also, is there any way to have an icon that my kids can click on on the desktop that will run the terminal commands to start the program?
pup975
 
Posts: 13
Joined: Thu Aug 20, 2020 5:09 pm

Re: Newbie trying to get Star Wars Trilogy to work on Ubuntu

Postby Bart » Tue Sep 01, 2020 9:42 pm

My guess is that you mapped the digital version of the axes rather than the continuous, analog axes. You will need to perform the configuration process again (or edit Config/Supermodel.ini directly) and remove your joystick mappings. Please read README.txt. There is a section detailing how digital vs. analog axes work. Basically, Star Wars uses an <i>analog</i> joystick but Supermodel provides digital <i>and</i> analog mappings for it. The digital ones work by incrementing the value over time to simulate an analog input. You want to leave the digital version unmapped if you have an actual analog stick.

Paste your Supermodel.ini here.

Also, it's quite simple to create a .bat file in Window or a shell script in Linux but I'm not 100% sure that you can just place a script on the desktop if you are using Linux. A shell script might look something like this:

Code: Select all
#!/bin/sh
cd /YourSupermodelDirectory
./supermodel roms/swtrilgy.zip


Unless someone else can chime in I would Google about how to make desktop shortcuts in Ubuntu (or Gnome, which is its desktop environment), or how to make shortcuts to shell scripts. Shell scripts can be written in any text editor. To make them executable, from the terminal you would do:

Code: Select all
chmod +x my_shell_script_file
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Newbie trying to get Star Wars Trilogy to work on Ubuntu

Postby zuppa_di_pesce » Wed Sep 02, 2020 1:32 am

pup975 wrote:couldn't quite figure out if I did the X-axis and Y-axis correctly, but I just moved the joystick left and right to get the x-axis and up and down for y-axis.

As bonus tip, you can find out which analogs are mapped to what, via the calibration mode: just press b on your keyboard while you're configuring inputs
"Did you surfcast that fish?" - "Kinda... But... That wasn't a fish... It was a GNU!"
User avatar
zuppa_di_pesce
 
Posts: 120
Joined: Fri Jun 12, 2020 1:51 pm
Location: surfCASTING on a beach

Re: Newbie trying to get Star Wars Trilogy to work on Ubuntu

Postby pup975 » Wed Sep 02, 2020 6:51 pm

I read the README.txt file but can't figure out how to get it not to map it as a digital input. Here's my ini file:


; Supermodel Configuration File
;


[ Global ]

EmulateNet = 0
port_in = 1970
port_out = 1971
addr_out = 127.0.0.1
InputStart1 = JOY2_BUTTON5
InputStart2 = JOY1_BUTTON5
InputCoin1 = JOY2_BUTTON6
InputCoin2 = JOY1_BUTTON6
InputServiceA = KEY_5
InputServiceB = KEY_7
InputTestA = KEY_6
InputTestB = KEY_8
InputJoyUp = NONE
InputJoyDown = NONE
InputJoyLeft = NONE
InputJoyRight = NONE
InputJoyUp2 = NONE
InputJoyDown2 = NONE
InputJoyLeft2 = NONE
InputJoyRight2 = NONE
InputPunch = JOY2_BUTTON1
InputKick = JOY2_BUTTON2
InputGuard = JOY2_BUTTON3
InputEscape = JOY2_BUTTON4
InputPunch2 = JOY1_BUTTON1
InputKick2 = JOY1_BUTTON2
InputGuard2 = JOY1_BUTTON3
InputEscape2 = JOY1_BUTTON4
InputShift = KEY_A,JOY1_BUTTON1
InputBeat = KEY_S,JOY1_BUTTON2
InputCharge = KEY_D,JOY1_BUTTON3
InputJump = KEY_F,JOY1_BUTTON4
InputShortPass = KEY_A,JOY1_BUTTON1
InputLongPass = KEY_S,JOY1_BUTTON2
InputShoot = KEY_D,JOY1_BUTTON3
InputShortPass2 = JOY2_BUTTON1
InputLongPass2 = JOY2_BUTTON2
InputShoot2 = JOY2_BUTTON3
InputSteeringLeft = NONE
InputSteeringRight = NONE
InputSteering = NONE
InputAccelerator = NONE
InputBrake = NONE
InputGearShiftUp = NONE
InputGearShiftDown = NONE
InputGearShift1 = KEY_Q,JOY1_BUTTON5
InputGearShift2 = KEY_W,JOY1_BUTTON6
InputGearShift3 = KEY_E,JOY1_BUTTON7
InputGearShift4 = KEY_R,JOY1_BUTTON8
InputGearShiftN = KEY_T
InputVR1 = KEY_A,JOY1_BUTTON1
InputVR2 = KEY_S,JOY1_BUTTON2
InputVR3 = KEY_D,JOY1_BUTTON3
InputVR4 = KEY_F,JOY1_BUTTON4
InputViewChange = KEY_A,JOY1_BUTTON1
InputHandBrake = KEY_S,JOY1_BUTTON2
InputRearBrake = KEY_S,JOY1_BUTTON2
InputMusicSelect = KEY_D,JOY1_BUTTON3
InputTwinJoyTurnLeft = NONE
InputTwinJoyTurnRight = NONE
InputTwinJoyForward = NONE
InputTwinJoyReverse = NONE
InputTwinJoyStrafeLeft = NONE
InputTwinJoyStrafeRight = NONE
InputTwinJoyJump = KEY_E,JOY1_BUTTON1
InputTwinJoyCrouch = KEY_R,JOY1_BUTTON2
InputTwinJoyLeft1 = NONE
InputTwinJoyLeft2 = NONE
InputTwinJoyRight1 = NONE
InputTwinJoyRight2 = NONE
InputTwinJoyUp1 = NONE
InputTwinJoyUp2 = NONE
InputTwinJoyDown1 = NONE
InputTwinJoyDown2 = NONE
InputTwinJoyShot1 = KEY_A,JOY1_BUTTON5
InputTwinJoyShot2 = KEY_S,JOY1_BUTTON6
InputTwinJoyTurbo1 = KEY_Z,JOY1_BUTTON7
InputTwinJoyTurbo2 = KEY_X,JOY1_BUTTON8
InputAnalogJoyLeft = JOY2_XAXIS_NEG
InputAnalogJoyRight = JOY2_XAXIS_POS
InputAnalogJoyUp = JOY2_YAXIS_NEG
InputAnalogJoyDown = JOY2_YAXIS_POS
InputAnalogJoyX = JOY2_XAXIS_INV
InputAnalogJoyY = JOY2_YAXIS_INV
InputAnalogJoyTrigger = JOY2_BUTTON1
InputAnalogJoyEvent = JOY2_BUTTON3
InputAnalogJoyTrigger2 = JOY2_BUTTON2
InputAnalogJoyEvent2 = JOY2_BUTTON4
InputGunLeft = NONE
InputGunRight = NONE
InputGunUp = NONE
InputGunDown = NONE
InputGunX = NONE
InputGunY = NONE
InputTrigger = KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON
InputOffscreen = KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON
InputAutoTrigger = 0
InputGunLeft2 = NONE
InputGunRight2 = NONE
InputGunUp2 = NONE
InputGunDown2 = NONE
InputGunX2 = NONE
InputGunY2 = NONE
InputTrigger2 = NONE
InputOffscreen2 = NONE
InputAutoTrigger2 = 0
InputAnalogGunLeft = NONE
InputAnalogGunRight = KEY_RIGHT
InputAnalogGunUp = KEY_UP
InputAnalogGunDown = KEY_DOWN
InputAnalogGunX = NONE
InputAnalogGunY = NONE
InputAnalogTriggerLeft = KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON
InputAnalogTriggerRight = KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON
InputAnalogGunLeft2 = NONE
InputAnalogGunRight2 = NONE
InputAnalogGunUp2 = NONE
InputAnalogGunDown2 = NONE
InputAnalogGunX2 = NONE
InputAnalogGunY2 = NONE
InputAnalogTriggerLeft2 = NONE
InputAnalogTriggerRight2 = NONE
InputSkiLeft = KEY_LEFT
InputSkiRight = KEY_RIGHT
InputSkiUp = KEY_UP
InputSkiDown = KEY_DOWN
InputSkiX = JOY1_XAXIS
InputSkiY = JOY1_YAXIS
InputSkiPollLeft = KEY_A,JOY1_BUTTON1
InputSkiPollRight = KEY_S,JOY1_BUTTON2
InputSkiSelect1 = KEY_Q,JOY1_BUTTON3
InputSkiSelect2 = KEY_W,JOY1_BUTTON4
InputSkiSelect3 = KEY_E,JOY1_BUTTON5
InputMagicalLeverUp1 = KEY_UP
InputMagicalLeverDown1 = KEY_DOWN
InputMagicalLeverUp2 = NONE
InputMagicalLeverDown2 = NONE
InputMagicalLever1 = JOY1_YAXIS
InputMagicalLever2 = JOY2_YAXIS
InputMagicalPedal1 = KEY_A,JOY1_BUTTON1
InputMagicalPedal2 = KEY_S,JOY2_BUTTON1
InputFishingRodLeft = KEY_LEFT
InputFishingRodRight = KEY_RIGHT
InputFishingRodUp = KEY_UP
InputFishingRodDown = KEY_DOWN
InputFishingStickLeft = KEY_A
InputFishingStickRight = KEY_D
InputFishingStickUp = KEY_W
InputFishingStickDown = KEY_S
InputFishingRodX = JOY1_XAXIS
InputFishingRodY = JOY1_YAXIS
InputFishingStickX = JOY1_RXAXIS
InputFishingStickY = JOY1_RYAXIS
InputFishingReel = KEY_SPACE,JOY1_ZAXIS_POS
InputFishingCast = KEY_Z,JOY1_BUTTON1
InputFishingSelect = KEY_X,JOY1_BUTTON2
InputFishingTension = KEY_T,JOY1_ZAXIS_NEG
InputJoy2XDeadZone = 1
InputJoy2YDeadZone = 1
pup975
 
Posts: 13
Joined: Thu Aug 20, 2020 5:09 pm

Re: Newbie trying to get Star Wars Trilogy to work on Ubuntu

Postby Bart » Wed Sep 02, 2020 8:04 pm

This is the problem:

Code: Select all
InputAnalogJoyLeft = JOY2_XAXIS_NEG
InputAnalogJoyRight = JOY2_XAXIS_POS
InputAnalogJoyUp = JOY2_YAXIS_NEG
InputAnalogJoyDown = JOY2_YAXIS_POS
InputAnalogJoyX = JOY2_XAXIS_INV
InputAnalogJoyY = JOY2_YAXIS_INV


You've double-mapped the Star Wars analog joystick. See Section 7 of README.txt, specifically the sub-section about analog inputs. InputAnalogJoyUp/Down/Left/Right are intended to take digital inputs and will simulate the analog joystick. You should *only* map JoyX and JoyY axes and leave those others unmapped when you have an actual analog joystick, as you do. Using "supermodel -config-inputs", you can clear out those unwanted settings, leaving only the analog ones.
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Newbie trying to get Star Wars Trilogy to work on Ubuntu

Postby pup975 » Thu Sep 03, 2020 12:23 pm

Thanks! I think my issue is understanding what the JoyX and JoyY axis is mapping. When I map the X axis, do I point the joystick to the right or left (and same with Y axis, up or down)?
pup975
 
Posts: 13
Joined: Thu Aug 20, 2020 5:09 pm

Re: Newbie trying to get Star Wars Trilogy to work on Ubuntu

Postby pup975 » Thu Sep 03, 2020 7:39 pm

Still getting the same issue when I removed the Joy Up/Down/Left/Right


; Supermodel Configuration File
;


[ Global ]

EmulateNet = 0
port_in = 1970
port_out = 1971
addr_out = 127.0.0.1
InputStart1 = JOY2_BUTTON5
InputStart2 = JOY1_BUTTON5
InputCoin1 = JOY2_BUTTON6
InputCoin2 = JOY1_BUTTON6
InputServiceA = KEY_5
InputServiceB = KEY_7
InputTestA = KEY_6
InputTestB = KEY_8
InputJoyUp = NONE
InputJoyDown = NONE
InputJoyLeft = NONE
InputJoyRight = NONE
InputJoyUp2 = NONE
InputJoyDown2 = NONE
InputJoyLeft2 = NONE
InputJoyRight2 = NONE
InputPunch = JOY2_BUTTON1
InputKick = JOY2_BUTTON2
InputGuard = JOY2_BUTTON3
InputEscape = JOY2_BUTTON4
InputPunch2 = JOY1_BUTTON1
InputKick2 = JOY1_BUTTON2
InputGuard2 = JOY1_BUTTON3
InputEscape2 = JOY1_BUTTON4
InputShift = KEY_A,JOY1_BUTTON1
InputBeat = KEY_S,JOY1_BUTTON2
InputCharge = KEY_D,JOY1_BUTTON3
InputJump = KEY_F,JOY1_BUTTON4
InputShortPass = KEY_A,JOY1_BUTTON1
InputLongPass = KEY_S,JOY1_BUTTON2
InputShoot = KEY_D,JOY1_BUTTON3
InputShortPass2 = JOY2_BUTTON1
InputLongPass2 = JOY2_BUTTON2
InputShoot2 = JOY2_BUTTON3
InputSteeringLeft = NONE
InputSteeringRight = NONE
InputSteering = NONE
InputAccelerator = NONE
InputBrake = NONE
InputGearShiftUp = NONE
InputGearShiftDown = NONE
InputGearShift1 = KEY_Q,JOY1_BUTTON5
InputGearShift2 = KEY_W,JOY1_BUTTON6
InputGearShift3 = KEY_E,JOY1_BUTTON7
InputGearShift4 = KEY_R,JOY1_BUTTON8
InputGearShiftN = KEY_T
InputVR1 = KEY_A,JOY1_BUTTON1
InputVR2 = KEY_S,JOY1_BUTTON2
InputVR3 = KEY_D,JOY1_BUTTON3
InputVR4 = KEY_F,JOY1_BUTTON4
InputViewChange = KEY_A,JOY1_BUTTON1
InputHandBrake = KEY_S,JOY1_BUTTON2
InputRearBrake = KEY_S,JOY1_BUTTON2
InputMusicSelect = KEY_D,JOY1_BUTTON3
InputTwinJoyTurnLeft = NONE
InputTwinJoyTurnRight = NONE
InputTwinJoyForward = NONE
InputTwinJoyReverse = NONE
InputTwinJoyStrafeLeft = NONE
InputTwinJoyStrafeRight = NONE
InputTwinJoyJump = KEY_E,JOY1_BUTTON1
InputTwinJoyCrouch = KEY_R,JOY1_BUTTON2
InputTwinJoyLeft1 = NONE
InputTwinJoyLeft2 = NONE
InputTwinJoyRight1 = NONE
InputTwinJoyRight2 = NONE
InputTwinJoyUp1 = NONE
InputTwinJoyUp2 = NONE
InputTwinJoyDown1 = NONE
InputTwinJoyDown2 = NONE
InputTwinJoyShot1 = KEY_A,JOY1_BUTTON5
InputTwinJoyShot2 = KEY_S,JOY1_BUTTON6
InputTwinJoyTurbo1 = KEY_Z,JOY1_BUTTON7
InputTwinJoyTurbo2 = KEY_X,JOY1_BUTTON8
InputAnalogJoyLeft = NONE
InputAnalogJoyRight = NONE
InputAnalogJoyUp = NONE
InputAnalogJoyDown = NONE
InputAnalogJoyX = JOY2_XAXIS_INV
InputAnalogJoyY = JOY2_YAXIS_INV
InputAnalogJoyTrigger = JOY2_BUTTON1
InputAnalogJoyEvent = JOY2_BUTTON3
InputAnalogJoyTrigger2 = JOY2_BUTTON2
InputAnalogJoyEvent2 = JOY2_BUTTON4
InputGunLeft = NONE
InputGunRight = NONE
InputGunUp = NONE
InputGunDown = NONE
InputGunX = NONE
InputGunY = NONE
InputTrigger = KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON
InputOffscreen = KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON
InputAutoTrigger = 0
InputGunLeft2 = NONE
InputGunRight2 = NONE
InputGunUp2 = NONE
InputGunDown2 = NONE
InputGunX2 = NONE
InputGunY2 = NONE
InputTrigger2 = NONE
InputOffscreen2 = NONE
InputAutoTrigger2 = 0
InputAnalogGunLeft = NONE
InputAnalogGunRight = KEY_RIGHT
InputAnalogGunUp = KEY_UP
InputAnalogGunDown = KEY_DOWN
InputAnalogGunX = NONE
InputAnalogGunY = NONE
InputAnalogTriggerLeft = KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON
InputAnalogTriggerRight = KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON
InputAnalogGunLeft2 = NONE
InputAnalogGunRight2 = NONE
InputAnalogGunUp2 = NONE
InputAnalogGunDown2 = NONE
InputAnalogGunX2 = NONE
InputAnalogGunY2 = NONE
InputAnalogTriggerLeft2 = NONE
InputAnalogTriggerRight2 = NONE
InputSkiLeft = KEY_LEFT
InputSkiRight = KEY_RIGHT
InputSkiUp = KEY_UP
InputSkiDown = KEY_DOWN
InputSkiX = JOY1_XAXIS
InputSkiY = JOY1_YAXIS
InputSkiPollLeft = KEY_A,JOY1_BUTTON1
InputSkiPollRight = KEY_S,JOY1_BUTTON2
InputSkiSelect1 = KEY_Q,JOY1_BUTTON3
InputSkiSelect2 = KEY_W,JOY1_BUTTON4
InputSkiSelect3 = KEY_E,JOY1_BUTTON5
InputMagicalLeverUp1 = KEY_UP
InputMagicalLeverDown1 = KEY_DOWN
InputMagicalLeverUp2 = NONE
InputMagicalLeverDown2 = NONE
InputMagicalLever1 = JOY1_YAXIS
InputMagicalLever2 = JOY2_YAXIS
InputMagicalPedal1 = KEY_A,JOY1_BUTTON1
InputMagicalPedal2 = KEY_S,JOY2_BUTTON1
InputFishingRodLeft = KEY_LEFT
InputFishingRodRight = KEY_RIGHT
InputFishingRodUp = KEY_UP
InputFishingRodDown = KEY_DOWN
InputFishingStickLeft = KEY_A
InputFishingStickRight = KEY_D
InputFishingStickUp = KEY_W
InputFishingStickDown = KEY_S
InputFishingRodX = JOY1_XAXIS
InputFishingRodY = JOY1_YAXIS
InputFishingStickX = JOY1_RXAXIS
InputFishingStickY = JOY1_RYAXIS
InputFishingReel = KEY_SPACE,JOY1_ZAXIS_POS
InputFishingCast = KEY_Z,JOY1_BUTTON1
InputFishingSelect = KEY_X,JOY1_BUTTON2
InputFishingTension = KEY_T,JOY1_ZAXIS_NEG
InputJoy2XDeadZone = 1
InputJoy2YDeadZone = 1
pup975
 
Posts: 13
Joined: Thu Aug 20, 2020 5:09 pm

Re: Newbie trying to get Star Wars Trilogy to work on Ubuntu

Postby Bart » Thu Sep 03, 2020 8:13 pm

What sort of joystick are you using? If it's an Xbox or PS4 controller, then my guess is that there isn't very much travel between the minimum and maximum positions of each axis. Have you tried pressing extremely lightly?
User avatar
Bart
Site Admin
 
Posts: 3086
Joined: Thu Sep 01, 2011 2:13 pm
Location: Reno, Nevada

Re: Newbie trying to get Star Wars Trilogy to work on Ubuntu

Postby pup975 » Fri Sep 04, 2020 11:41 am

https://www.amazon.com/gp/product/B07JF34XPB/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1 It's a Sanwa-like joystick for an arcade machine. I tried lightly pressing, but it clicks when you press on it in any direction so I don't know if it can be lightly pressed.
pup975
 
Posts: 13
Joined: Thu Aug 20, 2020 5:09 pm

PreviousNext

Return to Alternative Fashion

Who is online

Users browsing this forum: No registered users and 1 guest