Code Monkey home page Code Monkey logo

Comments (26)

dukeeeey avatar dukeeeey commented on June 20, 2024 1

just don't enable -quad-rendering

from supermodel.

dukeeeey avatar dukeeeey commented on June 20, 2024

what's your emulated CPU clock speed? The default 50 is too low for the game

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

How can I find that out?

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

Is it this: PowerPCFrequency

And what should I set this to using the command line options?

e.g. -ppc-frequency=50?

from supermodel.

trzy avatar trzy commented on June 20, 2024

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

I've tried to do this via the supermodel.ini file. Nothing works there for game specific settings:

My ini file:

;;
;; Supermodel Configuration File
;; Default settings.
;;


;
; Quick Overview
; --------------
;
; All settings are case sensitive.  Numbers must be integers.  Check your
; spelling carefully because invalid settings are silently ignored.  To verify
; that your settings are being parsed correctly, check the contents of
; Supermodel.log.
;
; Global options apply to all games.  To create configuration profiles for
; individual games, place settings under sections with the same name as the
; corresponding MAME ROM set, like so:
;
;       ; Scud Race
;       [ scud ]
;
;       SoundVolume = 50
;       MusicVolume = 200
;       ; ... etc. ...
;
; For a list of all valid settings, please consult README.txt.  Only default
; inputs are assigned here.
;


[ Global ]

; Graphics
New3DEngine = true
QuadRendering = true
WideScreen = true
Stretch = false
XResolution = 3840
YResolution = 2160
WideBackground = true
ShowFrameRate = true

; Refresh rate (milliHertz accuracy). Actual Model 3 refresh rate is 57.524 Hz
; but this can cause judder so we use 60 Hz by default.
RefreshRate = 60.000

; Legacy SCSP DSP implementation for games that do not play well with the newer
; one (e.g., Fighting Vipers 2)
LegacySoundDSP = false

; Network board
Network = false
SimulateNet = true
PortIn = 1970
PortOut = 1971
AddressOut = "127.0.0.1"

; Common
InputStart1 = "KEY_1,JOY1_BUTTON19"
InputStart2 = "KEY_2,JOY2_BUTTON9"
InputCoin1 = "KEY_3,JOY1_BUTTON17"
InputCoin2 = "KEY_4,JOY2_BUTTON10"
InputServiceA = "KEY_F1"
InputServiceB = "KEY_F2"
InputTestA = "KEY_F3"
InputTestB = "KEY_F4"

; 4-way digital joysticks
InputJoyUp = "KEY_UP,JOY1_UP"
InputJoyDown = "KEY_DOWN,JOY1_DOWN"
InputJoyLeft = "KEY_LEFT,JOY1_LEFT"
InputJoyRight = "KEY_RIGHT,JOY1_RIGHT"
InputJoyUp2 = "JOY2_UP"
InputJoyDown2 = "JOY2_DOWN"
InputJoyLeft2 = "JOY2_LEFT"
InputJoyRight2 = "JOY2_RIGHT"

; Fighting game buttons
InputPunch = "KEY_A,JOY1_BUTTON1"
InputKick = "KEY_S,JOY1_BUTTON2"
InputGuard = "KEY_D,JOY1_BUTTON3"
InputEscape = "KEY_F,JOY1_BUTTON4"
InputPunch2 = "JOY2_BUTTON1"
InputKick2 = "JOY2_BUTTON2"
InputGuard2 = "JOY2_BUTTON3"
InputEscape2 = "JOY2_BUTTON4"

; Spikeout buttons
InputShift = "KEY_A,JOY1_BUTTON1"
InputBeat = "KEY_S,JOY1_BUTTON2"
InputCharge = "KEY_D,JOY1_BUTTON3"
InputJump = "KEY_F,JOY1_BUTTON4"

; Virtua Striker buttons
InputShortPass = "KEY_A,JOY1_BUTTON1"
InputLongPass = "KEY_S,JOY1_BUTTON2"
InputShoot = "KEY_D,JOY1_BUTTON3"
InputShortPass2 = "JOY2_BUTTON1"
InputLongPass2 = "JOY2_BUTTON2"
InputShoot2 = "JOY2_BUTTON3"

; Steering wheel
InputSteeringLeft = "KEY_LEFT"      ; digital, turn wheel left
InputSteeringRight = "KEY_RIGHT"    ; digital, turn wheel right
InputSteering = "JOY1_XAXIS"        ; analog, full steering range

