# SEGA Lindbergh Emulator Configuration File
# By the Lindbergh Development Team 2024-2025

[Display]
# Set the width resolution here
WIDTH = AUTO

# Set the height resolution here
HEIGHT = AUTO

# Boost render resolution in HOD4/2Spicy/Harley/Rambo/HOD-EX/ID4/ID5 and LGJ
BOOST_RENDER_RES = true

# Set to true for full screen
FULLSCREEN = true

# Set to true if you'd like to add a border for optical light gun tracking
BORDER_ENABLED = false

# Set the thickness of the white border as a percentage of the width of the screen
WHITE_BORDER_PERCENTAGE = 2

# Set the thickness of the black border which sits around the
# white border as a percentage of the width of the screen
BLACK_BORDER_PERCENTAGE = 0

# Set to keep the aspect ratio in games like Sega Race TV Primeval Hunt and LGJ-SP
KEEP_ASPECT_RATIO = true

# Set to true to enable the mouse pointer/Cursor
HIDE_CURSOR = true

[Input]
# Sets the Input Mode (1: SDL, 2: EVDEV
INPUT_MODE = 1

[Emulation]
# Set the Region (JP/US/EX)
REGION = EX

# Set to true for Free Play, none to leave as default
FREEPLAY = none

# Set to true to emulate JVS and use the keyboard/mouse for controls.
# If this is set to false, the loader will route the traffic to the serial device
# defined in JVS_PATH if it has been defined.
EMULATE_JVS = true

# Set to true to emulate the rideboard used in the SPECIAL games
# If this is set to false, then the emulator will route the traffic to one of the serial ports
EMULATE_RIDEBOARD = AUTO

# Set to true to emulate the driveboard used in driving games
# If this is set to false, then the emulator will route the traffic to one of the serial ports
EMULATE_DRIVEBOARD = AUTO

# Set to true to emulate the motion board from Outrun 2 SP SDX
# If this is set to false, then the emulator will route the traffic to one of the serial ports
EMULATE_MOTIONBOARD = AUTO

# Set to true to enable card reader emulation in Virtua Tennis 3 or R-Tuned
EMULATE_HW210_CARDREADER = AUTO

# Set to true to enable card reader emulation in ID4 and ID5 file 
EMULATE_ID_CARD READER = AUTO

# Set to true to enable touchscreen emulation  with the mouse
EMULATE_TOUCHSCREEN = AUTO

[Cards]
# Set to false to use a button to insert a card manually in ID4 or ID5.
# Or true to make the loader auto load
ID_CARDFILE_AUTOLOAD = true

# Card File for reader 1 in VT3 or R-Tuned
CARDFILE_01 = "Card_01.crd"

# Card File for reader 2 in VT3 or R-Tuned
CARDFILE_02 = "Card_02.crd"

# Folder for ID Card files
ID_CARDFOLDER = ""

[Paths]
# Define the path to pass the JVS packets to if JVS is not being emulated
JVS_PATH = "/dev/ttyUSB0"

# Define the path to pass the first serial port to
SERIAL_1_PATH = "/dev/ttyS0"

# Define the path to pass the second serial port to
SERIAL_2_PATH = "/dev/ttyS1"

# Define the path to the sram.bin file
SRAM_PATH = "RETRODECKBIOS/sram.bin"

# Define the path to the eeprom.bin file
EEPROM_PATH = "RETRODECKBIOS/eeprom.bin"

# If set, libCG.so needed for 2Spicy, Harley, Rambo and HOD-Ex shader recompilation
# will be loaded from the specified location. (include the name of file in the location For Example: /my/file/location/myLibCg.so)
LIBCG_PATH = "lib/libCG.so"

[Graphics]
# Set the GPU vendor (0 = Autodetect / 1 = NVidia / 2 = AMD / 3 = ATI / 4 = Intel)
GPU_VENDOR = 0

# Set to true if you experience flickering in hummer
HUMMER_FLICKER_FIX = false

# Set to false if you don't want to limit the FPS
FPS_LIMITER_ENABLED = true

# Set the target FPS (will only work if FPS_LIMITER_ENABLED = 1)
FPS_TARGET = 60.0

# Set to true if you want to render LGJ using the mesa patches
LGJ_RENDER_WITH_MESA = true

# Disable to use the original fonts instead of the built in font
DISABLE_BUILTIN_FONT = false

# Disable to use the original logos instead of the built in logos
DISABLE_BUILTIN_LOGOS = false

[Cursor]
# If true, a custom mouse cursor will be used loaded from a png file set in CUSTOM_CURSOR
# Ovewrites HIDE_CURSOR
CUSTOM_CURSOR_ENABLED = false

# Set the custom mouse pointer from a PNG file (Usefull for shooting games)
CUSTOM_CURSOR = ""

# Set the width of the custom cursor
CUSTOM_CURSOR_WIDTH = 32

# Set the height of the custom cursor
CUSTOM_CURSOR_HEIGHT = 32

# Set a custom cursor for the touch screen in Primeval Hunt, MJ4 Games and AxA Games
TOUCH_CURSOR = ""

# Set the width of the custom cursor
TOUCH_CURSOR_WIDTH = 32

# Set the height of the custom cursor
TOUCH_CURSOR_HEIGHT = 32

[GameSpecific]
# Set Primeval Hunt
# Mode 0: Default (side by side)
# Mode 1: No Touch screen
# Mode 2: Side By Side
# Mode 3: 3ds mode 1 (Touch screen to the right)
# Mode 4: 3ds mode 2 (Touch screen to the bottom)
PRIMEVAL_HUNT_SCREEN_MODE = 2

# Set Primeval Hunt Test mode screen to single screen
PRIMEVAL_HUNT_TEST_SCREEN_SINGLE = true

