Supermodel 0.3a-svn-860 (or above) exits if controller connected

Having technical difficulties with Supermodel? Last-minute wardrobe malfunction? Get help here.
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!
Post Reply
GYU
Posts: 1
Joined: Sat Jan 04, 2025 1:15 pm

Supermodel 0.3a-svn-860 (or above) exits if controller connected

Post by GYU »

Hello Everyone,

I'd like to share my experiences in the subject. I could not find any reason for this behavior, maybe someone could help.

I've got a game controller (standard wheel and pedals), and could not start srally2 if
- controller connected and
- version is Supermodel_0.3a-svn-860_Win64 or above.

The graphical window just pops up and then closes immediately. If controller disconnected before, then everything works well.

The OS is Win10 64bit, drivers are installed properly. With Supermodel_0.3a-svn-859_Win64 or any older version, everything works fine.

I tried -input-system=sdl as well, but no difference. I tried to look for what changed between 859 and 860 version but I didn't find anything.

Any ideas appreciated,
Thanks!

The log in debug level looks like this:

Code: Select all

[Info]  Supermodel Version 0.3a-svn-860
[Info]  Started as:
[Info]    argv[0] = supermodel
[Info]    argv[1] = ROMs/srally2.zip
[Info]    argv[2] = -log-level=debug
[Info]  Opened ROMs/srally2.zip.
[Info]  srally2:
[Info]    banked_crom: stride=8, chunk size=2, byte swap=1
[Info]      mpr-20605.4, crc32=0x00513401, offset=0x00000000
[Info]      mpr-20605.3, crc32=0x99c5f396, offset=0x00000002
[Info]      mpr-20603.2, crc32=0xad0d8eb8, offset=0x00000004
[Info]      mpr-20602.1, crc32=0x60cfa72a, offset=0x00000006
[Info]      mpr-20609.8, crc32=0xc03cc0e5, offset=0x01000000
[Info]      mpr-20608.7, crc32=0x0c9b0571, offset=0x01000002
[Info]      mpr-20607.6, crc32=0x6da85aa3, offset=0x01000004
[Info]      mpr-20606.5, crc32=0x072498fd, offset=0x01000006
[Info]      mpr-20613.12, crc32=0x2938c0d9, offset=0x02000000
[Info]      mpr-20612.11, crc32=0x721a44b6, offset=0x02000002
[Info]      mpr-20611.10, crc32=0x5d9f8ba2, offset=0x02000004
[Info]      mpr-20610.9, crc32=0xb6e0ff4e, offset=0x02000006
[Info]    crom: stride=8, chunk size=2, byte swap=1
[Info]      epr-20635.20, crc32=0x7937473f, offset=0x00000000
[Info]      epr-20634.19, crc32=0x45a09245, offset=0x00000002
[Info]      epr-20633.18, crc32=0xf5a24f24, offset=0x00000004
[Info]      epr-20632.17, crc32=0x6829a801, offset=0x00000006
[Info]    driveboard_program: stride=1, chunk size=1, byte swap=0
[Info]      epr-20512.bin, crc32=0xcf64350d, offset=0x00000000
[Info]    mpeg_music: stride=1, chunk size=1, byte swap=0
[Info]      mpr-20637.57, crc32=0xd66e8a02, offset=0x00000000
[Info]      mpr-20638.58, crc32=0xd1513382, offset=0x00400000
[Info]      mpr-20639.59, crc32=0xf6603b7b, offset=0x00800000
[Info]      mpr-20640.60, crc32=0x9eea07b7, offset=0x00c00000
[Info]    mpeg_program: stride=1, chunk size=1, byte swap=1
[Info]      epr-20641.2, crc32=0xc9b82035, offset=0x00000000
[Info]    sound_program: stride=1, chunk size=1, byte swap=1
[Info]      epr-20636.21, crc32=0x7139ebf8, offset=0x00000000
[Info]    sound_samples: stride=1, chunk size=1, byte swap=1
[Info]      mpr-20614.22, crc32=0xa3930e4a, offset=0x00000000
[Info]      mpr-20615.24, crc32=0x62e8a94a, offset=0x00400000
[Info]    vrom: stride=32, chunk size=2, byte swap=0
[Info]      mpr-20616.26, crc32=0xe11dcf8b, offset=0x00000000
[Info]      mpr-20617.27, crc32=0x96acef3f, offset=0x00000002
[Info]      mpr-20618.28, crc32=0x6c281281, offset=0x00000004
[Info]      mpr-20619.29, crc32=0x0fa65819, offset=0x00000006
[Info]      mpr-20620.30, crc32=0xee79585f, offset=0x00000008
[Info]      mpr-20621.31, crc32=0x3a99148f, offset=0x0000000a
[Info]      mpr-20622.32, crc32=0x0618f056, offset=0x0000000c
[Info]      mpr-20623.33, crc32=0xccf31b85, offset=0x0000000e
[Info]      mpr-20624.34, crc32=0x90f30936, offset=0x00000010
[Info]      mpr-20625.35, crc32=0x04f804fa, offset=0x00000012
[Info]      mpr-20626.36, crc32=0x2d6c97d6, offset=0x00000014
[Info]      mpr-20627.37, crc32=0xa14ee871, offset=0x00000016
[Info]      mpr-20628.38, crc32=0xbba829a3, offset=0x00000018
[Info]      mpr-20629.39, crc32=0xead2eb31, offset=0x0000001a
[Info]      mpr-20630.40, crc32=0xcc5881b8, offset=0x0000001c
[Info]      mpr-20631.41, crc32=0x5cb69ffd, offset=0x0000001e
[Info]  Runtime configuration:
[Info]    GameXMLFile=Config/Games.xml
[Info]    InitStateFile=
[Info]    MultiThreaded=1
[Info]    GPUMultiThreaded=1
[Info]    PowerPCFrequency=50
[Info]    MultiTexture=0
[Info]    VertexShader=
[Info]    FragmentShader=
[Info]    VertexShaderFog=
[Info]    FragmentShaderFog=
[Info]    VertexShader2D=
[Info]    FragmentShader2D=
[Info]    EmulateSound=1
[Info]    Balance=0
[Info]    EmulateDSB=1
[Info]    SoundVolume=100
[Info]    MusicVolume=100
[Info]    LegacySoundDSP=0
[Info]    ForceFeedback=0
[Info]    New3DEngine=1
[Info]    QuadRendering=0
[Info]    XResolution=496
[Info]    YResolution=384
[Info]    FullScreen=0
[Info]    WideScreen=0
[Info]    Stretch=0
[Info]    WideBackground=0
[Info]    VSync=1
[Info]    Throttle=1
[Info]    ShowFrameRate=0
[Info]    Crosshairs=0
[Info]    FlipStereo=0
[Info]    InputSystem=dinput
[Info]    DirectInputConstForceLeftMax=100
[Info]    DirectInputConstForceRightMax=100
[Info]    DirectInputSelfCenterMax=100
[Info]    DirectInputFrictionMax=100
[Info]    DirectInputVibrateMax=100
[Info]    XInputConstForceThreshold=30
[Info]    XInputConstForceMax=100
[Info]    XInputVibrateMax=100
[Info]    XInputStereoVibration=1
[Info]    SDLConstForceMax=100
[Info]    SDLSelfCenterMax=100
[Info]    SDLFrictionMax=100
[Info]    SDLVibrateMax=100
[Info]    SDLConstForceThreshold=30
[Info]    Network=0
[Info]    SimulateNet=1
[Info]    Outputs=none
[Info]    PortIn=1970
[Info]    PortOut=1971
[Info]    AddressOut=127.0.0.1
[Info]    InputStart1=KEY_1,JOY1_BUTTON9
[Info]    InputStart2=KEY_2,JOY2_BUTTON9
[Info]    InputCoin1=KEY_3,JOY1_BUTTON10
[Info]    InputCoin2=KEY_4,JOY2_BUTTON10
[Info]    InputServiceA=KEY_5
[Info]    InputServiceB=KEY_7
[Info]    InputTestA=KEY_6
[Info]    InputTestB=KEY_8
[Info]    InputJoyUp=KEY_UP,JOY1_UP
[Info]    InputJoyDown=KEY_DOWN,JOY1_DOWN
[Info]    InputJoyLeft=KEY_LEFT,JOY1_LEFT
[Info]    InputJoyRight=KEY_RIGHT,JOY1_RIGHT
[Info]    InputJoyUp2=JOY2_UP
[Info]    InputJoyDown2=JOY2_DOWN
[Info]    InputJoyLeft2=JOY2_LEFT
[Info]    InputJoyRight2=JOY2_RIGHT
[Info]    InputPunch=KEY_A,JOY1_BUTTON1
[Info]    InputKick=KEY_S,JOY1_BUTTON2
[Info]    InputGuard=KEY_D,JOY1_BUTTON3
[Info]    InputEscape=KEY_F,JOY1_BUTTON4
[Info]    InputPunch2=JOY2_BUTTON1
[Info]    InputKick2=JOY2_BUTTON2
[Info]    InputGuard2=JOY2_BUTTON3
[Info]    InputEscape2=JOY2_BUTTON4
[Info]    InputShift=KEY_A,JOY1_BUTTON1
[Info]    InputBeat=KEY_S,JOY1_BUTTON2
[Info]    InputCharge=KEY_D,JOY1_BUTTON3
[Info]    InputJump=KEY_F,JOY1_BUTTON4
[Info]    InputShortPass=KEY_A,JOY1_BUTTON1
[Info]    InputLongPass=KEY_S,JOY1_BUTTON2
[Info]    InputShoot=KEY_D,JOY1_BUTTON3
[Info]    InputShortPass2=JOY2_BUTTON1
[Info]    InputLongPass2=JOY2_BUTTON2
[Info]    InputShoot2=JOY2_BUTTON3
[Info]    InputSteeringLeft=KEY_LEFT
[Info]    InputSteeringRight=KEY_RIGHT
[Info]    InputSteering=JOY1_XAXIS
[Info]    InputAccelerator=KEY_UP,JOY1_UP
[Info]    InputBrake=KEY_DOWN,JOY1_DOWN
[Info]    InputGearShiftUp=KEY_Y
[Info]    InputGearShiftDown=KEY_H
[Info]    InputGearShift1=KEY_Q,JOY1_BUTTON5
[Info]    InputGearShift2=KEY_W,JOY1_BUTTON6
[Info]    InputGearShift3=KEY_E,JOY1_BUTTON7
[Info]    InputGearShift4=KEY_R,JOY1_BUTTON8
[Info]    InputGearShiftN=KEY_T
[Info]    InputVR1=KEY_A,JOY1_BUTTON1
[Info]    InputVR2=KEY_S,JOY1_BUTTON2
[Info]    InputVR3=KEY_D,JOY1_BUTTON3
[Info]    InputVR4=KEY_F,JOY1_BUTTON4
[Info]    InputViewChange=KEY_A,JOY1_BUTTON1
[Info]    InputHandBrake=KEY_S,JOY1_BUTTON2
[Info]    InputRearBrake=KEY_S,JOY1_BUTTON2
[Info]    InputMusicSelect=KEY_D,JOY1_BUTTON3
[Info]    InputTwinJoyTurnLeft=KEY_Q,JOY1_RXAXIS_NEG
[Info]    InputTwinJoyTurnRight=KEY_W,JOY1_RXAXIS_POS
[Info]    InputTwinJoyForward=KEY_UP,JOY1_YAXIS_NEG
[Info]    InputTwinJoyReverse=KEY_DOWN,JOY1_YAXIS_POS
[Info]    InputTwinJoyStrafeLeft=KEY_LEFT,JOY1_XAXIS_NEG
[Info]    InputTwinJoyStrafeRight=KEY_RIGHT,JOY1_XAXIS_POS
[Info]    InputTwinJoyJump=KEY_E,JOY1_BUTTON1
[Info]    InputTwinJoyCrouch=KEY_R,JOY1_BUTTON2
[Info]    InputTwinJoyLeft1=NONE
[Info]    InputTwinJoyLeft2=NONE
[Info]    InputTwinJoyRight1=NONE
[Info]    InputTwinJoyRight2=NONE
[Info]    InputTwinJoyUp1=NONE
[Info]    InputTwinJoyUp2=NONE
[Info]    InputTwinJoyDown1=NONE
[Info]    InputTwinJoyDown2=NONE
[Info]    InputTwinJoyShot1=KEY_A,JOY1_BUTTON5
[Info]    InputTwinJoyShot2=KEY_S,JOY1_BUTTON6
[Info]    InputTwinJoyTurbo1=KEY_Z,JOY1_BUTTON7
[Info]    InputTwinJoyTurbo2=KEY_X,JOY1_BUTTON8
[Info]    InputAnalogJoyLeft=KEY_LEFT
[Info]    InputAnalogJoyRight=KEY_RIGHT
[Info]    InputAnalogJoyUp=KEY_UP
[Info]    InputAnalogJoyDown=KEY_DOWN
[Info]    InputAnalogJoyX=JOY_XAXIS,MOUSE_XAXIS
[Info]    InputAnalogJoyY=JOY_YAXIS,MOUSE_YAXIS
[Info]    InputAnalogJoyTrigger=KEY_A,JOY_BUTTON1,MOUSE_LEFT_BUTTON
[Info]    InputAnalogJoyEvent=KEY_S,JOY_BUTTON2,MOUSE_RIGHT_BUTTON
[Info]    InputAnalogJoyTrigger2=KEY_D,JOY_BUTTON2
[Info]    InputAnalogJoyEvent2=NONE
[Info]    InputGunLeft=KEY_LEFT
[Info]    InputGunRight=KEY_RIGHT
[Info]    InputGunUp=KEY_UP
[Info]    InputGunDown=KEY_DOWN
[Info]    InputGunX=MOUSE_XAXIS,JOY1_XAXIS
[Info]    InputGunY=MOUSE_YAXIS,JOY1_YAXIS
[Info]    InputTrigger=KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON
[Info]    InputOffscreen=KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON
[Info]    InputAutoTrigger=0
[Info]    InputGunLeft2=NONE
[Info]    InputGunRight2=NONE
[Info]    InputGunUp2=NONE
[Info]    InputGunDown2=NONE
[Info]    InputGunX2=JOY2_XAXIS
[Info]    InputGunY2=JOY2_YAXIS
[Info]    InputTrigger2=JOY2_BUTTON1
[Info]    InputOffscreen2=JOY2_BUTTON2
[Info]    InputAutoTrigger2=0
[Info]    InputAnalogGunLeft=KEY_LEFT
[Info]    InputAnalogGunRight=KEY_RIGHT
[Info]    InputAnalogGunUp=KEY_UP
[Info]    InputAnalogGunDown=KEY_DOWN
[Info]    InputAnalogGunX=MOUSE_XAXIS,JOY1_XAXIS
[Info]    InputAnalogGunY=MOUSE_YAXIS,JOY1_YAXIS
[Info]    InputAnalogTriggerLeft=KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON
[Info]    InputAnalogTriggerRight=KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON
[Info]    InputAnalogGunLeft2=NONE
[Info]    InputAnalogGunRight2=NONE
[Info]    InputAnalogGunUp2=NONE
[Info]    InputAnalogGunDown2=NONE
[Info]    InputAnalogGunX2=NONE
[Info]    InputAnalogGunY2=NONE
[Info]    InputAnalogTriggerLeft2=NONE
[Info]    InputAnalogTriggerRight2=NONE
[Info]    InputSkiLeft=KEY_LEFT
[Info]    InputSkiRight=KEY_RIGHT
[Info]    InputSkiUp=KEY_UP
[Info]    InputSkiDown=KEY_DOWN
[Info]    InputSkiX=JOY1_XAXIS
[Info]    InputSkiY=JOY1_YAXIS
[Info]    InputSkiPollLeft=KEY_A,JOY1_BUTTON1
[Info]    InputSkiPollRight=KEY_S,JOY1_BUTTON2
[Info]    InputSkiSelect1=KEY_Q,JOY1_BUTTON3
[Info]    InputSkiSelect2=KEY_W,JOY1_BUTTON4
[Info]    InputSkiSelect3=KEY_E,JOY1_BUTTON5
[Info]    InputMagicalLeverUp1=KEY_UP
[Info]    InputMagicalLeverDown1=KEY_DOWN
[Info]    InputMagicalLeverUp2=NONE
[Info]    InputMagicalLeverDown2=NONE
[Info]    InputMagicalLever1=JOY1_YAXIS
[Info]    InputMagicalLever2=JOY2_YAXIS
[Info]    InputMagicalPedal1=KEY_A,JOY1_BUTTON1
[Info]    InputMagicalPedal2=KEY_S,JOY2_BUTTON1
[Info]    InputFishingRodLeft=KEY_LEFT
[Info]    InputFishingRodRight=KEY_RIGHT
[Info]    InputFishingRodUp=KEY_UP
[Info]    InputFishingRodDown=KEY_DOWN
[Info]    InputFishingStickLeft=KEY_A
[Info]    InputFishingStickRight=KEY_D
[Info]    InputFishingStickUp=KEY_W
[Info]    InputFishingStickDown=KEY_S
[Info]    InputFishingRodX=JOY1_XAXIS
[Info]    InputFishingRodY=JOY1_YAXIS
[Info]    InputFishingStickX=JOY1_RXAXIS
[Info]    InputFishingStickY=JOY1_RYAXIS
[Info]    InputFishingReel=KEY_SPACE,JOY1_ZAXIS_POS
[Info]    InputFishingCast=KEY_Z,JOY1_BUTTON1
[Info]    InputFishingSelect=KEY_X,JOY1_BUTTON2
[Info]    InputFishingTension=KEY_T,JOY1_ZAXIS_NEG
[Info]    LogOutput=Supermodel.log
[Info]    LogLevel=debug
[Info]  
[Debug] Built IRQ controller
[Debug] Built MPC10x
[Debug] Built PCI bus
[Debug] Built 53C810
[Debug] Built RTC-72421
[Debug] Built 93C46 EEPROM
[Debug] Built Tile Generator
[Debug] Built Real3D
[Debug] Built Sound Board
[Debug] Built JTAG logic
[Debug] Built Model 3
[Debug] CROM bank setting: 0 (FF), PC=00000000, LR=00000000
[Debug] Initialized Tile Generator (allocated 2.8 MB and connected to IRQ controller)
[Debug] Initialized Real3D (allocated 35.0 MB)
[Debug] Initialized 68K
[Debug] Attached bus to 68K
Bart
Site Admin
Posts: 137
Joined: Tue Nov 07, 2023 5:50 am