; Pedals
InputAccelerator = "KEY_UP,JOY1_UP"
InputBrake = "KEY_DOWN,JOY1_DOWN"

; Up/down shifter manual transmission (all racers)
InputGearShiftUp = "JOY1_BUTTON11"           ; sequential shift up
InputGearShiftDown = "JOY1_BUTTON12"         ; sequential shift down

; 4-Speed manual transmission (Daytona 2, Sega Rally 2, Scud Race)
InputGearShift1 = "KEY_Q,JOY1_BUTTON9"
InputGearShift2 = "KEY_W,JOY1_BUTTON10"
InputGearShift3 = "KEY_E,JOY1_BUTTON11"
InputGearShift4 = "KEY_R,JOY1_BUTTON12"
InputGearShiftN = "KEY_T"

; VR4 view change buttons (Daytona 2, Le Mans 24, Scud Race)
InputVR1 = "KEY_A,JOY1_BUTTON1"
InputVR2 = "KEY_S,JOY1_BUTTON2"
InputVR3 = "KEY_D,JOY1_BUTTON3"
InputVR4 = "KEY_F,JOY1_BUTTON4"

; Single view change button (Dirt Devils, ECA, Harley-Davidson, Sega Rally 2)
InputViewChange = "KEY_A,JOY1_BUTTON1"

; Handbrake (Sega Rally 2)
InputHandBrake = "KEY_S,JOY1_BUTTON2"

; Harley-Davidson controls
InputRearBrake = "KEY_S,JOY1_BUTTON2"
InputMusicSelect = "KEY_D,JOY1_BUTTON3"

; Virtual On macros
InputTwinJoyTurnLeft = "KEY_Q,JOY1_RXAXIS_NEG"
InputTwinJoyTurnRight = "KEY_W,JOY1_RXAXIS_POS"
InputTwinJoyForward = "KEY_UP,JOY1_YAXIS_NEG"
InputTwinJoyReverse = "KEY_DOWN,JOY1_YAXIS_POS"
InputTwinJoyStrafeLeft = "KEY_LEFT,JOY1_XAXIS_NEG"
InputTwinJoyStrafeRight = "KEY_RIGHT,JOY1_XAXIS_POS"
InputTwinJoyJump = "KEY_E,JOY1_BUTTON1"
InputTwinJoyCrouch = "KEY_R,JOY1_BUTTON2"

; Virtual On individual joystick mapping
InputTwinJoyLeft1 = "NONE"
InputTwinJoyLeft2 = "NONE"
InputTwinJoyRight1 = "NONE"
InputTwinJoyRight2 = "NONE"
InputTwinJoyUp1 = "NONE"
InputTwinJoyUp2 = "NONE"
InputTwinJoyDown1 = "NONE"
InputTwinJoyDown2 = "NONE"

; Virtual On buttons
InputTwinJoyShot1 = "KEY_A,JOY1_BUTTON5"
InputTwinJoyShot2 = "KEY_S,JOY1_BUTTON6"
InputTwinJoyTurbo1 = "KEY_Z,JOY1_BUTTON7"
InputTwinJoyTurbo2 = "KEY_X,JOY1_BUTTON8"

; Analog joystick (Star Wars Trilogy)
InputAnalogJoyLeft = "KEY_LEFT"             ; digital, move left
InputAnalogJoyRight = "KEY_RIGHT"           ; digital, move right
InputAnalogJoyUp = "KEY_UP"                 ; digital, move up
InputAnalogJoyDown = "KEY_DOWN"             ; digital, move down
InputAnalogJoyX = "JOY_XAXIS,MOUSE_XAXIS"   ; analog, full X axis
InputAnalogJoyY = "JOY_YAXIS,MOUSE_YAXIS"   ; analog, full Y axis
InputAnalogJoyTrigger = "KEY_A,JOY_BUTTON1,MOUSE_LEFT_BUTTON"
InputAnalogJoyEvent = "KEY_S,JOY_BUTTON2,MOUSE_RIGHT_BUTTON"
InputAnalogJoyTrigger2 = "KEY_D,JOY_BUTTON2"
InputAnalogJoyEvent2 = "NONE"