# Set to true to bypass cabinet checks including drive board and tower in Outrun 2 SP SDX
SKIP_OUTRUN_CABINET_CHECK = false

# Set to false if you want to disable the Glare effect in OutRun
OUTRUN_LENS_GLARE_ENABLED = true

# Hacky way to make MJ4 and AxA work at prohibited times
MJ4_ENABLED_ALL_THE_TIME = false

# House of the dead 4 speed fix, set the frequency of your CPU in Ghz
CPU_FREQ_GHZ = 0.0

# Set to true if you want to chnge the way the guns are show in Rambo
RAMBO_GUNS_SWITCH = false

# Set to true to set the language in Chinese for ID5 DVP-0084 and DVP-0084A
ID5_CHINESE_LANGUAGE = false

# Set the percentage of the steering wheel travel reduction
ID_STEERING_REDUCTION_PERCENTAGE = 0.0

[CrossHairs]
# Set to true to enable Crosshairs even when using GunLights
ENABLE_CROSSHAIRS = false

# Set the Crosshair image from a PNG file for Player 1
P1_CROSSHAIR_PATH = ""

# Set the Crosshair image from a PNG file for Player 2
P2_CROSSHAIR_PATH = ""

# Set the width of the Crosshair image
CUSTOM_CROSSHAIRS_WIDTH = 64

# Set the height of the Crosshair image
CUSTOM_CROSSHAIRS_HEIGHT = 64

[System]
# Set to true to see debug messages in the console
DEBUG_MSGS = false

# Set the colour of the lindbergh (YELLOW, RED, BLUE, SILVER, REDEX)
LINDBERGH_COLOUR = YELLOW

[Network]
# If true, the loader will apply the following network patches depending on the game
ENABLE_NETWORK_PATCHES = true

# Sets the name of the Network Interface Card
NIC_NAME = "enp0s1"

# ID4 and ID5 network configuration per seat
ID_IP_SEAT_1 = "192.168.1.2"
ID_IP_SEAT_2 = "192.168.1.3"

# Sets the IP address and Netmask for Outrun link (you have to put your NIC ip)
OR2_IPADDRESS = "192.168.1.2"
OR2_NETMASK = "255.255.255.0"

# Harley / Hummer and R-Tuned IP address for each Cabinet
IP_CAB1 = "192.168.1.2"
IP_CAB2 = "192.168.1.3"
IP_CAB3 = "192.168.1.4"
IP_CAB4 = "192.168.1.5"

# Sets the IP address of each cabinet for network play in 2Spicy
2SPICY_IP_CAB1 = "192.168.1.2"
2SPICY_IP_CAB2 = "192.168.1.3"

# Sets the IP address for SRTV
SRTV_IPADDRESS = "192.168.1.2"

[EVDEV]
# EVDEV MODE (Input Mode 2)
# To find the value pairs for these run ./lindbergh --list-controllers

#TEST_BUTTON = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_T"

#PLAYER_1_COIN = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_5"
#PLAYER_1_BUTTON_START = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_1
#PLAYER_1_BUTTON_SERVICE = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_S"
#PLAYER_1_BUTTON_UP = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_UP"
#PLAYER_1_BUTTON_DOWN = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_DOWN"
#PLAYER_1_BUTTON_LEFT = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_LEFT"
#PLAYER_1_BUTTON_RIGHT = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_RIGHT"
#PLAYER_1_BUTTON_1 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_Q"
#PLAYER_1_BUTTON_2 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_W"
#PLAYER_1_BUTTON_3 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_E"
#PLAYER_1_BUTTON_4 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_R"
#PLAYER_1_BUTTON_5 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_Y"
#PLAYER_1_BUTTON_6 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_U"
#PLAYER_1_BUTTON_7 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_I"
#PLAYER_1_BUTTON_8 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_O"

#PLAYER_1_COIN = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_6"
#PLAYER_2_BUTTON_START = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_1"
#PLAYER_2_BUTTON_SERVICE = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_S"
#PLAYER_2_BUTTON_UP = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_UP"
#PLAYER_2_BUTTON_DOWN = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_DOWN"
#PLAYER_2_BUTTON_LEFT = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_LEFT"
#PLAYER_2_BUTTON_RIGHT = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_RIGHT"
#PLAYER_2_BUTTON_1 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_Q"
#PLAYER_2_BUTTON_2 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_W"
#PLAYER_2_BUTTON_3 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_E"
#PLAYER_2_BUTTON_4 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_R"
#PLAYER_2_BUTTON_5 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_Y"
#PLAYER_2_BUTTON_6 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_U"
#PLAYER_2_BUTTON_7 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_I"
#PLAYER_2_BUTTON_8 = "AT_TRANSLATED_SET_2_KEYBOARD_KEY_O"

#ANALOGUE_1 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_X"
#ANALOGUE_2 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Y"
#ANALOGUE_3 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Z"
#ANALOGUE_4 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_RZ"
#ANALOGUE_5 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_X2"
#ANALOGUE_6 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Y2"
#ANALOGUE_7 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_Z2"
#ANALOGUE_8 = "SYNPS_2_SYNAPTICS_TOUCHPAD_ABS_RZ2"

#ANALOGUE_DEADZONE_1 = 0 0 0
#ANALOGUE_DEADZONE_2 = 0 0 0
#ANALOGUE_DEADZONE_3 = 0 0 0
#ANALOGUE_DEADZONE_4 = 0 0 0
#ANALOGUE_DEADZONE_5 = 0 0 0
#ANALOGUE_DEADZONE_6 = 0 0 0
#ANALOGUE_DEADZONE_7 = 0 0 0
#ANALOGUE_DEADZONE_8 = 0 0 0