Re: Supermodel 0.3a-svn-860 (or above) exits if controller connected

Post by Bart »

This looks like a crash. If you are able to build in debug mode, can you also try running it in gdb? In my case, I have to type "bin64\supermodel roms\scud.zip", and to do the following with gdb:

gdb --args bin64\supermodel roms\scud.zip

Then type "run".

Code: Select all

C:\projects\Supermodel>gdb --args bin64\supermodel roms\scud.zip
GNU gdb (GDB) 13.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-w64-mingw32".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from bin64\supermodel...
(No debugging symbols found in bin64\supermodel)
(gdb) run
Starting program: C:\projects\Supermodel\bin64\supermodel.exe roms\scud.zip
[New Thread 27720.0xa828]
[New Thread 27720.0x741c]
[New Thread 27720.0x10c0]
Supermodel: A Sega Model 3 Arcade Emulator (Version 0.3a-WIP)
Copyright 2003-2024 by The Supermodel Team
Error: Could not open 'roms\scud.zip'.
[Thread 27720.0xa828 exited with code 1]
[Thread 27720.0x741c exited with code 1]
[Thread 27720.0x10c0 exited with code 1]
[Inferior 1 (process 27720) exited with code 01]
(gdb)
Here, it exited normally but printed an error because roms\scud.zip doesn't actually exist. What happens for you?
Post Reply