; Light guns (Lost World)
InputGunLeft = "KEY_LEFT"               ; digital, move gun left
InputGunRight = "KEY_RIGHT"             ; digital, move gun right
InputGunUp = "KEY_UP"                   ; digital, move gun up
InputGunDown = "KEY_DOWN"               ; digital, move gun down
InputGunX = "MOUSE_XAXIS,JOY1_XAXIS"    ; analog, full X axis
InputGunY = "MOUSE_YAXIS,JOY1_YAXIS"    ; analog, full Y axis
InputTrigger = "KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON"
InputOffscreen = "KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON"    ; point off-screen
InputAutoTrigger = 0                    ; automatic reload when off-screen
InputGunLeft2 = "NONE"
InputGunRight2 = "NONE"
InputGunUp2 = "NONE"
InputGunDown2 = "NONE"
InputGunX2 = "JOY2_XAXIS"
InputGunY2 = "JOY2_YAXIS"
InputTrigger2 = "JOY2_BUTTON1"
InputOffscreen2 = "JOY2_BUTTON2"
InputAutoTrigger2 = 0

; Analog guns (Ocean Hunter, LA Machineguns)
InputAnalogGunLeft = "KEY_LEFT"               ; digital, move gun left
InputAnalogGunRight = "KEY_RIGHT"             ; digital, move gun right
InputAnalogGunUp = "KEY_UP"                   ; digital, move gun up
InputAnalogGunDown = "KEY_DOWN"               ; digital, move gun down
InputAnalogGunX = "MOUSE_XAXIS,JOY1_XAXIS"    ; analog, full X axis
InputAnalogGunY = "MOUSE_YAXIS,JOY1_YAXIS"    ; analog, full Y axis
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"

; Ski Champ controls
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"

; Magical Truck Adventure controls
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"

; Sega Bass Fishing / Get Bass controls
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"


[ eca ]

PowerPCFrequency = 160

[ daytona2 ]

PowerPCFrequency = 25

[ scud ]

InputJoy1XSaturation = 200
SoundVolume = 50
MusicVolume = 200

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

And for good measure here's my supermodel.log file:

[Info]  Supermodel Version 0.3a-git-75260f9
[Info]  Started as:
[Info]    argv[0] = C:\Users\jacob\Games\Sega Arcade\Model3\Supermodel_0.3a-git-75260f9_Win64\Supermodel.exe
[Info]    argv[1] = -outputs=win
[Info]    argv[2] = C:\Users\jacob\Games\Sega Arcade\Model3\ROMs\eca.zip
[Info]  Opened C:\Users\jacob\Games\Sega Arcade\Model3\ROMs\eca.zip.
[Info]  ecau:
[Info]    banked_crom: stride=8, chunk size=2, byte layout=10325476
[Info]      mpr-22873.4, crc32=0xdd406330, offset=0x00000000
[Info]      mpr-22872.3, crc32=0x4fde63a1, offset=0x00000002
[Info]      mpr-22871.2, crc32=0xcf5bb5b5, offset=0x00000004
[Info]      mpr-22870.1, crc32=0x52054043, offset=0x00000006
[Info]      mpr-22877.8, crc32=0xe53b8764, offset=0x01000000
[Info]      mpr-22876.7, crc32=0xa7561249, offset=0x01000002
[Info]      mpr-22875.6, crc32=0x1bb5c018, offset=0x01000004
[Info]      mpr-22874.5, crc32=0x5e990497, offset=0x01000006
[Info]      epr-22885.16, crc32=0x3525b46d, offset=0x03000000
[Info]      epr-22884.15, crc32=0x254c3b63, offset=0x03000002
[Info]      epr-22883.14, crc32=0x86d90148, offset=0x03000004
[Info]      epr-22882.13, crc32=0xb161416f, offset=0x03000006
[Info]    crom: stride=8, chunk size=2, byte layout=10325476
[Info]      epr-22898.20, crc32=0xefb96701, offset=0x00000000
[Info]      epr-22905.19, crc32=0x9755dd8c, offset=0x00000002
[Info]      epr-22904.18, crc32=0x0ff828a8, offset=0x00000004
[Info]      epr-22895.17, crc32=0x07df16a0, offset=0x00000006
[Info]    driveboard_program: stride=1, chunk size=1, byte layout=
[Info]      epr-19338a.bin, crc32=0xc9fac464, offset=0x00000000
[Info]    sound_program: stride=2, chunk size=2, byte layout=10
[Info]      epr-22886.21, crc32=0x374ec1c6, offset=0x00000000
[Info]    sound_samples: stride=2, chunk size=2, byte layout=10
[Info]      mpr-22887.22, crc32=0x7d04a867, offset=0x00000000
[Info]      mpr-22889.24, crc32=0x4f9ba45d, offset=0x00400000
[Info]      mpr-22888.23, crc32=0x018fcf22, offset=0x00800000
[Info]      mpr-22890.25, crc32=0xb638bd7c, offset=0x00c00000
[Info]    vrom: stride=32, chunk size=2, byte layout=
[Info]      mpr-22854.26, crc32=0x97a23d16, offset=0x00000000
[Info]      mpr-22855.27, crc32=0x7249cdc9, offset=0x00000002
[Info]      mpr-22856.28, crc32=0x9c0d1d1b, offset=0x00000004
[Info]      mpr-22857.29, crc32=0x44e6ce2b, offset=0x00000006
[Info]      mpr-22858.30, crc32=0x0af40aae, offset=0x00000008
[Info]      mpr-22859.31, crc32=0xc64f0158, offset=0x0000000a
[Info]      mpr-22860.32, crc32=0x053af14b, offset=0x0000000c
[Info]      mpr-22861.33, crc32=0xd26343da, offset=0x0000000e
[Info]      mpr-22862.34, crc32=0x38347c14, offset=0x00000010
[Info]      mpr-22863.35, crc32=0x28b558e6, offset=0x00000012
[Info]      mpr-22864.36, crc32=0x31ed02f6, offset=0x00000014
[Info]      mpr-22865.37, crc32=0x3e3a211a, offset=0x00000016
[Info]      mpr-22866.38, crc32=0xa863a3c8, offset=0x00000018
[Info]      mpr-22867.39, crc32=0x1ce6c7b2, offset=0x0000001a
[Info]      mpr-22868.40, crc32=0x2db40cf8, offset=0x0000001c
[Info]      mpr-22869.41, crc32=0xc6d62634, 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.0
[Info]    BalanceLeftRight=0.0
[Info]    BalanceFrontRear=0.0
[Info]    NbSoundChannels=4
[Info]    SoundFreq=57.6
[Info]    EmulateDSB=1
[Info]    SoundVolume=100
[Info]    MusicVolume=100
[Info]    LegacySoundDSP=false
[Info]    ForceFeedback=0
[Info]    New3DEngine=true
[Info]    QuadRendering=true
[Info]    XResolution=3840
[Info]    YResolution=2160
[Info]    WindowXPosition=<empty>
[Info]    WindowYPosition=<empty>
[Info]    FullScreen=0
[Info]    BorderlessWindow=0
[Info]    Supersampling=1
[Info]    WideScreen=true
[Info]    Stretch=false
[Info]    WideBackground=true
[Info]    VSync=1
[Info]    Throttle=1
[Info]    RefreshRate=60.000
[Info]    ShowFrameRate=true
[Info]    Crosshairs=0
[Info]    CrosshairStyle=vector
[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=false
[Info]    SimulateNet=true
[Info]    PortIn=1970
[Info]    PortOut=1971
[Info]    AddressOut=127.0.0.1
[Info]    Outputs=win
[Info]    DumpTextures=0
[Info]    InputStart1=KEY_1,JOY1_BUTTON19
[Info]    InputStart2=KEY_2,JOY2_BUTTON9
[Info]    InputCoin1=KEY_3,JOY1_BUTTON17
[Info]    InputCoin2=KEY_4,JOY2_BUTTON10
[Info]    InputServiceA=KEY_F1
[Info]    InputServiceB=KEY_F2
[Info]    InputTestA=KEY_F3
[Info]    InputTestB=KEY_F4
[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=JOY1_BUTTON11
[Info]    InputGearShiftDown=JOY1_BUTTON12
[Info]    InputGearShift1=KEY_Q,JOY1_BUTTON9
[Info]    InputGearShift2=KEY_W,JOY1_BUTTON10
[Info]    InputGearShift3=KEY_E,JOY1_BUTTON11
[Info]    InputGearShift4=KEY_R,JOY1_BUTTON12
[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=info
[Info]  
[Info]  OpenGL information:
[Info]    Vendor                   : NVIDIA Corporation
[Info]    Renderer                 : NVIDIA GeForce RTX 2060/PCIe/SSE2
[Info]    Version                  : 4.5.0 NVIDIA 537.42
[Info]    Shading Language Version : 4.50 NVIDIA
[Info]    Maximum Vertex Array Size: 1048576 vertices
[Info]    Maximum Texture Size     : 32768 texels
[Info]    Maximum Vertex Attributes: 16
[Info]    Maximum Vertex Uniforms  : 4096
[Info]    Maximum Texture Img Units: 32
[Info]  
[Info]  Program terminated normally.

from supermodel.

trzy avatar trzy commented on June 20, 2024

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

Aha. I've just noticed this in the log file:

[Info]  Opened C:\Users\jacob\Games\Sega Arcade\Model3\ROMs\eca.zip.
[Info]  ecau:

So I added this to my config file:

[ ecau ]

PowerPCFrequency = 160

And now the correct thing is showing up in the logs.

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

I think you can see where I'm going with this now.... Even though I'm using the ROM eca.zip, why is this coming up as ecau?

A bug, something to do with the romset, something else?

from supermodel.

trzy avatar trzy commented on June 20, 2024

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

Just did a run through Emergency call, PowerPCFrequency was set to 166, definitely ran much better. There was a bit of lag towards the end of the 3rd level but I'm not sure if that's an emulation issue or what else now? I need to try it on the real machine 😆

Thanks for your help.

from supermodel.

trzy avatar trzy commented on June 20, 2024

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

Thank you so much for your help. This is great stuff for me to get on with!

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

I've now tested the 3rd level (the one with the fire) using the -legacy3d option. Performance is much better there / almost perfect, but the visuals are much worse as I expected.

Using the new 3d engine with my PPC at 166. I notice a lot of lag during these moments:

image

image

image

image

So I think you're right, it's something to do with the flames / transparency.

from supermodel.

dukeeeey avatar dukeeeey commented on June 20, 2024

You need a very fast cpu for 166mhz emulation. Try maybe 100mhz. Also what gpu do you have?

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

I'll give 100mhz a go.

My specs:
AMD Ryzen 5 3600X
RTX 2060 6GB
32GB RAM

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

I've tried again with ppc ranging from 60-166 in increments of 10. I would say that none of them have completely fixed the performance where it's on par with the legacy3d engine. It's definitely an improvement over where I started though!

I'm still getting big dips down to anywhere between 35-50fps with a fair bit of input lag. I'm not really sure what else I can do to fix the performance?

from supermodel.

dukeeeey avatar dukeeeey commented on June 20, 2024

RTX 2060 6GB

That card should be MORE than fast enough. Are you sure you aren't using integrated gfx lol. What resolution are you using? Are you using super sampling?

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

I'm pretty sure I don't even have integrated graphics on my CPU lmao. 😆

I'm running in 4k (3140 x 2160). I'm not using any supersampling.

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

Running in 1080P & 1440P removes all lag for me though! So must be a 4k / GPU issue.

from supermodel.

dukeeeey avatar dukeeeey commented on June 20, 2024

You can try using the triangle renderer, it's a lot cheaper on the GPU

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

How can I do that? 😨

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

Setting QuadRendering = false and running in 4k the difference in performance is negligible. My frames still tank when there are flames.

So far the best solution for me has been to downgrade my resolution to 1440p, whilst keeping Quadrendering to true, and the PowerPCFrequency at 166. That gives me the best performance and visuals.

from supermodel.

crashGG avatar crashGG commented on June 20, 2024

Setting QuadRendering = false and running in 4k the difference in performance is negligible. My frames still tank when there are flames.

So far the best solution for me has been to downgrade my resolution to 1440p, whilst keeping Quadrendering to true, and the PowerPCFrequency at 166. That gives me the best performance and visuals.

Have you ever recorded cpu and gpu usage when lag occurs?
Maybe you can try this build,
https://www.supermodel3.com/Files/Git_Snapshots/Supermodel_0.3a-git-4c727ab_Win64.zip
after this version , the new 3d engine updates the api to opengl 4+ .From then on, the nightmare of lags began...

from supermodel.

jaoxford avatar jaoxford commented on June 20, 2024

Have you ever recorded cpu and gpu usage when lag occurs? Maybe you can try this build, https://www.supermodel3.com/Files/Git_Snapshots/Supermodel_0.3a-git-4c727ab_Win64.zip after this version , the new 3d engine updates the api to opengl 4+ .From then on, the nightmare of lags began...

No I've not tried to record CPU / GPU. Any recommendations / suggestions on how to do so?

I've tried to use the legacy-3d engine on the latest build which solved the lag issue, but the visuals were poor.

from supermodel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.