supermodel

This commit is contained in:
lazzite 2026-09-01 16:56:07 +02:00
parent 3fc221c7a7
commit 6d2d9ba5d8
38 changed files with 4357 additions and 0 deletions

View file

@ -0,0 +1,44 @@
#!/bin/bash
# Supermodel all config folders and files needs to be next to the roms.
export supermodel_config="$XDG_CONFIG_HOME/supermodel/Config/Supermodel.ini"
_prepare_component::supermodel() {
local action="$1"
shift
local component_config="$(get_own_component_path)/rd_config"
case "$action" in
reset)
log i "----------------------"
log i "Resetting Supermodel"
log i "----------------------"
cp -fr "$component_config/"* "$roms_path/model3/"
dir_prep "$logs_path/supermodel/Analysis" "$roms_path/model3/Analysis"
dir_prep "$logs_path/supermodel/Logs" "$roms_path/model3/Logs"
dir_prep "$saves_path/model3/supermodel/Saves" "$roms_path/model3/Saves"
dir_prep "$roms_path/model3/Config" "$XDG_CONFIG_HOME/supermodel/Config"
;;
postmove)
log i "----------------------"
log i "Post-moving Supermodel"
log i "----------------------"
dir_prep "$logs_path/supermodel/Analysis" "$roms_path/model3/Analysis"
dir_prep "$logs_path/supermodel/Logs" "$roms_path/model3/Logs"
dir_prep "$saves_path/model3/supermodel/Saves" "$roms_path/model3/Saves"
dir_prep "$roms_path/model3/Config" "$XDG_CONFIG_HOME/supermodel/Config"
;;
esac
}

View file

@ -0,0 +1,20 @@
#!/bin/bash
source /app/libexec/launcher_functions.sh
# Wayland fix
WAYLAND_DISPLAY=""
# Setting component name and path based on the directory name
component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")"
component_path="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)"
# Set LD_LIBRARY_PATH
export LD_LIBRARY_PATH="$component_path/lib:${DEFAULT_LD_LIBRARY_PATH}"
log i "RetroDECK is now launching $component_name"
log d "Library path is: $LD_LIBRARY_PATH"
# Launch
exec "$component_path/bin/supermodel" "$@"

View file

@ -0,0 +1,52 @@
{
"supermodel": {
"name": "Supermodel",
"core_framework_compatibility": "1",
"component_version": "1.0.0",
"capabilities": [
"reset",
"open"
],
"url_rdwiki": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/supermodel3/supermodel3-guide/",
"url_webpage": "https://www.supermodel3.com/",
"url_donation_purchase": "",
"url_source": "https://github.com/trzy/Supermodel",
"description": "SEGA Model 3 arcade emulator for playing Model 3 arcade games.",
"system_friendly_name": "Sega Model 3",
"system": "model3",
"es_de_config": {
"es_find_rules": {
"emulators": [
{
"name": "SUPERMODEL",
"description": "Sega Model 3 emulator Supermodel",
"rules": [
{
"type": "staticpath",
"entries": [
"%COMPONENT_PATH%/component_launcher.sh"
]
}
]
}
]
},
"es_systems": [
{
"name": "model3",
"fullname": "model3",
"path": "%ROMPATH%/model3",
"extension": ".7z .zip",
"commands": [
{
"label": "Supermodel (Standalone)",
"command": "%STARTDIR%=%GAMEDIR% %EMULATOR_SUPERMODEL% -fullscreen -game-xml-file=%GAMEDIR%/Config/Games.xml -log-output=%GAMEDIR%/Config/Supermodel.log -force-feedback %INJECT%=%BASENAME%.commands %ROM%"
}
],
"platform": "arcade",
"theme": "model3"
}
]
}
}
}

View file

@ -0,0 +1,60 @@
{
"supermodel": [
{
"source_url": "com.supermodel3.Supermodel",
"source_type": "flatpak_id",
"version": "$SUPERMODEL_DESIRED_VERSION",
"dest": "user",
"extraction_type": "flatpak",
"assets": [
{
"type": "file",
"source": "bin/supermodel",
"dest": "bin"
},
{
"type": "file",
"source": "bin/Docs/LICENSE.txt",
"dest": "docs"
},
{
"type": "create",
"dest": "component_version",
"contents": "$SOURCE_VERSION"
},
{
"type": "dir",
"source": "$REPO_ROOT/$COMPONENT_NAME/rd_assets/rd_config",
"dest": "rd_config"
},
{
"type": "file",
"source": "$REPO_ROOT/$COMPONENT_NAME/component_functions.sh",
"dest": "$COMPONENT_ARTIFACT_ROOT"
},
{
"type": "file",
"source": "$REPO_ROOT/$COMPONENT_NAME/component_launcher.sh",
"dest": "$COMPONENT_ARTIFACT_ROOT"
},
{
"type": "file",
"source": "$REPO_ROOT/$COMPONENT_NAME/component_manifest.json",
"dest": "$COMPONENT_ARTIFACT_ROOT"
},
{
"type": "file",
"source": "$REPO_ROOT/$COMPONENT_NAME/component_recipe.json",
"dest": "$COMPONENT_ARTIFACT_ROOT"
}
],
"libs": [
{
"library": "libGLU.so.1",
"source": "lib",
"dest": "lib"
}
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,96 @@
<!--
Supermodel
A Sega Model 3 Arcade Emulator.
Copyright 2003-2026 The Supermodel Team
Music.xml
This file defines custom MPEG music tracks to be used in DSB1 and DSB2 games.
Make sure to use MP3 files sampled at 32 KHz. Normal sampling rates (e.g. 44.1
or 48 KHz) will sound slow.
The examples below are wrapped in dummy <comment></comment> blocks to render
them inactive. Remove these and add your own MP2 or MP3 files.
-->
<games>
<!-- Scud Race (Australian version)-->
<!-- Works for all versions of Scud Race. Copy this and change game name
accordingly (e.g., "scudplus", "scuddx", etc.) -->
<comment> <!-- Remove this tag -->
<game name="scudau">
<track mpeg_rom_start_offset="0x001d4b42" filepath="Rick Astley - Together Forever - 32 KHz.mp3" /> <!-- Beginner Day -->
<track mpeg_rom_start_offset="0x000e7e41" filepath="Rick Astley - Together Forever - 32 KHz.mp3" /> <!-- Beginner Night (initial start) -->
<track mpeg_rom_start_offset="0x00103981" filepath="Rick Astley - Together Forever - 32 KHz.mp3" /> <!-- Beginner Night (loop point) -->
<track mpeg_rom_start_offset="0x00000000" filepath="Rick Astley - Together Forever - 32 KHz.mp3" /> <!-- Medium (initial start) -->
<track mpeg_rom_start_offset="0x0001caff" filepath="Rick Astley - Together Forever - 32 KHz.mp3" /> <!-- Medium (loop point) -->
<track mpeg_rom_start_offset="0x0037a4c4" filepath="Rick Astley - Together Forever - 32 KHz.mp3" /> <!-- Expert (initial start) -->
<track mpeg_rom_start_offset="0x0037fc84" filepath="Rick Astley - Together Forever - 32 KHz.mp3" /> <!-- Expert (loop point) -->
<track mpeg_rom_start_offset="0x002afa83" filepath="Rick Astley - Together Forever - 32 KHz.mp3" /> <!-- Extra (initial start) -->
<track mpeg_rom_start_offset="0x002b4943" filepath="Rick Astley - Together Forever - 32 KHz.mp3" /> <!-- Extra (loop point) -->
<track mpeg_rom_start_offset="0x00463745" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Selector -->
</game>
</comment> <!-- Remove this tag -->
<!-- Daytona USA 2: Battle on the Edge (daytona2) -->
<!-- For Power Edition, copy this and change game name to "dayto2pe" -->
<comment> <!-- Remove this tag -->
<game name="daytona2">
<track mpeg_rom_start_offset="0x000109e8" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Advertise, Dennis -->
<track mpeg_rom_start_offset="0x001214aa" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Beginner, Dennis (initial start) -->
<track mpeg_rom_start_offset="0x00124f2a" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Beginner, Dennis (loop point) -->
<track mpeg_rom_start_offset="0x002bc7ac" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Advanced, Dennis (initial start) -->
<track mpeg_rom_start_offset="0x002edd6c" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Advanced, Dennis (loop point) -->
<track mpeg_rom_start_offset="0x003cddae" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Expert, Dennis (initial start) -->
<track mpeg_rom_start_offset="0x003fe3ae" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Expert, Dennis (loop point) -->
<track mpeg_rom_start_offset="0x00d80e02" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Advertise, Mitsuyoshi -->
<track mpeg_rom_start_offset="0x005177b0" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Beginner, Mitsuyoshi (initial start) -->
<track mpeg_rom_start_offset="0x0051aff0" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Beginner, Mitsuyoshi (loop point) -->
<track mpeg_rom_start_offset="0x007cd0b4" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Advanced, Mitsuyoshi (initial start) -->
<track mpeg_rom_start_offset="0x007fe674" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Advanced, Mitsuyoshi (loop point) -->
<track mpeg_rom_start_offset="0x008df436" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Expert, Mitsuyoshi (initial start) -->
<track mpeg_rom_start_offset="0x008df676" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Expert, Mitsuyoshi (loop point) -->
<track mpeg_rom_start_offset="0x00a29978" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- How To (initial start) -->
<track mpeg_rom_start_offset="0x00a50438" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- How To (loop point) -->
<track mpeg_rom_start_offset="0x00b1427a" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Selector (initial start) -->
<track mpeg_rom_start_offset="0x00b2f6fa" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Selector (loop point) -->
<track mpeg_rom_start_offset="0x00c4213e" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Name Entry -->
<track mpeg_rom_start_offset="0x00cc9380" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Ending (Beginner) -->
<track mpeg_rom_start_offset="0x006b2ab2" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Ending (Advanced) -->
<track mpeg_rom_start_offset="0x00e8de44" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Ending (Expert) -->
<track mpeg_rom_start_offset="0x00f458c6" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Ending (Expert 2) -->
<track mpeg_rom_start_offset="0x0076ff34" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Goal (Beginner) -->
<track mpeg_rom_start_offset="0x0078c136" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Goal (Advanced) -->
<track mpeg_rom_start_offset="0x007a7c78" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Goal (Expert) -->
</game>
</comment> <!-- Remove this tag -->
<!-- Sega Rally 2 -->
<comment> <!-- Remove this tag -->
<game name="srally2">
<!--
Note: Some tracks are played as mono, sourced from a single audio channel.
For these, ensure that your audio file contains the appropriate song
rendered in mono in the correct stereo channel.
-->
<track mpeg_rom_start_offset="0x000109e8" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Left channel: BM_ADV1 (initial start), Right channel: BM_RESERVE2 -->
<track mpeg_rom_start_offset="0x00010c28" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Left channel: BM_ADV1 (loop point) -->
<track mpeg_rom_start_offset="0x001e576a" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_ADV2 (initial start) -->
<track mpeg_rom_start_offset="0x001e59aa" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_ADV2 (loop point) -->
<track mpeg_rom_start_offset="0x003452ac" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_MOUNTAIN (initial start) -->
<track mpeg_rom_start_offset="0x003accec" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_MOUNTAIN (loop point) -->
<track mpeg_rom_start_offset="0x00a60ff6" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_RESULT -->
<track mpeg_rom_start_offset="0x005d1ab0" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_SNOWY (initial start) -->
<track mpeg_rom_start_offset="0x006343f0" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_SNOWY (loop point) -->
<track mpeg_rom_start_offset="0x007b22f2" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Left channel: BM_N_MOUNTAIN (initial start), Right channel: BM_RESERVE1 (initial start) -->
<track mpeg_rom_start_offset="0x008162b2" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Left channel: BM_N_MOUNTAIN -->
<track mpeg_rom_start_offset="0x007fe672" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- Right channel: BM_RESERVE1 (loop point) -->
<track mpeg_rom_start_offset="0x00976934" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_ENDING -->
<track mpeg_rom_start_offset="0x00ade038" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_DESERT -->
<track mpeg_rom_start_offset="0x00cf517a" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_SELECT -->
<track mpeg_rom_start_offset="0x00cf53ba" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_SELECT -->
<track mpeg_rom_start_offset="0x00d9f87c" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_IGNITION -->
<track mpeg_rom_start_offset="0x00f95fbe" filepath="Rick Astley - Never Gonna Give You Up - 32 KHz.mp3" /> <!-- BM_GAMEOVER -->
</game>
</comment> <!-- Remove this tag -->
</games>

View file

@ -0,0 +1,825 @@
[ Global ]
; ============================================================================
; RetroDECK Supermodel Config
; ============================================================================
; ============================================================================
; GRAPHICS
; ============================================================================
; Enable Supermodel's newer 3D rendering engine.
New3DEngine = 1
; Enable quad rendering.
QuadRendering = 1
; Widescreen rendering.
WideScreen = 0
; Stretch the image to fill the display.
Stretch = 0
; Extend the background when using widescreen.
WideBackground = 0
; Supersampling level.
Supersampling = 1
; CRT-like color adaption: 0=none, 1=ARI/D93 (recommended for all JP developed games),
; 2=PVM_20M2U/D93, 3=BT601_525/D93, 4=BT601_525/D65 (recommended for all US developed games)
; 5=BT601_625/D65 (recommended for all EUR/AUS developed games)
CRTcolors = 0
; Upscale filter used for the 2D layers: 0=none/sharp pixels, 1=biquintic,
; 2=bilinear, 3=bicubic
UpscaleMode = 2
; Output resolution.
XResolution = 0
YResolution = 0
; Fullscreen mode.
FullScreen = 1
; Borderless window mode.
BorderlessWindow = 1
; Vertical synchronization.
VSync = 1
; Frame-rate throttling.
Throttle = 1
; Refresh rate in Hz.
; Actual Model 3 refresh rate is 57.524 Hz, but this can cause judder
; so 60 Hz is used by default.
RefreshRate = 60
; Display the current frame rate.
ShowFrameRate = 0
; ============================================================================
; AUDIO
; ============================================================================
; Sound emulation.
EmulateSound = 1
; Digital Sound Board emulation.
EmulateDSB = 1
; Number of sound channels.
NbSoundChannels = 4
; Model 3 sound frequency.
SoundFreq = 57.5242
; Overall audio balance.
Balance = 0
; Left/right audio balance.
BalanceLeftRight = 0
; Front/rear audio balance.
BalanceFrontRear = 0
; Overall sound volume.
SoundVolume = 100
; Music volume.
MusicVolume = 100
; Legacy SCSP DSP implementation for games that do not play well with the newer
; one (e.g., Fighting Vipers 2).
LegacySoundDSP = 0
; ============================================================================
; EMULATION
; ============================================================================
; Optional game XML file.
GameXMLFile =
; Optional initial state file.
InitStateFile =
; PowerPC emulation frequency.
PowerPCFrequency = 0
; Multi-threaded emulation.
MultiThreaded = 1
; Multi-threaded GPU processing.
GPUMultiThreaded = 1
; Multi-texturing.
MultiTexture = 0
; Custom vertex shader.
VertexShader =
; Custom fragment shader.
FragmentShader =
; ============================================================================
; FORCE FEEDBACK
; ============================================================================
; Force feedback.
ForceFeedback = 0
; Maximum constant-force strength.
SDLConstForceMax = 100
; Maximum self-centering strength.
SDLSelfCenterMax = 100
; Maximum friction strength.
SDLFrictionMax = 100
; Maximum vibration strength.
SDLVibrateMax = 100
; Constant-force activation threshold.
SDLConstForceThreshold = 30
; ============================================================================
; DISPLAY / GAME EFFECTS
; ============================================================================
; Crosshair display.
Crosshairs = 0
; Crosshair rendering style.
CrosshairStyle = vector
; Suppress the white-screen flash effect.
NoWhiteFlash = 0
; Reverse left/right stereo channels.
FlipStereo = 0
; ============================================================================
; INPUT
; ============================================================================
; Input system.
InputSystem = sdl
; Digital input sensitivity.
InputDigitalSensitivity = 25
; Digital input decay speed.
InputDigitalDecaySpeed = 50
; Keyboard input sensitivity.
InputKeySensitivity = 25
; Keyboard input decay speed.
InputKeyDecaySpeed = 50
; ============================================================================
; MOUSE
; ============================================================================
; Horizontal mouse dead zone.
InputMouseXDeadZone = 0
; Vertical mouse dead zone.
InputMouseYDeadZone = 0
; Mouse wheel/Z-axis dead zone.
InputMouseZDeadZone = 0
; ============================================================================
; NETWORK
; ============================================================================
; Network emulation.
Network = 0
; Simulated network.
SimulateNet = 1
; Incoming network port.
PortIn = 1970
; Outgoing network port.
PortOut = 1971
; Network output address.
AddressOut = 127.0.0.1
; ============================================================================
; EXTERNAL OUTPUTS
; ============================================================================
; External output mode.
Outputs = none
; Low-frequency external outputs.
OutputsWithLF = 0
; TCP output port.
OutputsTCPPort = 8000
; UDP broadcast output port.
OutputsUDPBroadcastPort = 8001
; ============================================================================
; DEBUG / DUMPING
; ============================================================================
; Dump emulated memory.
DumpMemory = 0
; Dump textures.
DumpTextures = 0
; ============================================================================
; COMMON CONTROLS
; ============================================================================
; Start buttons.
InputStart1 = "KEY_1,JOY1_BUTTON9"
InputStart2 = "KEY_2,JOY2_BUTTON9"
; Coin buttons.
InputCoin1 = "KEY_3,JOY1_BUTTON10"
InputCoin2 = "KEY_4,JOY2_BUTTON10"
; Service buttons.
InputServiceA = "KEY_5"
InputServiceB = "KEY_7"
; Test buttons.
InputTestA = "KEY_6"
InputTestB = "KEY_8"
; ============================================================================
; DIGITAL JOYSTICKS
; ============================================================================
; Player 1 four-way digital joystick.
InputJoyUp = "KEY_UP,JOY1_UP"
InputJoyDown = "KEY_DOWN,JOY1_DOWN"
InputJoyLeft = "KEY_LEFT,JOY1_LEFT"
InputJoyRight = "KEY_RIGHT,JOY1_RIGHT"
; Player 2 four-way digital joystick.
InputJoyUp2 = "JOY2_UP"
InputJoyDown2 = "JOY2_DOWN"
InputJoyLeft2 = "JOY2_LEFT"
InputJoyRight2 = "JOY2_RIGHT"
; ============================================================================
; FIGHTING GAMES
; ============================================================================
; Player 1 fighting controls.
InputPunch = "KEY_A,JOY1_BUTTON1"
InputKick = "KEY_S,JOY1_BUTTON2"
InputGuard = "KEY_D,JOY1_BUTTON3"
InputEscape = "KEY_F,JOY1_BUTTON4"
; Player 2 fighting controls.
InputPunch2 = "JOY2_BUTTON1"
InputKick2 = "JOY2_BUTTON2"
InputGuard2 = "JOY2_BUTTON3"
InputEscape2 = "JOY2_BUTTON4"
; ============================================================================
; SPIKEOUT
; ============================================================================
InputShift = "KEY_A,JOY1_BUTTON1"
InputBeat = "KEY_S,JOY1_BUTTON2"
InputCharge = "KEY_D,JOY1_BUTTON3"
InputJump = "KEY_F,JOY1_BUTTON4"
; ============================================================================
; VIRTUA STRIKER
; ============================================================================
; Player 1 controls.
InputShortPass = "KEY_A,JOY1_BUTTON1"
InputLongPass = "KEY_S,JOY1_BUTTON2"
InputShoot = "KEY_D,JOY1_BUTTON3"
; Player 2 controls.
InputShortPass2 = "JOY2_BUTTON1"
InputLongPass2 = "JOY2_BUTTON2"
InputShoot2 = "JOY2_BUTTON3"
; ============================================================================
; STEERING WHEEL
; ============================================================================
; Digital steering controls.
InputSteeringLeft = "KEY_LEFT"
InputSteeringRight = "KEY_RIGHT"
; Analog steering axis.
InputSteering = "JOY1_XAXIS"
; ============================================================================
; PEDALS
; ============================================================================
; Accelerator and brake.
InputAccelerator = "KEY_UP,JOY1_UP"
InputBrake = "KEY_DOWN,JOY1_DOWN"
; ============================================================================
; MANUAL TRANSMISSION
; ============================================================================
; Sequential transmission controls used by racers.
InputGearShiftUp = "KEY_Y"
InputGearShiftDown = "KEY_H"
; 4-speed manual transmission.
; Used by Daytona 2, Sega Rally 2 and Scud Race.
InputGearShift1 = "KEY_Q,JOY1_BUTTON5"
InputGearShift2 = "KEY_W,JOY1_BUTTON6"
InputGearShift3 = "KEY_E,JOY1_BUTTON7"
InputGearShift4 = "KEY_R,JOY1_BUTTON8"
InputGearShiftN = "KEY_T"
; ============================================================================
; VIEW CHANGE
; ============================================================================
; Four-view selection used by Daytona 2, Le Mans 24 and Scud Race.
InputVR1 = "KEY_A,JOY1_BUTTON1"
InputVR2 = "KEY_S,JOY1_BUTTON2"
InputVR3 = "KEY_D,JOY1_BUTTON3"
InputVR4 = "KEY_F,JOY1_BUTTON4"
; Single-button view change used by Dirt Devils, ECA,
; Harley-Davidson and Sega Rally 2.
InputViewChange = "KEY_A,JOY1_BUTTON1"
; ============================================================================
; HANDBRAKE
; ============================================================================
; Sega Rally 2 handbrake.
InputHandBrake = "KEY_S,JOY1_BUTTON2"
; ============================================================================
; HARLEY-DAVIDSON
; ============================================================================
InputRearBrake = "KEY_S,JOY1_BUTTON2"
InputMusicSelect = "KEY_D,JOY1_BUTTON3"
; ============================================================================
; VIRTUAL ON
; ============================================================================
; Twin-stick movement 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"
; Twin-stick jump and crouch.
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
; ============================================================================
; Digital movement controls.
InputAnalogJoyLeft = "KEY_LEFT"
InputAnalogJoyRight = "KEY_RIGHT"
InputAnalogJoyUp = "KEY_UP"
InputAnalogJoyDown = "KEY_DOWN"
; Analog movement axes.
InputAnalogJoyX = "JOY_XAXIS,MOUSE_XAXIS"
InputAnalogJoyY = "JOY_YAXIS,MOUSE_YAXIS"
; Primary controls.
InputAnalogJoyTrigger = "KEY_A,JOY_BUTTON1,MOUSE_LEFT_BUTTON"
InputAnalogJoyEvent = "KEY_S,JOY_BUTTON2,MOUSE_RIGHT_BUTTON"
; Secondary controls.
InputAnalogJoyTrigger2 = "KEY_D,JOY_BUTTON2"
InputAnalogJoyEvent2 = "NONE"
; ============================================================================
; LIGHT GUNS
; THE LOST WORLD
; ============================================================================
; Digital gun movement.
InputGunLeft = "KEY_LEFT"
InputGunRight = "KEY_RIGHT"
InputGunUp = "KEY_UP"
InputGunDown = "KEY_DOWN"
; Analog gun movement.
InputGunX = "MOUSE_XAXIS,JOY1_XAXIS"
InputGunY = "MOUSE_YAXIS,JOY1_YAXIS"
; Primary gun controls.
InputTrigger = "KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON"
InputOffscreen = "KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON"
; Automatic reload when pointing off-screen.
InputAutoTrigger = 0
; Player 2 digital gun movement.
InputGunLeft2 = "NONE"
InputGunRight2 = "NONE"
InputGunUp2 = "NONE"
InputGunDown2 = "NONE"
; Player 2 analog gun movement.
InputGunX2 = "JOY2_XAXIS"
InputGunY2 = "JOY2_YAXIS"
; Player 2 gun controls.
InputTrigger2 = "JOY2_BUTTON1"
InputOffscreen2 = "JOY2_BUTTON2"
InputAutoTrigger2 = 0
; ============================================================================
; ANALOG GUNS
; OCEAN HUNTER / LA MACHINEGUNS
; ============================================================================
; Digital gun movement.
InputAnalogGunLeft = "KEY_LEFT"
InputAnalogGunRight = "KEY_RIGHT"
InputAnalogGunUp = "KEY_UP"
InputAnalogGunDown = "KEY_DOWN"
; Analog gun movement.
InputAnalogGunX = "MOUSE_XAXIS,JOY1_XAXIS"
InputAnalogGunY = "MOUSE_YAXIS,JOY1_YAXIS"
; Primary gun triggers.
InputAnalogTriggerLeft = "KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON"
InputAnalogTriggerRight = "KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON"
; Player 2 digital gun movement.
InputAnalogGunLeft2 = "NONE"
InputAnalogGunRight2 = "NONE"
InputAnalogGunUp2 = "NONE"
InputAnalogGunDown2 = "NONE"
; Player 2 analog gun movement.
InputAnalogGunX2 = "NONE"
InputAnalogGunY2 = "NONE"
; Player 2 gun triggers.
InputAnalogTriggerLeft2 = "NONE"
InputAnalogTriggerRight2 = "NONE"
; ============================================================================
; SKI CHAMP
; ============================================================================
; Digital ski movement.
InputSkiLeft = "KEY_LEFT"
InputSkiRight = "KEY_RIGHT"
InputSkiUp = "KEY_UP"
InputSkiDown = "KEY_DOWN"
; Analog ski movement.
InputSkiX = "JOY1_XAXIS"
InputSkiY = "JOY1_YAXIS"
; Ski pole controls.
InputSkiPollLeft = "KEY_A,JOY1_BUTTON1"
InputSkiPollRight = "KEY_S,JOY1_BUTTON2"
; Selection controls.
InputSkiSelect1 = "KEY_Q,JOY1_BUTTON3"
InputSkiSelect2 = "KEY_W,JOY1_BUTTON4"
InputSkiSelect3 = "KEY_E,JOY1_BUTTON5"
; ============================================================================
; MAGICAL TRUCK ADVENTURE
; ============================================================================
; Player 1 digital lever controls.
InputMagicalLeverUp1 = "KEY_UP"
InputMagicalLeverDown1 = "KEY_DOWN"
; Player 2 digital lever controls.
InputMagicalLeverUp2 = "NONE"
InputMagicalLeverDown2 = "NONE"
; Analog lever axes.
InputMagicalLever1 = "JOY1_YAXIS"
InputMagicalLever2 = "JOY2_YAXIS"
; Pedals.
InputMagicalPedal1 = "KEY_A,JOY1_BUTTON1"
InputMagicalPedal2 = "KEY_S,JOY2_BUTTON1"
; ============================================================================
; SEGA BASS FISHING / GET BASS
; ============================================================================
; Fishing rod digital movement.
InputFishingRodLeft = "KEY_LEFT"
InputFishingRodRight = "KEY_RIGHT"
InputFishingRodUp = "KEY_UP"
InputFishingRodDown = "KEY_DOWN"
; Fishing stick digital movement.
InputFishingStickLeft = "KEY_A"
InputFishingStickRight = "KEY_D"
InputFishingStickUp = "KEY_W"
InputFishingStickDown = "KEY_S"
; Fishing rod analog axes.
InputFishingRodX = "JOY1_XAXIS"
InputFishingRodY = "JOY1_YAXIS"
; Fishing stick analog axes.
InputFishingStickX = "JOY1_RXAXIS"
InputFishingStickY = "JOY1_RYAXIS"
; Reel control.
InputFishingReel = "KEY_SPACE,JOY1_ZAXIS_POS"
; Cast and selection controls.
InputFishingCast = "KEY_Z,JOY1_BUTTON1"
InputFishingSelect = "KEY_X,JOY1_BUTTON2"
; Fishing line tension control.
InputFishingTension = "KEY_T,JOY1_ZAXIS_NEG"
; ============================================================================
; GAME-SPECIFIC SETTINGS
; ============================================================================
; Daytona USA 2: Battle on the Edge
[ daytona2 ]
MusicVolume = 120
SoundVolume = 100
Balance = -10
InputJoy1XSaturation = 155
; Daytona USA 2: Power Edition
[ dayto2pe ]
MusicVolume = 120
SoundVolume = 100
Balance = -10
InputJoy1XSaturation = 155
; Dirt Devils
[ dirtdvls ]
MusicVolume = 100
SoundVolume = 130
Balance = -20
; Sega Bass Fishing / Get Bass (US version)
[ getbassur ]
WideScreen = 0
WideBackground = 0
MusicVolume = 100
SoundVolume = 110
Balance = 10
; Emergency Call Ambulance
[ eca ]
MusicVolume = 100
SoundVolume = 100
Balance = -35
; Fighting Vipers 2
[ fvipers2 ]
LegacySoundDSP = 1
MusicVolume = 100
SoundVolume = 170
Balance = 10
; Harley-Davidson & L.A. Riders
[ harley ]
MusicVolume = 100
SoundVolume = 100
Balance = 10
; L.A. Machineguns
[ lamachin ]
MusicVolume = 100
SoundVolume = 115
Balance = 0
; Le Mans 24
[ lemans24 ]
MusicVolume = 100
SoundVolume = 110
Balance = 0
InputJoy1XSaturation = 110
; The Lost World: Jurassic Park
[ lostwsga ]
MusicVolume = 100
SoundVolume = 105
Balance = 20
CrosshairStyle = bmp
; Magical Truck Adventure
[ magtruck ]
MusicVolume = 100
SoundVolume = 100
Balance = 15
; Magical Truck Adventure: Bad Lands
[ mgtrkbad ]
MusicVolume = 100
SoundVolume = 100
Balance = 15
; Ocean Hunter
[ oceanhun ]
MusicVolume = 100
SoundVolume = 100
Balance = 0
; Ocean Hunter: Alternate Version
[ oceanhuna ]
MusicVolume = 100
SoundVolume = 100
Balance = 0
; Scud Race
[ scud ]
MusicVolume = 200
SoundVolume = 60
Balance = 0
InputJoy1XSaturation = 155
; Scud Race Plus
[ scudplus ]
MusicVolume = 200
SoundVolume = 60
Balance = 0
InputJoy1XSaturation = 155
; Ski Champ
[ skichamp ]
MusicVolume = 100
SoundVolume = 200
Balance = 10
ForceFeedback = 1
; Spikeout: Final Edition
[ spikeofe ]
MusicVolume = 120
SoundVolume = 120
Balance = 0
; Spikeout
[ spikeout ]
MusicVolume = 90
SoundVolume = 90
Balance = 0
; Sega Rally 2
[ srally2 ]
SoundVolume = 155
MusicVolume = 140
Balance = 15
PowerPCFrequency = 75
InputJoy1XSaturation = 150
; Star Wars Trilogy
[ swtrilgy ]
MusicVolume = 100
SoundVolume = 100
Balance = 0
; Virtua Fighter 3
[ vf3 ]
MusicVolume = 100
SoundVolume = 110
Balance = -5
; Virtua Fighter 3tb
[ vf3tb ]
MusicVolume = 100
SoundVolume = 110
Balance = -5
; Virtual On 2: Oratorio Tangram
[ von2 ]
MusicVolume = 100
SoundVolume = 100
Balance = 0
; Virtua Striker 2
[ vs2 ]
MusicVolume = 100
SoundVolume = 110
Balance = -10
WideScreen = 0
WideBackground = 0
; Virtua Striker 2 Ver. 1998
[ vs298 ]
MusicVolume = 100
SoundVolume = 110
Balance = -10
WideScreen = 0
WideBackground = 0
; Virtua Striker 2 Ver. 1999.1
[ vs2v991 ]
MusicVolume = 100
SoundVolume = 110
Balance = -10
WideScreen = 0
WideBackground = 0