]> git.rmz.io Git - dotfiles.git/commitdiff
retroarch: update configs
authorSamir Benmendil <me@rmz.io>
Mon, 1 Feb 2016 22:47:52 +0000 (22:47 +0000)
committerSamir Benmendil <me@rmz.io>
Mon, 1 Feb 2016 22:49:50 +0000 (22:49 +0000)
I have no idea what kind of changes I did here.

retroarch/retroarch-core-options.cfg [new file with mode: 0644]
retroarch/retroarch.cfg
retroarch/retroarch.joyconfig
retroarch/retroarch.joyconfig.shada [deleted file]
retroarch/snes/retroarch-snes.cfg [new file with mode: 0644]
retroarch/snes/retroarch-snes.sh [new file with mode: 0755]

diff --git a/retroarch/retroarch-core-options.cfg b/retroarch/retroarch-core-options.cfg
new file mode 100644 (file)
index 0000000..9deea2c
--- /dev/null
@@ -0,0 +1 @@
+snes9x_next_overclock = "disabled"
index afa6641512413ad9320936248f4883cf1083339d..9169af458b821bb649cd73453f188b05bc894bf3 100644 (file)
-## Skeleton config file for RetroArch
-
-# Save all save files (*.srm) to this directory. This includes related files like .bsv, .rtc, .psrm, etc ...
-# This will be overridden by explicit command line options.
-# savefile_directory =
-
-# Save all save states (*.state) to this directory.
-# This will be overridden by explicit command line options.
-# savestate_directory =
-
-# Automatically saves a savestate at the end of RetroArch's lifetime.
-# The path is $SRAM_PATH.auto.
-# RetroArch will automatically load any savestate with this path on startup.
-# savestate_auto_save = false
-
-# Load libretro from a dynamic location for dynamically built RetroArch.
-# This option is mandatory.
-
-# If a directory, RetroArch will look through the directory until it finds an implementation
-# that appears to support the extension of the ROM loaded.
-# This could fail if ROM extensions overlap.
-# libretro_path = "/path/to/libretro.so"
-
-# Environment variables internally in RetroArch.
-# Implementations can tap into this user-specificed information to enable functionality
-# that is deemed too obscure to expose directly.
-# Some variables might be "standardized" at a later time if needed.
-# The string is formatted as key value pairs delimited by a semicolon ';'.
-# Any white space between the delimiter ';' and the '=' is significant.
-# I.e.: "key1=value1;key2=value2;..."
-# environment_variables =
-
-# Sets the "system" directory.
-# Implementations can query for this directory to load BIOSes, system-specific configs, etc.
-# system_directory =
-
-#### Video
-
-# Video driver to use. "gl", "xvideo", "sdl"
 video_driver = "gl"
-
-# Windowed xscale and yscale
-# (Real x res: base_size * xscale * aspect_ratio, real y res: base_size * yscale)
-# video_xscale = 3.0
-# video_yscale = 3.0
-
-# Fullscreen resolution. Resolution of 0 uses the resolution of the desktop.
-# video_fullscreen_x = 0
-# video_fullscreen_y = 0
-
-# Start in fullscreen. Can be changed at runtime.
-video_fullscreen = true
-
-# If fullscreen, prefer using a windowed fullscreen mode.
-# video_windowed_fullscreen = false
-
-# Which monitor to prefer. 0 (default) means no particular monitor is preferred, 1 and up (1 being first monitor),
-# suggests RetroArch to use that particular monitor.
-# video_monitor_index = 0
-
-# Forcibly disable composition. Only works in Windows Vista/7 for now.
-# video_disable_composition = false
-
-# Video vsync.
-# video_vsync = true
-
-# Smoothens picture with bilinear filtering. Should be disabled if using pixel shaders.
-# video_smooth = true
-
-# Forces rendering area to stay equal to game aspect ratio or as defined in video_aspect_ratio.
-# video_force_aspect = true
-
-# A floating point value for video aspect ratio (width / height).
-# If this is not set, aspect ratio is assumed to be automatic.
-# Behavior then is defined by video_aspect_ratio_auto.
-# video_aspect_ratio =
-
-# If this is true and video_aspect_ratio is not set,
-# aspect ratio is decided by libretro implementation.
-# If this is false, 1:1 PAR will always be assumed if video_aspect_ratio is not set.
-# video_aspect_ratio_auto = false
-
-# Forces cropping of overscanned frames.
-# Exact behavior of this option is implementation specific.
-video_crop_overscan = true
-
-# Path to Cg shader.
-# video_cg_shader = "/path/to/cg/shader.cg"
-
-# Path to GLSL XML shader. If both Cg shader path and XML shader path are defined, 
-# Cg shader will take priority unless overridden in video_shader_type.
-# video_bsnes_shader = "/path/to/bsnes/xml/shader.shader"
-
-# Which shader type to use. Valid values are "cg", "bsnes", "none" and "auto"
-# video_shader_type = auto
-
-# Defines a directory where XML shaders are kept.
-# video_shader_dir =
-
-# Render to texture first. Useful when doing multi-pass shaders or control the output of shaders better.
-# video_render_to_texture = false
-
-# Defines the video scale of render-to-texture. 
-# The output FBO size is scaled by these amounts against the input size (typically 256 * 224 for SNES).
-# video_fbo_scale_x = 2.0
-# video_fbo_scale_y = 2.0
-
-# Define shader to use for second pass (needs render-to-texture).
-# video_second_pass_shader = "/path/to/second/shader.{cg,shader}"
-
-# Defines if bilinear filtering is used during second pass (needs render-to-texture).
-# video_second_pass_smooth = true
-
-# CPU-based filter. Path to a bSNES CPU filter (*.filter)
-# video_filter =
-
-# Path to a TTF font used for rendering messages. This path must be defined to enable fonts.
-# Do note that the _full_ path of the font is necessary!
-# video_font_path = 
-
-# Size of the TTF font rendered.
-# video_font_size = 48
-
-# Attempt to scale the font to fit better for multiple window sizes.
-# video_font_scale = true
-
-# Enable usage of OSD messages.
-# video_font_enable = true
-
-# Offset for where messages will be placed on screen. Values are in range 0.0 to 1.0 for both x and y values. 
-# [0.0, 0.0] maps to the lower left corner of the screen.
-# video_message_pos_x = 0.05
-# video_message_pos_y = 0.05
-
-# Color for message. The value is treated as a hexadecimal value.
-# It is a regular RGB hex number, i.e. red is "ff0000".
-# video_message_color = ffffff
-
-# Video refresh rate of your monitor.
-# Used to calculate a suitable audio input rate.
-# video_refresh_rate = 59.95
-
-# Allows libretro cores to set rotation modes.
-# Setting this to false will honor, but ignore this request.
-# This is useful for vertically oriented games where one manually rotates the monitor.
-# video_allow_rotate = true
-
-#### Audio
-
-# Enable audio.
-# audio_enable = true
-
-# Audio output samplerate.
-# audio_out_rate = 48000
-
-# When altering audio_in_rate on-the-fly, define by how much each time.
-# audio_rate_step = 0.25
-
-# Audio driver backend. Depending on configuration possible candidates are: alsa, pulse, oss, jack, rsound, roar, openal, sdl, xaudio.
-audio_driver = pulse
-
-# Override the default audio device the audio_driver uses. This is driver dependant. E.g. ALSA wants a PCM device, OSS wants a path (e.g. /dev/dsp), Jack wants portnames (e.g. system:playback1,system:playback_2), and so on ...
-# audio_device =
-
-# External DSP plugin that processes audio before it's sent to the driver.
-# audio_dsp_plugin =
-
-# Will sync (block) on audio. Recommended.
-# audio_sync = true
-
-# Desired audio latency in milliseconds. Might not be honored if driver can't provide given latency.
-# audio_latency = 64
-
-# Enable experimental audio rate control.
-# audio_rate_control = true
-
-# Controls audio rate control delta. Defines how much input rate can be adjusted dynamically.
-# Input rate = in_rate * (1.0 +/- audio_rate_control_delta)
-# audio_rate_control_delta = 0.005
-
-# Audio volume. Volume is expressed in dB.
-# 0 dB is normal volume. No gain will be applied.
-# Gain can be controlled in runtime with input_volume_up/input_volume_down.
-# audio_volume = 0.0
-
-#### Input
-
-# Input driver. Depending on video driver, it might force a different input driver.
-# input_driver = sdl
-
-# Defines axis threshold. Possible values are [0.0, 1.0]
-# input_axis_threshold = 0.5
-
-# Path to input overlay
-# input_overlay =
-
-# Enable input auto-detection (used on Android). Will attempt to autoconfigure
-# gamepads, Plug-and-Play style.
-# input_autodetect_enable = true
-
-# Enable debug input key reporting on-screen.
-# input_debug_enable = false
-
-# Keyboard input. Will recognize normal keypresses and special keys like "left", "right", and so on.
-# Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely, 
-# rather than relying on a default.
-# input_player1_a = x
-# input_player1_b = z
-# input_player1_y = a
-# input_player1_x = s
-# input_player1_start = enter
-# input_player1_select = rshift
-# input_player1_l = q
-# input_player1_r = w
-# input_player1_left = left
-# input_player1_right = right
-# input_player1_up = up
-# input_player1_down = down
-# input_player1_l2 =
-# input_player1_r2 =
-# input_player1_l3 =
-# input_player1_r3 =
-
-# Two analog sticks (DualShock-esque).
-# Bound as usual, however, if a real analog axis is bound,
-# it can be read as a true analog.
-# Positive X axis is right, Positive Y axis is down.
-# input_player1_l_x_plus =
-# input_player1_l_x_minus =
-# input_player1_l_y_plus =
-# input_player1_l_y_minus =
-# input_player1_r_x_plus =
-# input_player1_r_x_minus =
-# input_player1_r_y_plus =
-# input_player1_r_y_minus =
-
-# If desired, it is possible to override which joypads are being used for player 1 through 5. First joypad available is 0.
-# input_player1_joypad_index = 0
-# input_player2_joypad_index = 1
-# input_player3_joypad_index = 2
-# input_player4_joypad_index = 3
-# input_player5_joypad_index = 4
-# Player 6-8 is not directly expected by libretro API, but we'll futureproof it.
-# input_player6_joypad_index = 5
-# input_player7_joypad_index = 6
-# input_player8_joypad_index = 7
-
-# Joypad buttons.
-# Figure these out by using RetroArch-Phoenix or retroarch-joyconfig.
-# You can use joypad hats with hnxx, where n is the hat, and xx is a string representing direction. 
-# E.g. "h0up"
-# input_player1_a_btn =
-# input_player1_b_btn =
-# input_player1_y_btn =
-# input_player1_x_btn =
-# input_player1_start_btn =
-# input_player1_select_btn =
-# input_player1_l_btn =
-# input_player1_r_btn =
-# input_player1_left_btn =
-# input_player1_right_btn =
-# input_player1_up_btn =
-# input_player1_down_btn =
-# input_player1_l2_btn =
-# input_player1_r2_btn =
-# input_player1_l3_btn =
-# input_player1_r3_btn =
-
-# Axis for RetroArch D-Pad. 
-# Needs to be either '+' or '-' in the first character signaling either positive or negative direction of the axis, then the axis number. 
-# Do note that every other input option has the corresponding _btn and _axis binds as well; they are omitted here for clarity.
-# input_player1_left_axis =
-# input_player1_right_axis =
-# input_player1_up_axis =
-# input_player1_down_axis =
-
-# Holding the turbo while pressing another button will let the button enter a turbo mode
-# where the button state is modulated with a periodic signal.
-# The modulation stops when the button itself (not turbo button) is released.
-# input_player1_turbo =
-
-# Describes the period and how long of that period a turbo-enabled button should behave.
-# Numbers are described in frames.
-# input_turbo_period = 6
-# input_turbo_duty_cycle = 3
-
-# This goes all the way to player 8 (*_player2_*, *_player3_*, etc), but omitted for clarity.
-# All input binds have corresponding binds for keyboard (none), joykeys (_btn) and joyaxes (_axis) as well.
-
-# Toggles fullscreen.
-# input_toggle_fullscreen = f
-
-# Saves state.
-# input_save_state = f2
-# Loads state.
-# input_load_state = f4
-
-# State slots. With slot set to 0, save state name is *.state (or whatever defined on commandline).
-# When slot is != 0, path will be $path%d, where %d is slot number.
-# input_state_slot_increase = f7
-# input_state_slot_decrease = f6
-
-# Toggles between fast-forwarding and normal speed.
-# input_toggle_fast_forward = space
-
-# Hold for fast-forward. Releasing button disables fast-forward.
-# input_hold_fast_forward = l
-
-# Key to exit emulator cleanly. 
-# Killing it in any hard way (SIGTERM, SIGKILL, etc, will terminate emulator without saving RAM, etc.)
-# input_exit_emulator = escape
-
-# Applies next and previous XML/Cg shader in directory.
-# input_shader_next = m
-# input_shader_prev = n
-
-# Hold button down to rewind. Rewinding must be enabled.
-# input_rewind = r
-
-# Toggle between recording and not.
-# input_movie_record_toggle = o
-
-# Toggle between paused and non-paused state
-# input_pause_toggle = p
-
-# Frame advance when game is paused
-# input_frame_advance = k
-
-# Reset the emulated SNES.
-# input_reset = h
-
-# Configures DSP plugin
-# input_dsp_config = c
-
-# Cheats.
-# input_cheat_index_plus = y
-# input_cheat_index_minus = t
-# input_cheat_toggle = u
-
-# Mute/unmute audio
-# input_audio_mute = f9
-
-# Take screenshot
-# input_screenshot = f8
-
-# Netplay flip players.
-# input_netplay_flip_players = i
-
-# Hold for slowmotion.
-# input_slowmotion = e
-
-# Enable other hotkeys.
-# If this hotkey is bound to either keyboard, joybutton or joyaxis,
-# all other hotkeys will be disabled unless this hotkey is also held at the same time.
-# This is useful for RETRO_KEYBOARD centric implementations
-# which query a large area of the keyboard, where it is not desirable
-# that hotkeys get in the way.
-
-# Alternatively, all hotkeys for keyboard could be disabled by the user.
-# input_enable_hotkey =
-
-# Increases audio volume.
-# input_volume_up = kp_plus
-# Decreases audio volume.
-# input_volume_down = kp_minus
-
-# Toggles to next overlay. Wraps around.
-# input_overlay_next =
-
-#### Misc
-
-# Enable rewinding. This will take a performance hit when playing, so it is disabled by default.
-# rewind_enable = false
-
-# Rewinding buffer size in megabytes. Bigger rewinding buffer means you can rewind longer.
-# The buffer should be approx. 20MB per minute of buffer time.
-# rewind_buffer_size = 20
-
-# Rewind granularity. When rewinding defined number of frames, you can rewind several frames at a time, increasing the rewinding speed.
-# rewind_granularity = 1
-
-# Pause gameplay when window focus is lost.
-# pause_nonactive = true
-
-# Autosaves the non-volatile SRAM at a regular interval. This is disabled by default unless set otherwise.
-# The interval is measured in seconds. A value of 0 disables autosave.
-# autosave_interval =
-
-# When being client over netplay, use keybinds for player 1.
-# netplay_client_swap_input = false
-
-# Path to XML cheat database (as used by bSNES).
-# cheat_database_path =
-
-# Path to XML cheat config, a file which keeps track of which
-# cheat settings are used for individual games.
-# If the file does not exist, it will be created.
-# cheat_settings_path =
-
-# Directory to dump screenshots to.
-# screenshot_directory =
-
-# Records video after CPU video filter.
-# video_post_filter_record = false
-
-# Records output of GPU shaded material if available.
-# video_gpu_record = false
-
-# Screenshots output of GPU shaded material if available.
-# video_gpu_screenshot = true
-
-# Block SRAM from being overwritten when loading save states.
-# Might potentially lead to buggy games.
-# block_sram_overwrite = false
-
-# When saving a savestate, save state index is automatically increased before
-# it is saved.
-# Also, when loading a ROM, the index will be set to the highest existing index.
-# There is no upper bound on the index.
-savestate_auto_index = true
-
-# Slowmotion ratio. When slowmotion, game will slow down by factor.
-# slowmotion_ratio = 3.0
-
-# Enable stdin/network command interface.
-# network_cmd_enable = false
-# network_cmd_port = 55355
-# stdin_cmd_enable = false
-
+video_fullscreen = "true"
+video_crop_overscan = "true"
+audio_driver = "pulse"
+savestate_auto_index = "true"
+input_max_users = "5"
+input_menu_toggle_gamepad_combo = "0"
+input_axis_threshold = "0.500000"
+ui_companion_start_on_boot = "true"
+video_gpu_record = "false"
+input_remap_binds_enable = "true"
+back_as_menu_toggle_enable = "true"
+netplay_client_swap_input = "true"
+input_descriptor_label_show = "true"
+autoconfig_descriptor_label_show = "true"
+input_descriptor_hide_unbound = "false"
+load_dummy_on_core_shutdown = "true"
+builtin_mediaplayer_enable = "true"
+builtin_imageviewer_enable = "true"
+fps_show = "false"
+ui_menubar_enable = "true"
+suspend_screensaver_enable = "true"
+rewind_enable = "false"
+audio_latency = "64"
+audio_sync = "true"
+audio_block_frames = "0"
+rewind_granularity = "1"
+video_shader_enable = "false"
+video_aspect_ratio = "-1.000000"
+video_aspect_ratio_auto = "false"
+video_windowed_fullscreen = "true"
+video_scale = "3.000000"
+autosave_interval = "0"
+video_scale_integer = "false"
+video_smooth = "true"
+video_threaded = "false"
+video_shared_context = "false"
+video_force_srgb_disable = "false"
+bundle_assets_extract_enable = "false"
+video_refresh_rate = "59.950001"
+video_monitor_index = "0"
+video_fullscreen_x = "0"
+video_fullscreen_y = "0"
+record_driver = "ffmpeg"
+camera_driver = "video4linux2"
+location_driver = "null"
+threaded_data_runloop_enable = "true"
+dpi_override_enable = "true"
+dpi_override_value = "200"
+menu_driver = "rgui"
+menu_pause_libretro = "true"
+menu_mouse_enable = "false"
+menu_pointer_enable = "false"
+menu_timedate_enable = "true"
+menu_core_enable = "true"
+menu_dynamic_wallpaper_enable = "false"
+menu_boxart_enable = "false"
+video_vsync = "true"
+video_hard_sync = "false"
+video_hard_sync_frames = "0"
+video_frame_delay = "0"
+video_black_frame_insertion = "false"
+video_disable_composition = "false"
+pause_nonactive = "false"
+video_swap_interval = "1"
+video_gpu_screenshot = "true"
+video_rotation = "0"
+screenshot_directory = "default"
+aspect_ratio_index = "19"
+core_updater_buildbot_url = "http://buildbot.libretro.com/nightly/linux/x86_64/latest/"
+core_updater_buildbot_assets_url = "http://buildbot.libretro.com/assets/"
+core_updater_auto_extract_archive = "true"
+camera_allow = "false"
+audio_rate_control = "true"
+audio_rate_control_delta = "0.005000"
+audio_max_timing_skew = "0.050000"
+audio_volume = "0.000000"
+audio_enable = "true"
+audio_mute_enable = "false"
+audio_out_rate = "48000"
+location_allow = "false"
+video_font_size = "32.000000"
+video_font_enable = "true"
+ups_pref = "false"
+bps_pref = "false"
+ips_pref = "false"
+system_directory = "default"
+audio_resampler = "sinc"
+savefile_directory = "default"
+savestate_directory = "default"
+video_shader_dir = "default"
+video_filter_dir = "default"
+audio_filter_dir = "default"
+core_assets_directory = "default"
+assets_directory = "default"
+dynamic_wallpapers_directory = "default"
+boxarts_directory = "default"
+playlist_directory = "default"
+rgui_browser_directory = "default"
+rgui_config_directory = "default"
+rgui_show_start_screen = "false"
+menu_navigation_wraparound_horizontal_enable = "true"
+menu_navigation_wraparound_vertical_enable = "true"
+menu_navigation_browser_filter_supported_extensions_enable = "true"
+menu_collapse_subgroups_enable = "true"
+menu_show_advanced_settings = "true"
+menu_entry_normal_color = "ffffffff"
+menu_entry_hover_color = "ff64ff64"
+menu_title_color = "ff64ff64"
+content_history_path = "~/.config/retroarch/content_history.lpl"
+content_history_size = "100"
+input_autodetect_enable = "true"
+overlay_directory = "default"
+input_overlay_enable = "true"
+input_overlay_enable_autopreferred = "true"
+input_overlay_hide_in_menu = "true"
+input_overlay_opacity = "0.700000"
+input_overlay_scale = "1.000000"
+osk_overlay_directory = "default"
+input_osk_overlay_enable = "false"
+video_message_pos_x = "0.050000"
+video_message_pos_y = "0.050000"
+gamma_correction = "false"
+soft_filter_enable = "false"
+flicker_filter_enable = "false"
+console_resolution_width = "0"
+console_resolution_height = "0"
+flicker_filter_index = "0"
+soft_filter_index = "0"
+current_resolution_id = "0"
+custom_viewport_width = "1440"
+custom_viewport_height = "1080"
+custom_viewport_x = "240"
+custom_viewport_y = "0"
+video_font_size = "32.000000"
+block_sram_overwrite = "false"
+savestate_auto_save = "false"
+savestate_auto_load = "false"
+history_list_enable = "true"
+fastforward_ratio = "1.000000"
+fastforward_ratio_throttle_enable = "false"
+slowmotion_ratio = "3.000000"
+config_save_on_exit = "true"
+sound_mode = "0"
+state_slot = "6"
+netplay_spectator_mode_enable = "false"
+netplay_mode = "false"
+netplay_ip_port = "0"
+netplay_delay_frames = "0"
+user_language = "0"
+custom_bgm_enable = "false"
+input_driver = "udev"
+input_joypad_driver = "udev"
+input_device_p1 = "0"
+input_player1_joypad_index = "0"
+input_libretro_device_p1 = "1"
+input_player1_analog_dpad_mode = "0"
+input_device_p2 = "0"
+input_player2_joypad_index = "1"
+input_libretro_device_p2 = "1"
+input_player2_analog_dpad_mode = "0"
+input_device_p3 = "0"
+input_player3_joypad_index = "2"
+input_libretro_device_p3 = "1"
+input_player3_analog_dpad_mode = "0"
+input_device_p4 = "0"
+input_player4_joypad_index = "3"
+input_libretro_device_p4 = "1"
+input_player4_analog_dpad_mode = "0"
+input_device_p5 = "0"
+input_player5_joypad_index = "4"
+input_libretro_device_p5 = "1"
+input_player5_analog_dpad_mode = "0"
+input_device_p6 = "0"
+input_player6_joypad_index = "5"
+input_libretro_device_p6 = "1"
+input_player6_analog_dpad_mode = "0"
+input_device_p7 = "0"
+input_player7_joypad_index = "6"
+input_libretro_device_p7 = "1"
+input_player7_analog_dpad_mode = "0"
+input_device_p8 = "0"
+input_player8_joypad_index = "7"
+input_libretro_device_p8 = "1"
+input_player8_analog_dpad_mode = "0"
+input_device_p9 = "0"
+input_player9_joypad_index = "8"
+input_libretro_device_p9 = "1"
+input_player9_analog_dpad_mode = "0"
+input_device_p10 = "0"
+input_player10_joypad_index = "9"
+input_libretro_device_p10 = "1"
+input_player10_analog_dpad_mode = "0"
+input_device_p11 = "0"
+input_player11_joypad_index = "10"
+input_libretro_device_p11 = "1"
+input_player11_analog_dpad_mode = "0"
+input_device_p12 = "0"
+input_player12_joypad_index = "11"
+input_libretro_device_p12 = "1"
+input_player12_analog_dpad_mode = "0"
+input_device_p13 = "0"
+input_player13_joypad_index = "12"
+input_libretro_device_p13 = "1"
+input_player13_analog_dpad_mode = "0"
+input_device_p14 = "0"
+input_player14_joypad_index = "13"
+input_libretro_device_p14 = "1"
+input_player14_analog_dpad_mode = "0"
+input_device_p15 = "0"
+input_player15_joypad_index = "14"
+input_libretro_device_p15 = "1"
+input_player15_analog_dpad_mode = "0"
+input_device_p16 = "0"
+input_player16_joypad_index = "15"
+input_libretro_device_p16 = "1"
+input_player16_analog_dpad_mode = "0"
+input_player1_b = "z"
+input_player1_b_btn = "0"
+input_player1_b_axis = "nul"
+input_player1_y = "a"
+input_player1_y_btn = "2"
+input_player1_y_axis = "nul"
+input_player1_select = "rshift"
+input_player1_select_btn = "6"
+input_player1_select_axis = "nul"
+input_player1_start = "enter"
+input_player1_start_btn = "7"
+input_player1_start_axis = "nul"
+input_player1_up = "up"
+input_player1_up_btn = "13"
+input_player1_up_axis = "nul"
+input_player1_down = "down"
+input_player1_down_btn = "14"
+input_player1_down_axis = "nul"
+input_player1_left = "left"
+input_player1_left_btn = "11"
+input_player1_left_axis = "nul"
+input_player1_right = "right"
+input_player1_right_btn = "12"
+input_player1_right_axis = "nul"
+input_player1_a = "x"
+input_player1_a_btn = "1"
+input_player1_a_axis = "nul"
+input_player1_x = "s"
+input_player1_x_btn = "3"
+input_player1_x_axis = "nul"
+input_player1_l = "q"
+input_player1_l_btn = "4"
+input_player1_l_axis = "nul"
+input_player1_r = "w"
+input_player1_r_btn = "5"
+input_player1_r_axis = "nul"
+input_player1_l2 = "nul"
+input_player1_l2_btn = "nul"
+input_player1_l2_axis = "+2"
+input_player1_r2 = "nul"
+input_player1_r2_btn = "nul"
+input_player1_r2_axis = "+5"
+input_player1_l3 = "nul"
+input_player1_l3_btn = "9"
+input_player1_l3_axis = "nul"
+input_player1_r3 = "nul"
+input_player1_r3_btn = "10"
+input_player1_r3_axis = "nul"
+input_player1_l_x_plus = "nul"
+input_player1_l_x_plus_btn = "nul"
+input_player1_l_x_plus_axis = "+0"
+input_player1_l_x_minus = "nul"
+input_player1_l_x_minus_btn = "nul"
+input_player1_l_x_minus_axis = "-0"
+input_player1_l_y_plus = "nul"
+input_player1_l_y_plus_btn = "nul"
+input_player1_l_y_plus_axis = "+1"
+input_player1_l_y_minus = "nul"
+input_player1_l_y_minus_btn = "nul"
+input_player1_l_y_minus_axis = "-1"
+input_player1_r_x_plus = "nul"
+input_player1_r_x_plus_btn = "nul"
+input_player1_r_x_plus_axis = "+3"
+input_player1_r_x_minus = "nul"
+input_player1_r_x_minus_btn = "nul"
+input_player1_r_x_minus_axis = "-3"
+input_player1_r_y_plus = "nul"
+input_player1_r_y_plus_btn = "nul"
+input_player1_r_y_plus_axis = "+4"
+input_player1_r_y_minus = "nul"
+input_player1_r_y_minus_btn = "nul"
+input_player1_r_y_minus_axis = "-4"
+input_player1_turbo = "nul"
+input_player1_turbo_btn = "nul"
+input_player1_turbo_axis = "nul"
+input_toggle_fast_forward = "space"
+input_toggle_fast_forward_btn = "nul"
+input_toggle_fast_forward_axis = "nul"
+input_hold_fast_forward = "l"
+input_hold_fast_forward_btn = "nul"
+input_hold_fast_forward_axis = "nul"
+input_load_state = "f4"
+input_load_state_btn = "nul"
+input_load_state_axis = "nul"
+input_save_state = "f2"
+input_save_state_btn = "nul"
+input_save_state_axis = "nul"
+input_toggle_fullscreen = "f"
+input_toggle_fullscreen_btn = "nul"
+input_toggle_fullscreen_axis = "nul"
+input_exit_emulator = "escape"
+input_exit_emulator_btn = "nul"
+input_exit_emulator_axis = "nul"
+input_state_slot_increase = "f7"
+input_state_slot_increase_btn = "nul"
+input_state_slot_increase_axis = "nul"
+input_state_slot_decrease = "f6"
+input_state_slot_decrease_btn = "nul"
+input_state_slot_decrease_axis = "nul"
+input_rewind = "r"
+input_rewind_btn = "nul"
+input_rewind_axis = "nul"
+input_movie_record_toggle = "o"
+input_movie_record_toggle_btn = "nul"
+input_movie_record_toggle_axis = "nul"
+input_pause_toggle = "p"
+input_pause_toggle_btn = "nul"
+input_pause_toggle_axis = "nul"
+input_frame_advance = "k"
+input_frame_advance_btn = "nul"
+input_frame_advance_axis = "nul"
+input_reset = "h"
+input_reset_btn = "nul"
+input_reset_axis = "nul"
+input_shader_next = "m"
+input_shader_next_btn = "nul"
+input_shader_next_axis = "nul"
+input_shader_prev = "n"
+input_shader_prev_btn = "nul"
+input_shader_prev_axis = "nul"
+input_cheat_index_plus = "y"
+input_cheat_index_plus_btn = "nul"
+input_cheat_index_plus_axis = "nul"
+input_cheat_index_minus = "t"
+input_cheat_index_minus_btn = "nul"
+input_cheat_index_minus_axis = "nul"
+input_cheat_toggle = "u"
+input_cheat_toggle_btn = "nul"
+input_cheat_toggle_axis = "nul"
+input_screenshot = "f8"
+input_screenshot_btn = "nul"
+input_screenshot_axis = "nul"
+input_audio_mute = "f9"
+input_audio_mute_btn = "nul"
+input_audio_mute_axis = "nul"
+input_osk_toggle = "f12"
+input_osk_toggle_btn = "nul"
+input_osk_toggle_axis = "nul"
+input_netplay_flip_players = "i"
+input_netplay_flip_players_btn = "nul"
+input_netplay_flip_players_axis = "nul"
+input_slowmotion = "e"
+input_slowmotion_btn = "nul"
+input_slowmotion_axis = "nul"
+input_enable_hotkey = "nul"
+input_enable_hotkey_btn = "nul"
+input_enable_hotkey_axis = "nul"
+input_volume_up = "add"
+input_volume_up_btn = "nul"
+input_volume_up_axis = "nul"
+input_volume_down = "subtract"
+input_volume_down_btn = "nul"
+input_volume_down_axis = "nul"
+input_overlay_next = "nul"
+input_overlay_next_btn = "nul"
+input_overlay_next_axis = "nul"
+input_disk_eject_toggle = "nul"
+input_disk_eject_toggle_btn = "nul"
+input_disk_eject_toggle_axis = "nul"
+input_disk_next = "nul"
+input_disk_next_btn = "nul"
+input_disk_next_axis = "nul"
+input_disk_prev = "nul"
+input_disk_prev_btn = "nul"
+input_disk_prev_axis = "nul"
+input_grab_mouse_toggle = "f11"
+input_grab_mouse_toggle_btn = "nul"
+input_grab_mouse_toggle_axis = "nul"
+input_menu_toggle = "f1"
+input_menu_toggle_btn = "nul"
+input_menu_toggle_axis = "nul"
+input_player2_b = "nul"
+input_player2_b_btn = "nul"
+input_player2_b_axis = "nul"
+input_player2_y = "nul"
+input_player2_y_btn = "nul"
+input_player2_y_axis = "nul"
+input_player2_select = "nul"
+input_player2_select_btn = "nul"
+input_player2_select_axis = "nul"
+input_player2_start = "nul"
+input_player2_start_btn = "nul"
+input_player2_start_axis = "nul"
+input_player2_up = "nul"
+input_player2_up_btn = "nul"
+input_player2_up_axis = "nul"
+input_player2_down = "nul"
+input_player2_down_btn = "nul"
+input_player2_down_axis = "nul"
+input_player2_left = "nul"
+input_player2_left_btn = "nul"
+input_player2_left_axis = "nul"
+input_player2_right = "nul"
+input_player2_right_btn = "nul"
+input_player2_right_axis = "nul"
+input_player2_a = "nul"
+input_player2_a_btn = "nul"
+input_player2_a_axis = "nul"
+input_player2_x = "nul"
+input_player2_x_btn = "nul"
+input_player2_x_axis = "nul"
+input_player2_l = "nul"
+input_player2_l_btn = "nul"
+input_player2_l_axis = "nul"
+input_player2_r = "nul"
+input_player2_r_btn = "nul"
+input_player2_r_axis = "nul"
+input_player2_l2 = "nul"
+input_player2_l2_btn = "nul"
+input_player2_l2_axis = "nul"
+input_player2_r2 = "nul"
+input_player2_r2_btn = "nul"
+input_player2_r2_axis = "nul"
+input_player2_l3 = "nul"
+input_player2_l3_btn = "nul"
+input_player2_l3_axis = "nul"
+input_player2_r3 = "nul"
+input_player2_r3_btn = "nul"
+input_player2_r3_axis = "nul"
+input_player2_l_x_plus = "nul"
+input_player2_l_x_plus_btn = "nul"
+input_player2_l_x_plus_axis = "nul"
+input_player2_l_x_minus = "nul"
+input_player2_l_x_minus_btn = "nul"
+input_player2_l_x_minus_axis = "nul"
+input_player2_l_y_plus = "nul"
+input_player2_l_y_plus_btn = "nul"
+input_player2_l_y_plus_axis = "nul"
+input_player2_l_y_minus = "nul"
+input_player2_l_y_minus_btn = "nul"
+input_player2_l_y_minus_axis = "nul"
+input_player2_r_x_plus = "nul"
+input_player2_r_x_plus_btn = "nul"
+input_player2_r_x_plus_axis = "nul"
+input_player2_r_x_minus = "nul"
+input_player2_r_x_minus_btn = "nul"
+input_player2_r_x_minus_axis = "nul"
+input_player2_r_y_plus = "nul"
+input_player2_r_y_plus_btn = "nul"
+input_player2_r_y_plus_axis = "nul"
+input_player2_r_y_minus = "nul"
+input_player2_r_y_minus_btn = "nul"
+input_player2_r_y_minus_axis = "nul"
+input_player2_turbo = "nul"
+input_player2_turbo_btn = "nul"
+input_player2_turbo_axis = "nul"
+input_player3_b = "nul"
+input_player3_b_btn = "nul"
+input_player3_b_axis = "nul"
+input_player3_y = "nul"
+input_player3_y_btn = "nul"
+input_player3_y_axis = "nul"
+input_player3_select = "nul"
+input_player3_select_btn = "nul"
+input_player3_select_axis = "nul"
+input_player3_start = "nul"
+input_player3_start_btn = "nul"
+input_player3_start_axis = "nul"
+input_player3_up = "nul"
+input_player3_up_btn = "nul"
+input_player3_up_axis = "nul"
+input_player3_down = "nul"
+input_player3_down_btn = "nul"
+input_player3_down_axis = "nul"
+input_player3_left = "nul"
+input_player3_left_btn = "nul"
+input_player3_left_axis = "nul"
+input_player3_right = "nul"
+input_player3_right_btn = "nul"
+input_player3_right_axis = "nul"
+input_player3_a = "nul"
+input_player3_a_btn = "nul"
+input_player3_a_axis = "nul"
+input_player3_x = "nul"
+input_player3_x_btn = "nul"
+input_player3_x_axis = "nul"
+input_player3_l = "nul"
+input_player3_l_btn = "nul"
+input_player3_l_axis = "nul"
+input_player3_r = "nul"
+input_player3_r_btn = "nul"
+input_player3_r_axis = "nul"
+input_player3_l2 = "nul"
+input_player3_l2_btn = "nul"
+input_player3_l2_axis = "nul"
+input_player3_r2 = "nul"
+input_player3_r2_btn = "nul"
+input_player3_r2_axis = "nul"
+input_player3_l3 = "nul"
+input_player3_l3_btn = "nul"
+input_player3_l3_axis = "nul"
+input_player3_r3 = "nul"
+input_player3_r3_btn = "nul"
+input_player3_r3_axis = "nul"
+input_player3_l_x_plus = "nul"
+input_player3_l_x_plus_btn = "nul"
+input_player3_l_x_plus_axis = "nul"
+input_player3_l_x_minus = "nul"
+input_player3_l_x_minus_btn = "nul"
+input_player3_l_x_minus_axis = "nul"
+input_player3_l_y_plus = "nul"
+input_player3_l_y_plus_btn = "nul"
+input_player3_l_y_plus_axis = "nul"
+input_player3_l_y_minus = "nul"
+input_player3_l_y_minus_btn = "nul"
+input_player3_l_y_minus_axis = "nul"
+input_player3_r_x_plus = "nul"
+input_player3_r_x_plus_btn = "nul"
+input_player3_r_x_plus_axis = "nul"
+input_player3_r_x_minus = "nul"
+input_player3_r_x_minus_btn = "nul"
+input_player3_r_x_minus_axis = "nul"
+input_player3_r_y_plus = "nul"
+input_player3_r_y_plus_btn = "nul"
+input_player3_r_y_plus_axis = "nul"
+input_player3_r_y_minus = "nul"
+input_player3_r_y_minus_btn = "nul"
+input_player3_r_y_minus_axis = "nul"
+input_player3_turbo = "nul"
+input_player3_turbo_btn = "nul"
+input_player3_turbo_axis = "nul"
+input_player4_b = "nul"
+input_player4_b_btn = "nul"
+input_player4_b_axis = "nul"
+input_player4_y = "nul"
+input_player4_y_btn = "nul"
+input_player4_y_axis = "nul"
+input_player4_select = "nul"
+input_player4_select_btn = "nul"
+input_player4_select_axis = "nul"
+input_player4_start = "nul"
+input_player4_start_btn = "nul"
+input_player4_start_axis = "nul"
+input_player4_up = "nul"
+input_player4_up_btn = "nul"
+input_player4_up_axis = "nul"
+input_player4_down = "nul"
+input_player4_down_btn = "nul"
+input_player4_down_axis = "nul"
+input_player4_left = "nul"
+input_player4_left_btn = "nul"
+input_player4_left_axis = "nul"
+input_player4_right = "nul"
+input_player4_right_btn = "nul"
+input_player4_right_axis = "nul"
+input_player4_a = "nul"
+input_player4_a_btn = "nul"
+input_player4_a_axis = "nul"
+input_player4_x = "nul"
+input_player4_x_btn = "nul"
+input_player4_x_axis = "nul"
+input_player4_l = "nul"
+input_player4_l_btn = "nul"
+input_player4_l_axis = "nul"
+input_player4_r = "nul"
+input_player4_r_btn = "nul"
+input_player4_r_axis = "nul"
+input_player4_l2 = "nul"
+input_player4_l2_btn = "nul"
+input_player4_l2_axis = "nul"
+input_player4_r2 = "nul"
+input_player4_r2_btn = "nul"
+input_player4_r2_axis = "nul"
+input_player4_l3 = "nul"
+input_player4_l3_btn = "nul"
+input_player4_l3_axis = "nul"
+input_player4_r3 = "nul"
+input_player4_r3_btn = "nul"
+input_player4_r3_axis = "nul"
+input_player4_l_x_plus = "nul"
+input_player4_l_x_plus_btn = "nul"
+input_player4_l_x_plus_axis = "nul"
+input_player4_l_x_minus = "nul"
+input_player4_l_x_minus_btn = "nul"
+input_player4_l_x_minus_axis = "nul"
+input_player4_l_y_plus = "nul"
+input_player4_l_y_plus_btn = "nul"
+input_player4_l_y_plus_axis = "nul"
+input_player4_l_y_minus = "nul"
+input_player4_l_y_minus_btn = "nul"
+input_player4_l_y_minus_axis = "nul"
+input_player4_r_x_plus = "nul"
+input_player4_r_x_plus_btn = "nul"
+input_player4_r_x_plus_axis = "nul"
+input_player4_r_x_minus = "nul"
+input_player4_r_x_minus_btn = "nul"
+input_player4_r_x_minus_axis = "nul"
+input_player4_r_y_plus = "nul"
+input_player4_r_y_plus_btn = "nul"
+input_player4_r_y_plus_axis = "nul"
+input_player4_r_y_minus = "nul"
+input_player4_r_y_minus_btn = "nul"
+input_player4_r_y_minus_axis = "nul"
+input_player4_turbo = "nul"
+input_player4_turbo_btn = "nul"
+input_player4_turbo_axis = "nul"
+input_player5_b = "nul"
+input_player5_b_btn = "nul"
+input_player5_b_axis = "nul"
+input_player5_y = "nul"
+input_player5_y_btn = "nul"
+input_player5_y_axis = "nul"
+input_player5_select = "nul"
+input_player5_select_btn = "nul"
+input_player5_select_axis = "nul"
+input_player5_start = "nul"
+input_player5_start_btn = "nul"
+input_player5_start_axis = "nul"
+input_player5_up = "nul"
+input_player5_up_btn = "nul"
+input_player5_up_axis = "nul"
+input_player5_down = "nul"
+input_player5_down_btn = "nul"
+input_player5_down_axis = "nul"
+input_player5_left = "nul"
+input_player5_left_btn = "nul"
+input_player5_left_axis = "nul"
+input_player5_right = "nul"
+input_player5_right_btn = "nul"
+input_player5_right_axis = "nul"
+input_player5_a = "nul"
+input_player5_a_btn = "nul"
+input_player5_a_axis = "nul"
+input_player5_x = "nul"
+input_player5_x_btn = "nul"
+input_player5_x_axis = "nul"
+input_player5_l = "nul"
+input_player5_l_btn = "nul"
+input_player5_l_axis = "nul"
+input_player5_r = "nul"
+input_player5_r_btn = "nul"
+input_player5_r_axis = "nul"
+input_player5_l2 = "nul"
+input_player5_l2_btn = "nul"
+input_player5_l2_axis = "nul"
+input_player5_r2 = "nul"
+input_player5_r2_btn = "nul"
+input_player5_r2_axis = "nul"
+input_player5_l3 = "nul"
+input_player5_l3_btn = "nul"
+input_player5_l3_axis = "nul"
+input_player5_r3 = "nul"
+input_player5_r3_btn = "nul"
+input_player5_r3_axis = "nul"
+input_player5_l_x_plus = "nul"
+input_player5_l_x_plus_btn = "nul"
+input_player5_l_x_plus_axis = "nul"
+input_player5_l_x_minus = "nul"
+input_player5_l_x_minus_btn = "nul"
+input_player5_l_x_minus_axis = "nul"
+input_player5_l_y_plus = "nul"
+input_player5_l_y_plus_btn = "nul"
+input_player5_l_y_plus_axis = "nul"
+input_player5_l_y_minus = "nul"
+input_player5_l_y_minus_btn = "nul"
+input_player5_l_y_minus_axis = "nul"
+input_player5_r_x_plus = "nul"
+input_player5_r_x_plus_btn = "nul"
+input_player5_r_x_plus_axis = "nul"
+input_player5_r_x_minus = "nul"
+input_player5_r_x_minus_btn = "nul"
+input_player5_r_x_minus_axis = "nul"
+input_player5_r_y_plus = "nul"
+input_player5_r_y_plus_btn = "nul"
+input_player5_r_y_plus_axis = "nul"
+input_player5_r_y_minus = "nul"
+input_player5_r_y_minus_btn = "nul"
+input_player5_r_y_minus_axis = "nul"
+input_player5_turbo = "nul"
+input_player5_turbo_btn = "nul"
+input_player5_turbo_axis = "nul"
+input_player6_b = "nul"
+input_player6_b_btn = "nul"
+input_player6_b_axis = "nul"
+input_player6_y = "nul"
+input_player6_y_btn = "nul"
+input_player6_y_axis = "nul"
+input_player6_select = "nul"
+input_player6_select_btn = "nul"
+input_player6_select_axis = "nul"
+input_player6_start = "nul"
+input_player6_start_btn = "nul"
+input_player6_start_axis = "nul"
+input_player6_up = "nul"
+input_player6_up_btn = "nul"
+input_player6_up_axis = "nul"
+input_player6_down = "nul"
+input_player6_down_btn = "nul"
+input_player6_down_axis = "nul"
+input_player6_left = "nul"
+input_player6_left_btn = "nul"
+input_player6_left_axis = "nul"
+input_player6_right = "nul"
+input_player6_right_btn = "nul"
+input_player6_right_axis = "nul"
+input_player6_a = "nul"
+input_player6_a_btn = "nul"
+input_player6_a_axis = "nul"
+input_player6_x = "nul"
+input_player6_x_btn = "nul"
+input_player6_x_axis = "nul"
+input_player6_l = "nul"
+input_player6_l_btn = "nul"
+input_player6_l_axis = "nul"
+input_player6_r = "nul"
+input_player6_r_btn = "nul"
+input_player6_r_axis = "nul"
+input_player6_l2 = "nul"
+input_player6_l2_btn = "nul"
+input_player6_l2_axis = "nul"
+input_player6_r2 = "nul"
+input_player6_r2_btn = "nul"
+input_player6_r2_axis = "nul"
+input_player6_l3 = "nul"
+input_player6_l3_btn = "nul"
+input_player6_l3_axis = "nul"
+input_player6_r3 = "nul"
+input_player6_r3_btn = "nul"
+input_player6_r3_axis = "nul"
+input_player6_l_x_plus = "nul"
+input_player6_l_x_plus_btn = "nul"
+input_player6_l_x_plus_axis = "nul"
+input_player6_l_x_minus = "nul"
+input_player6_l_x_minus_btn = "nul"
+input_player6_l_x_minus_axis = "nul"
+input_player6_l_y_plus = "nul"
+input_player6_l_y_plus_btn = "nul"
+input_player6_l_y_plus_axis = "nul"
+input_player6_l_y_minus = "nul"
+input_player6_l_y_minus_btn = "nul"
+input_player6_l_y_minus_axis = "nul"
+input_player6_r_x_plus = "nul"
+input_player6_r_x_plus_btn = "nul"
+input_player6_r_x_plus_axis = "nul"
+input_player6_r_x_minus = "nul"
+input_player6_r_x_minus_btn = "nul"
+input_player6_r_x_minus_axis = "nul"
+input_player6_r_y_plus = "nul"
+input_player6_r_y_plus_btn = "nul"
+input_player6_r_y_plus_axis = "nul"
+input_player6_r_y_minus = "nul"
+input_player6_r_y_minus_btn = "nul"
+input_player6_r_y_minus_axis = "nul"
+input_player6_turbo = "nul"
+input_player6_turbo_btn = "nul"
+input_player6_turbo_axis = "nul"
+input_player7_b = "nul"
+input_player7_b_btn = "nul"
+input_player7_b_axis = "nul"
+input_player7_y = "nul"
+input_player7_y_btn = "nul"
+input_player7_y_axis = "nul"
+input_player7_select = "nul"
+input_player7_select_btn = "nul"
+input_player7_select_axis = "nul"
+input_player7_start = "nul"
+input_player7_start_btn = "nul"
+input_player7_start_axis = "nul"
+input_player7_up = "nul"
+input_player7_up_btn = "nul"
+input_player7_up_axis = "nul"
+input_player7_down = "nul"
+input_player7_down_btn = "nul"
+input_player7_down_axis = "nul"
+input_player7_left = "nul"
+input_player7_left_btn = "nul"
+input_player7_left_axis = "nul"
+input_player7_right = "nul"
+input_player7_right_btn = "nul"
+input_player7_right_axis = "nul"
+input_player7_a = "nul"
+input_player7_a_btn = "nul"
+input_player7_a_axis = "nul"
+input_player7_x = "nul"
+input_player7_x_btn = "nul"
+input_player7_x_axis = "nul"
+input_player7_l = "nul"
+input_player7_l_btn = "nul"
+input_player7_l_axis = "nul"
+input_player7_r = "nul"
+input_player7_r_btn = "nul"
+input_player7_r_axis = "nul"
+input_player7_l2 = "nul"
+input_player7_l2_btn = "nul"
+input_player7_l2_axis = "nul"
+input_player7_r2 = "nul"
+input_player7_r2_btn = "nul"
+input_player7_r2_axis = "nul"
+input_player7_l3 = "nul"
+input_player7_l3_btn = "nul"
+input_player7_l3_axis = "nul"
+input_player7_r3 = "nul"
+input_player7_r3_btn = "nul"
+input_player7_r3_axis = "nul"
+input_player7_l_x_plus = "nul"
+input_player7_l_x_plus_btn = "nul"
+input_player7_l_x_plus_axis = "nul"
+input_player7_l_x_minus = "nul"
+input_player7_l_x_minus_btn = "nul"
+input_player7_l_x_minus_axis = "nul"
+input_player7_l_y_plus = "nul"
+input_player7_l_y_plus_btn = "nul"
+input_player7_l_y_plus_axis = "nul"
+input_player7_l_y_minus = "nul"
+input_player7_l_y_minus_btn = "nul"
+input_player7_l_y_minus_axis = "nul"
+input_player7_r_x_plus = "nul"
+input_player7_r_x_plus_btn = "nul"
+input_player7_r_x_plus_axis = "nul"
+input_player7_r_x_minus = "nul"
+input_player7_r_x_minus_btn = "nul"
+input_player7_r_x_minus_axis = "nul"
+input_player7_r_y_plus = "nul"
+input_player7_r_y_plus_btn = "nul"
+input_player7_r_y_plus_axis = "nul"
+input_player7_r_y_minus = "nul"
+input_player7_r_y_minus_btn = "nul"
+input_player7_r_y_minus_axis = "nul"
+input_player7_turbo = "nul"
+input_player7_turbo_btn = "nul"
+input_player7_turbo_axis = "nul"
+input_player8_b = "nul"
+input_player8_b_btn = "nul"
+input_player8_b_axis = "nul"
+input_player8_y = "nul"
+input_player8_y_btn = "nul"
+input_player8_y_axis = "nul"
+input_player8_select = "nul"
+input_player8_select_btn = "nul"
+input_player8_select_axis = "nul"
+input_player8_start = "nul"
+input_player8_start_btn = "nul"
+input_player8_start_axis = "nul"
+input_player8_up = "nul"
+input_player8_up_btn = "nul"
+input_player8_up_axis = "nul"
+input_player8_down = "nul"
+input_player8_down_btn = "nul"
+input_player8_down_axis = "nul"
+input_player8_left = "nul"
+input_player8_left_btn = "nul"
+input_player8_left_axis = "nul"
+input_player8_right = "nul"
+input_player8_right_btn = "nul"
+input_player8_right_axis = "nul"
+input_player8_a = "nul"
+input_player8_a_btn = "nul"
+input_player8_a_axis = "nul"
+input_player8_x = "nul"
+input_player8_x_btn = "nul"
+input_player8_x_axis = "nul"
+input_player8_l = "nul"
+input_player8_l_btn = "nul"
+input_player8_l_axis = "nul"
+input_player8_r = "nul"
+input_player8_r_btn = "nul"
+input_player8_r_axis = "nul"
+input_player8_l2 = "nul"
+input_player8_l2_btn = "nul"
+input_player8_l2_axis = "nul"
+input_player8_r2 = "nul"
+input_player8_r2_btn = "nul"
+input_player8_r2_axis = "nul"
+input_player8_l3 = "nul"
+input_player8_l3_btn = "nul"
+input_player8_l3_axis = "nul"
+input_player8_r3 = "nul"
+input_player8_r3_btn = "nul"
+input_player8_r3_axis = "nul"
+input_player8_l_x_plus = "nul"
+input_player8_l_x_plus_btn = "nul"
+input_player8_l_x_plus_axis = "nul"
+input_player8_l_x_minus = "nul"
+input_player8_l_x_minus_btn = "nul"
+input_player8_l_x_minus_axis = "nul"
+input_player8_l_y_plus = "nul"
+input_player8_l_y_plus_btn = "nul"
+input_player8_l_y_plus_axis = "nul"
+input_player8_l_y_minus = "nul"
+input_player8_l_y_minus_btn = "nul"
+input_player8_l_y_minus_axis = "nul"
+input_player8_r_x_plus = "nul"
+input_player8_r_x_plus_btn = "nul"
+input_player8_r_x_plus_axis = "nul"
+input_player8_r_x_minus = "nul"
+input_player8_r_x_minus_btn = "nul"
+input_player8_r_x_minus_axis = "nul"
+input_player8_r_y_plus = "nul"
+input_player8_r_y_plus_btn = "nul"
+input_player8_r_y_plus_axis = "nul"
+input_player8_r_y_minus = "nul"
+input_player8_r_y_minus_btn = "nul"
+input_player8_r_y_minus_axis = "nul"
+input_player8_turbo = "nul"
+input_player8_turbo_btn = "nul"
+input_player8_turbo_axis = "nul"
+input_player9_b = "nul"
+input_player9_b_btn = "nul"
+input_player9_b_axis = "nul"
+input_player9_y = "nul"
+input_player9_y_btn = "nul"
+input_player9_y_axis = "nul"
+input_player9_select = "nul"
+input_player9_select_btn = "nul"
+input_player9_select_axis = "nul"
+input_player9_start = "nul"
+input_player9_start_btn = "nul"
+input_player9_start_axis = "nul"
+input_player9_up = "nul"
+input_player9_up_btn = "nul"
+input_player9_up_axis = "nul"
+input_player9_down = "nul"
+input_player9_down_btn = "nul"
+input_player9_down_axis = "nul"
+input_player9_left = "nul"
+input_player9_left_btn = "nul"
+input_player9_left_axis = "nul"
+input_player9_right = "nul"
+input_player9_right_btn = "nul"
+input_player9_right_axis = "nul"
+input_player9_a = "nul"
+input_player9_a_btn = "nul"
+input_player9_a_axis = "nul"
+input_player9_x = "nul"
+input_player9_x_btn = "nul"
+input_player9_x_axis = "nul"
+input_player9_l = "nul"
+input_player9_l_btn = "nul"
+input_player9_l_axis = "nul"
+input_player9_r = "nul"
+input_player9_r_btn = "nul"
+input_player9_r_axis = "nul"
+input_player9_l2 = "nul"
+input_player9_l2_btn = "nul"
+input_player9_l2_axis = "nul"
+input_player9_r2 = "nul"
+input_player9_r2_btn = "nul"
+input_player9_r2_axis = "nul"
+input_player9_l3 = "nul"
+input_player9_l3_btn = "nul"
+input_player9_l3_axis = "nul"
+input_player9_r3 = "nul"
+input_player9_r3_btn = "nul"
+input_player9_r3_axis = "nul"
+input_player9_l_x_plus = "nul"
+input_player9_l_x_plus_btn = "nul"
+input_player9_l_x_plus_axis = "nul"
+input_player9_l_x_minus = "nul"
+input_player9_l_x_minus_btn = "nul"
+input_player9_l_x_minus_axis = "nul"
+input_player9_l_y_plus = "nul"
+input_player9_l_y_plus_btn = "nul"
+input_player9_l_y_plus_axis = "nul"
+input_player9_l_y_minus = "nul"
+input_player9_l_y_minus_btn = "nul"
+input_player9_l_y_minus_axis = "nul"
+input_player9_r_x_plus = "nul"
+input_player9_r_x_plus_btn = "nul"
+input_player9_r_x_plus_axis = "nul"
+input_player9_r_x_minus = "nul"
+input_player9_r_x_minus_btn = "nul"
+input_player9_r_x_minus_axis = "nul"
+input_player9_r_y_plus = "nul"
+input_player9_r_y_plus_btn = "nul"
+input_player9_r_y_plus_axis = "nul"
+input_player9_r_y_minus = "nul"
+input_player9_r_y_minus_btn = "nul"
+input_player9_r_y_minus_axis = "nul"
+input_player9_turbo = "nul"
+input_player9_turbo_btn = "nul"
+input_player9_turbo_axis = "nul"
+input_player10_b = "nul"
+input_player10_b_btn = "nul"
+input_player10_b_axis = "nul"
+input_player10_y = "nul"
+input_player10_y_btn = "nul"
+input_player10_y_axis = "nul"
+input_player10_select = "nul"
+input_player10_select_btn = "nul"
+input_player10_select_axis = "nul"
+input_player10_start = "nul"
+input_player10_start_btn = "nul"
+input_player10_start_axis = "nul"
+input_player10_up = "nul"
+input_player10_up_btn = "nul"
+input_player10_up_axis = "nul"
+input_player10_down = "nul"
+input_player10_down_btn = "nul"
+input_player10_down_axis = "nul"
+input_player10_left = "nul"
+input_player10_left_btn = "nul"
+input_player10_left_axis = "nul"
+input_player10_right = "nul"
+input_player10_right_btn = "nul"
+input_player10_right_axis = "nul"
+input_player10_a = "nul"
+input_player10_a_btn = "nul"
+input_player10_a_axis = "nul"
+input_player10_x = "nul"
+input_player10_x_btn = "nul"
+input_player10_x_axis = "nul"
+input_player10_l = "nul"
+input_player10_l_btn = "nul"
+input_player10_l_axis = "nul"
+input_player10_r = "nul"
+input_player10_r_btn = "nul"
+input_player10_r_axis = "nul"
+input_player10_l2 = "nul"
+input_player10_l2_btn = "nul"
+input_player10_l2_axis = "nul"
+input_player10_r2 = "nul"
+input_player10_r2_btn = "nul"
+input_player10_r2_axis = "nul"
+input_player10_l3 = "nul"
+input_player10_l3_btn = "nul"
+input_player10_l3_axis = "nul"
+input_player10_r3 = "nul"
+input_player10_r3_btn = "nul"
+input_player10_r3_axis = "nul"
+input_player10_l_x_plus = "nul"
+input_player10_l_x_plus_btn = "nul"
+input_player10_l_x_plus_axis = "nul"
+input_player10_l_x_minus = "nul"
+input_player10_l_x_minus_btn = "nul"
+input_player10_l_x_minus_axis = "nul"
+input_player10_l_y_plus = "nul"
+input_player10_l_y_plus_btn = "nul"
+input_player10_l_y_plus_axis = "nul"
+input_player10_l_y_minus = "nul"
+input_player10_l_y_minus_btn = "nul"
+input_player10_l_y_minus_axis = "nul"
+input_player10_r_x_plus = "nul"
+input_player10_r_x_plus_btn = "nul"
+input_player10_r_x_plus_axis = "nul"
+input_player10_r_x_minus = "nul"
+input_player10_r_x_minus_btn = "nul"
+input_player10_r_x_minus_axis = "nul"
+input_player10_r_y_plus = "nul"
+input_player10_r_y_plus_btn = "nul"
+input_player10_r_y_plus_axis = "nul"
+input_player10_r_y_minus = "nul"
+input_player10_r_y_minus_btn = "nul"
+input_player10_r_y_minus_axis = "nul"
+input_player10_turbo = "nul"
+input_player10_turbo_btn = "nul"
+input_player10_turbo_axis = "nul"
+input_player11_b = "nul"
+input_player11_b_btn = "nul"
+input_player11_b_axis = "nul"
+input_player11_y = "nul"
+input_player11_y_btn = "nul"
+input_player11_y_axis = "nul"
+input_player11_select = "nul"
+input_player11_select_btn = "nul"
+input_player11_select_axis = "nul"
+input_player11_start = "nul"
+input_player11_start_btn = "nul"
+input_player11_start_axis = "nul"
+input_player11_up = "nul"
+input_player11_up_btn = "nul"
+input_player11_up_axis = "nul"
+input_player11_down = "nul"
+input_player11_down_btn = "nul"
+input_player11_down_axis = "nul"
+input_player11_left = "nul"
+input_player11_left_btn = "nul"
+input_player11_left_axis = "nul"
+input_player11_right = "nul"
+input_player11_right_btn = "nul"
+input_player11_right_axis = "nul"
+input_player11_a = "nul"
+input_player11_a_btn = "nul"
+input_player11_a_axis = "nul"
+input_player11_x = "nul"
+input_player11_x_btn = "nul"
+input_player11_x_axis = "nul"
+input_player11_l = "nul"
+input_player11_l_btn = "nul"
+input_player11_l_axis = "nul"
+input_player11_r = "nul"
+input_player11_r_btn = "nul"
+input_player11_r_axis = "nul"
+input_player11_l2 = "nul"
+input_player11_l2_btn = "nul"
+input_player11_l2_axis = "nul"
+input_player11_r2 = "nul"
+input_player11_r2_btn = "nul"
+input_player11_r2_axis = "nul"
+input_player11_l3 = "nul"
+input_player11_l3_btn = "nul"
+input_player11_l3_axis = "nul"
+input_player11_r3 = "nul"
+input_player11_r3_btn = "nul"
+input_player11_r3_axis = "nul"
+input_player11_l_x_plus = "nul"
+input_player11_l_x_plus_btn = "nul"
+input_player11_l_x_plus_axis = "nul"
+input_player11_l_x_minus = "nul"
+input_player11_l_x_minus_btn = "nul"
+input_player11_l_x_minus_axis = "nul"
+input_player11_l_y_plus = "nul"
+input_player11_l_y_plus_btn = "nul"
+input_player11_l_y_plus_axis = "nul"
+input_player11_l_y_minus = "nul"
+input_player11_l_y_minus_btn = "nul"
+input_player11_l_y_minus_axis = "nul"
+input_player11_r_x_plus = "nul"
+input_player11_r_x_plus_btn = "nul"
+input_player11_r_x_plus_axis = "nul"
+input_player11_r_x_minus = "nul"
+input_player11_r_x_minus_btn = "nul"
+input_player11_r_x_minus_axis = "nul"
+input_player11_r_y_plus = "nul"
+input_player11_r_y_plus_btn = "nul"
+input_player11_r_y_plus_axis = "nul"
+input_player11_r_y_minus = "nul"
+input_player11_r_y_minus_btn = "nul"
+input_player11_r_y_minus_axis = "nul"
+input_player11_turbo = "nul"
+input_player11_turbo_btn = "nul"
+input_player11_turbo_axis = "nul"
+input_player12_b = "nul"
+input_player12_b_btn = "nul"
+input_player12_b_axis = "nul"
+input_player12_y = "nul"
+input_player12_y_btn = "nul"
+input_player12_y_axis = "nul"
+input_player12_select = "nul"
+input_player12_select_btn = "nul"
+input_player12_select_axis = "nul"
+input_player12_start = "nul"
+input_player12_start_btn = "nul"
+input_player12_start_axis = "nul"
+input_player12_up = "nul"
+input_player12_up_btn = "nul"
+input_player12_up_axis = "nul"
+input_player12_down = "nul"
+input_player12_down_btn = "nul"
+input_player12_down_axis = "nul"
+input_player12_left = "nul"
+input_player12_left_btn = "nul"
+input_player12_left_axis = "nul"
+input_player12_right = "nul"
+input_player12_right_btn = "nul"
+input_player12_right_axis = "nul"
+input_player12_a = "nul"
+input_player12_a_btn = "nul"
+input_player12_a_axis = "nul"
+input_player12_x = "nul"
+input_player12_x_btn = "nul"
+input_player12_x_axis = "nul"
+input_player12_l = "nul"
+input_player12_l_btn = "nul"
+input_player12_l_axis = "nul"
+input_player12_r = "nul"
+input_player12_r_btn = "nul"
+input_player12_r_axis = "nul"
+input_player12_l2 = "nul"
+input_player12_l2_btn = "nul"
+input_player12_l2_axis = "nul"
+input_player12_r2 = "nul"
+input_player12_r2_btn = "nul"
+input_player12_r2_axis = "nul"
+input_player12_l3 = "nul"
+input_player12_l3_btn = "nul"
+input_player12_l3_axis = "nul"
+input_player12_r3 = "nul"
+input_player12_r3_btn = "nul"
+input_player12_r3_axis = "nul"
+input_player12_l_x_plus = "nul"
+input_player12_l_x_plus_btn = "nul"
+input_player12_l_x_plus_axis = "nul"
+input_player12_l_x_minus = "nul"
+input_player12_l_x_minus_btn = "nul"
+input_player12_l_x_minus_axis = "nul"
+input_player12_l_y_plus = "nul"
+input_player12_l_y_plus_btn = "nul"
+input_player12_l_y_plus_axis = "nul"
+input_player12_l_y_minus = "nul"
+input_player12_l_y_minus_btn = "nul"
+input_player12_l_y_minus_axis = "nul"
+input_player12_r_x_plus = "nul"
+input_player12_r_x_plus_btn = "nul"
+input_player12_r_x_plus_axis = "nul"
+input_player12_r_x_minus = "nul"
+input_player12_r_x_minus_btn = "nul"
+input_player12_r_x_minus_axis = "nul"
+input_player12_r_y_plus = "nul"
+input_player12_r_y_plus_btn = "nul"
+input_player12_r_y_plus_axis = "nul"
+input_player12_r_y_minus = "nul"
+input_player12_r_y_minus_btn = "nul"
+input_player12_r_y_minus_axis = "nul"
+input_player12_turbo = "nul"
+input_player12_turbo_btn = "nul"
+input_player12_turbo_axis = "nul"
+input_player13_b = "nul"
+input_player13_b_btn = "nul"
+input_player13_b_axis = "nul"
+input_player13_y = "nul"
+input_player13_y_btn = "nul"
+input_player13_y_axis = "nul"
+input_player13_select = "nul"
+input_player13_select_btn = "nul"
+input_player13_select_axis = "nul"
+input_player13_start = "nul"
+input_player13_start_btn = "nul"
+input_player13_start_axis = "nul"
+input_player13_up = "nul"
+input_player13_up_btn = "nul"
+input_player13_up_axis = "nul"
+input_player13_down = "nul"
+input_player13_down_btn = "nul"
+input_player13_down_axis = "nul"
+input_player13_left = "nul"
+input_player13_left_btn = "nul"
+input_player13_left_axis = "nul"
+input_player13_right = "nul"
+input_player13_right_btn = "nul"
+input_player13_right_axis = "nul"
+input_player13_a = "nul"
+input_player13_a_btn = "nul"
+input_player13_a_axis = "nul"
+input_player13_x = "nul"
+input_player13_x_btn = "nul"
+input_player13_x_axis = "nul"
+input_player13_l = "nul"
+input_player13_l_btn = "nul"
+input_player13_l_axis = "nul"
+input_player13_r = "nul"
+input_player13_r_btn = "nul"
+input_player13_r_axis = "nul"
+input_player13_l2 = "nul"
+input_player13_l2_btn = "nul"
+input_player13_l2_axis = "nul"
+input_player13_r2 = "nul"
+input_player13_r2_btn = "nul"
+input_player13_r2_axis = "nul"
+input_player13_l3 = "nul"
+input_player13_l3_btn = "nul"
+input_player13_l3_axis = "nul"
+input_player13_r3 = "nul"
+input_player13_r3_btn = "nul"
+input_player13_r3_axis = "nul"
+input_player13_l_x_plus = "nul"
+input_player13_l_x_plus_btn = "nul"
+input_player13_l_x_plus_axis = "nul"
+input_player13_l_x_minus = "nul"
+input_player13_l_x_minus_btn = "nul"
+input_player13_l_x_minus_axis = "nul"
+input_player13_l_y_plus = "nul"
+input_player13_l_y_plus_btn = "nul"
+input_player13_l_y_plus_axis = "nul"
+input_player13_l_y_minus = "nul"
+input_player13_l_y_minus_btn = "nul"
+input_player13_l_y_minus_axis = "nul"
+input_player13_r_x_plus = "nul"
+input_player13_r_x_plus_btn = "nul"
+input_player13_r_x_plus_axis = "nul"
+input_player13_r_x_minus = "nul"
+input_player13_r_x_minus_btn = "nul"
+input_player13_r_x_minus_axis = "nul"
+input_player13_r_y_plus = "nul"
+input_player13_r_y_plus_btn = "nul"
+input_player13_r_y_plus_axis = "nul"
+input_player13_r_y_minus = "nul"
+input_player13_r_y_minus_btn = "nul"
+input_player13_r_y_minus_axis = "nul"
+input_player13_turbo = "nul"
+input_player13_turbo_btn = "nul"
+input_player13_turbo_axis = "nul"
+input_player14_b = "nul"
+input_player14_b_btn = "nul"
+input_player14_b_axis = "nul"
+input_player14_y = "nul"
+input_player14_y_btn = "nul"
+input_player14_y_axis = "nul"
+input_player14_select = "nul"
+input_player14_select_btn = "nul"
+input_player14_select_axis = "nul"
+input_player14_start = "nul"
+input_player14_start_btn = "nul"
+input_player14_start_axis = "nul"
+input_player14_up = "nul"
+input_player14_up_btn = "nul"
+input_player14_up_axis = "nul"
+input_player14_down = "nul"
+input_player14_down_btn = "nul"
+input_player14_down_axis = "nul"
+input_player14_left = "nul"
+input_player14_left_btn = "nul"
+input_player14_left_axis = "nul"
+input_player14_right = "nul"
+input_player14_right_btn = "nul"
+input_player14_right_axis = "nul"
+input_player14_a = "nul"
+input_player14_a_btn = "nul"
+input_player14_a_axis = "nul"
+input_player14_x = "nul"
+input_player14_x_btn = "nul"
+input_player14_x_axis = "nul"
+input_player14_l = "nul"
+input_player14_l_btn = "nul"
+input_player14_l_axis = "nul"
+input_player14_r = "nul"
+input_player14_r_btn = "nul"
+input_player14_r_axis = "nul"
+input_player14_l2 = "nul"
+input_player14_l2_btn = "nul"
+input_player14_l2_axis = "nul"
+input_player14_r2 = "nul"
+input_player14_r2_btn = "nul"
+input_player14_r2_axis = "nul"
+input_player14_l3 = "nul"
+input_player14_l3_btn = "nul"
+input_player14_l3_axis = "nul"
+input_player14_r3 = "nul"
+input_player14_r3_btn = "nul"
+input_player14_r3_axis = "nul"
+input_player14_l_x_plus = "nul"
+input_player14_l_x_plus_btn = "nul"
+input_player14_l_x_plus_axis = "nul"
+input_player14_l_x_minus = "nul"
+input_player14_l_x_minus_btn = "nul"
+input_player14_l_x_minus_axis = "nul"
+input_player14_l_y_plus = "nul"
+input_player14_l_y_plus_btn = "nul"
+input_player14_l_y_plus_axis = "nul"
+input_player14_l_y_minus = "nul"
+input_player14_l_y_minus_btn = "nul"
+input_player14_l_y_minus_axis = "nul"
+input_player14_r_x_plus = "nul"
+input_player14_r_x_plus_btn = "nul"
+input_player14_r_x_plus_axis = "nul"
+input_player14_r_x_minus = "nul"
+input_player14_r_x_minus_btn = "nul"
+input_player14_r_x_minus_axis = "nul"
+input_player14_r_y_plus = "nul"
+input_player14_r_y_plus_btn = "nul"
+input_player14_r_y_plus_axis = "nul"
+input_player14_r_y_minus = "nul"
+input_player14_r_y_minus_btn = "nul"
+input_player14_r_y_minus_axis = "nul"
+input_player14_turbo = "nul"
+input_player14_turbo_btn = "nul"
+input_player14_turbo_axis = "nul"
+input_player15_b = "nul"
+input_player15_b_btn = "nul"
+input_player15_b_axis = "nul"
+input_player15_y = "nul"
+input_player15_y_btn = "nul"
+input_player15_y_axis = "nul"
+input_player15_select = "nul"
+input_player15_select_btn = "nul"
+input_player15_select_axis = "nul"
+input_player15_start = "nul"
+input_player15_start_btn = "nul"
+input_player15_start_axis = "nul"
+input_player15_up = "nul"
+input_player15_up_btn = "nul"
+input_player15_up_axis = "nul"
+input_player15_down = "nul"
+input_player15_down_btn = "nul"
+input_player15_down_axis = "nul"
+input_player15_left = "nul"
+input_player15_left_btn = "nul"
+input_player15_left_axis = "nul"
+input_player15_right = "nul"
+input_player15_right_btn = "nul"
+input_player15_right_axis = "nul"
+input_player15_a = "nul"
+input_player15_a_btn = "nul"
+input_player15_a_axis = "nul"
+input_player15_x = "nul"
+input_player15_x_btn = "nul"
+input_player15_x_axis = "nul"
+input_player15_l = "nul"
+input_player15_l_btn = "nul"
+input_player15_l_axis = "nul"
+input_player15_r = "nul"
+input_player15_r_btn = "nul"
+input_player15_r_axis = "nul"
+input_player15_l2 = "nul"
+input_player15_l2_btn = "nul"
+input_player15_l2_axis = "nul"
+input_player15_r2 = "nul"
+input_player15_r2_btn = "nul"
+input_player15_r2_axis = "nul"
+input_player15_l3 = "nul"
+input_player15_l3_btn = "nul"
+input_player15_l3_axis = "nul"
+input_player15_r3 = "nul"
+input_player15_r3_btn = "nul"
+input_player15_r3_axis = "nul"
+input_player15_l_x_plus = "nul"
+input_player15_l_x_plus_btn = "nul"
+input_player15_l_x_plus_axis = "nul"
+input_player15_l_x_minus = "nul"
+input_player15_l_x_minus_btn = "nul"
+input_player15_l_x_minus_axis = "nul"
+input_player15_l_y_plus = "nul"
+input_player15_l_y_plus_btn = "nul"
+input_player15_l_y_plus_axis = "nul"
+input_player15_l_y_minus = "nul"
+input_player15_l_y_minus_btn = "nul"
+input_player15_l_y_minus_axis = "nul"
+input_player15_r_x_plus = "nul"
+input_player15_r_x_plus_btn = "nul"
+input_player15_r_x_plus_axis = "nul"
+input_player15_r_x_minus = "nul"
+input_player15_r_x_minus_btn = "nul"
+input_player15_r_x_minus_axis = "nul"
+input_player15_r_y_plus = "nul"
+input_player15_r_y_plus_btn = "nul"
+input_player15_r_y_plus_axis = "nul"
+input_player15_r_y_minus = "nul"
+input_player15_r_y_minus_btn = "nul"
+input_player15_r_y_minus_axis = "nul"
+input_player15_turbo = "nul"
+input_player15_turbo_btn = "nul"
+input_player15_turbo_axis = "nul"
+input_player16_b = "nul"
+input_player16_b_btn = "nul"
+input_player16_b_axis = "nul"
+input_player16_y = "nul"
+input_player16_y_btn = "nul"
+input_player16_y_axis = "nul"
+input_player16_select = "nul"
+input_player16_select_btn = "nul"
+input_player16_select_axis = "nul"
+input_player16_start = "nul"
+input_player16_start_btn = "nul"
+input_player16_start_axis = "nul"
+input_player16_up = "nul"
+input_player16_up_btn = "nul"
+input_player16_up_axis = "nul"
+input_player16_down = "nul"
+input_player16_down_btn = "nul"
+input_player16_down_axis = "nul"
+input_player16_left = "nul"
+input_player16_left_btn = "nul"
+input_player16_left_axis = "nul"
+input_player16_right = "nul"
+input_player16_right_btn = "nul"
+input_player16_right_axis = "nul"
+input_player16_a = "nul"
+input_player16_a_btn = "nul"
+input_player16_a_axis = "nul"
+input_player16_x = "nul"
+input_player16_x_btn = "nul"
+input_player16_x_axis = "nul"
+input_player16_l = "nul"
+input_player16_l_btn = "nul"
+input_player16_l_axis = "nul"
+input_player16_r = "nul"
+input_player16_r_btn = "nul"
+input_player16_r_axis = "nul"
+input_player16_l2 = "nul"
+input_player16_l2_btn = "nul"
+input_player16_l2_axis = "nul"
+input_player16_r2 = "nul"
+input_player16_r2_btn = "nul"
+input_player16_r2_axis = "nul"
+input_player16_l3 = "nul"
+input_player16_l3_btn = "nul"
+input_player16_l3_axis = "nul"
+input_player16_r3 = "nul"
+input_player16_r3_btn = "nul"
+input_player16_r3_axis = "nul"
+input_player16_l_x_plus = "nul"
+input_player16_l_x_plus_btn = "nul"
+input_player16_l_x_plus_axis = "nul"
+input_player16_l_x_minus = "nul"
+input_player16_l_x_minus_btn = "nul"
+input_player16_l_x_minus_axis = "nul"
+input_player16_l_y_plus = "nul"
+input_player16_l_y_plus_btn = "nul"
+input_player16_l_y_plus_axis = "nul"
+input_player16_l_y_minus = "nul"
+input_player16_l_y_minus_btn = "nul"
+input_player16_l_y_minus_axis = "nul"
+input_player16_r_x_plus = "nul"
+input_player16_r_x_plus_btn = "nul"
+input_player16_r_x_plus_axis = "nul"
+input_player16_r_x_minus = "nul"
+input_player16_r_x_minus_btn = "nul"
+input_player16_r_x_minus_axis = "nul"
+input_player16_r_y_plus = "nul"
+input_player16_r_y_plus_btn = "nul"
+input_player16_r_y_plus_axis = "nul"
+input_player16_r_y_minus = "nul"
+input_player16_r_y_minus_btn = "nul"
+input_player16_r_y_minus_axis = "nul"
+input_player16_turbo = "nul"
+input_player16_turbo_btn = "nul"
+input_player16_turbo_axis = "nul"
+core_specific_config = "false"
+auto_overrides_enable = "false"
+auto_remaps_enable = "false"
+sort_savefiles_enable = "false"
+sort_savestates_enable = "false"
+libretro_log_level = "0"
+log_verbosity = "false"
+perfcnt_enable = "false"
+core_set_supports_no_game_enable = "true"
+menu_ok_btn = "8"
+menu_cancel_btn = "0"
+menu_search_btn = "9"
+menu_info_btn = "2"
+menu_default_btn = "3"
+menu_scroll_down_btn = "11"
+menu_scroll_up_btn = "10"
+libretro_path = "/usr/lib/libretro/snes9x_next_libretro.so"
+core_options_path = ""
+recording_output_directory = ""
+recording_config_directory = ""
+libretro_directory = ""
+libretro_info_path = ""
+content_database_path = ""
+cheat_database_path = ""
+cursor_directory = ""
+content_history_dir = ""
+video_shader = ""
+bundle_assets_last_extracted_version = ""
+menu_wallpaper = ""
+audio_device = ""
+video_filter = ""
+audio_dsp_plugin = ""
+camera_device = ""
+video_context_driver = ""
+extraction_directory = ""
+input_remapping_directory = ""
+input_remapping_path = ""
+resampler_directory = ""
+joypad_autoconfig_dir = ""
+input_overlay = ""
+input_osk_overlay = ""
+video_font_path = ""
+netplay_ip_address = ""
+netplay_nickname = ""
+input_keyboard_layout = ""
index 2a708eaed2550bbdb5f3b2782a487f31340a1504..ad0faf62f968472bcc94177bfa7e6716ee5013a4 100644 (file)
@@ -1,26 +1,25 @@
 input_player1_joypad_index = "0"
-input_player1_a_btn = "1"
 input_player1_b_btn = "0"
-input_player1_x_btn = "3"
 input_player1_y_btn = "2"
+input_player1_select_btn = "6"
+input_player1_start_btn = "7"
+input_player1_up_btn = "13"
+input_player1_down_btn = "14"
+input_player1_left_btn = "11"
+input_player1_right_btn = "12"
+input_player1_a_btn = "1"
+input_player1_x_btn = "3"
 input_player1_l_btn = "4"
 input_player1_r_btn = "5"
-input_player1_l2_btn = "6"
-input_player1_r2_btn = "7"
-input_player1_l3_btn = "11"
-input_player1_r3_btn = "12"
-input_player1_start_btn = "9"
-input_player1_select_btn = "8"
-input_player1_left_axis = "-4"
-input_player1_up_axis = "-5"
-input_player1_right_axis = "+4"
-input_player1_down_axis = "+5"
+input_player1_l2_axis = "+2"
+input_player1_r2_axis = "+5"
+input_player1_l3_btn = "9"
+input_player1_r3_btn = "10"
 input_player1_l_x_plus_axis = "+0"
-input_player1_l_y_plus_axis = "+1"
 input_player1_l_x_minus_axis = "-0"
+input_player1_l_y_plus_axis = "+1"
 input_player1_l_y_minus_axis = "-1"
-input_player1_r_x_plus_axis = "+2"
-input_player1_r_y_plus_axis = "+3"
-input_player1_r_x_minus_axis = "-2"
-input_player1_r_y_minus_axis = "-3"
-
+input_player1_r_x_plus_axis = "+3"
+input_player1_r_x_minus_axis = "-3"
+input_player1_r_y_plus_axis = "+4"
+input_player1_r_y_minus_axis = "-4"
diff --git a/retroarch/retroarch.joyconfig.shada b/retroarch/retroarch.joyconfig.shada
deleted file mode 100644 (file)
index f17af6b..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-input_player1_joypad_index = "0"
-input_player1_a_btn = "1"
-input_player1_b_btn = "0"
-input_player1_x_btn = "3"
-input_player1_y_btn = "2"
-input_player1_l_btn = "4"
-input_player1_r_btn = "5"
-input_player1_l2_btn = "6"
-input_player1_r2_btn = "7"
-input_player1_l3_btn = "11"
-input_player1_r3_btn = "12"
-input_player1_start_btn = "9"
-input_player1_select_btn = "8"
-input_player1_left_btn = "h0left"
-input_player1_up_btn = "h0up"
-input_player1_right_btn = "h0right"
-input_player1_down_btn = "h0down"
-input_player1_l_x_plus_axis = "+0"
-input_player1_l_y_plus_axis = "+1"
-input_player1_l_x_minus_axis = "-0"
-input_player1_l_y_minus_axis = "-1"
-input_player1_r_x_plus_axis = "+2"
-input_player1_r_y_plus_axis = "+3"
-input_player1_r_x_minus_axis = "-2"
-input_player1_r_y_minus_axis = "-3"
diff --git a/retroarch/snes/retroarch-snes.cfg b/retroarch/snes/retroarch-snes.cfg
new file mode 100644 (file)
index 0000000..b61deea
--- /dev/null
@@ -0,0 +1,429 @@
+## Skeleton config file for RetroArch
+
+# Save all save files (*.srm) to this directory. This includes related files like .bsv, .rtc, .psrm, etc ...
+# This will be overridden by explicit command line options.
+# savefile_directory =
+
+# Save all save states (*.state) to this directory.
+# This will be overridden by explicit command line options.
+# savestate_directory =
+
+# Automatically saves a savestate at the end of RetroArch's lifetime.
+# The path is $SRAM_PATH.auto.
+# RetroArch will automatically load any savestate with this path on startup.
+# savestate_auto_save = false
+
+# Load libretro from a dynamic location for dynamically built RetroArch.
+# This option is mandatory.
+
+# If a directory, RetroArch will look through the directory until it finds an implementation
+# that appears to support the extension of the ROM loaded.
+# This could fail if ROM extensions overlap.
+libretro_path = "/usr/lib/libretro/snes9x_next_libretro.so"
+
+# Environment variables internally in RetroArch.
+# Implementations can tap into this user-specificed information to enable functionality
+# that is deemed too obscure to expose directly.
+# Some variables might be "standardized" at a later time if needed.
+# The string is formatted as key value pairs delimited by a semicolon ';'.
+# Any white space between the delimiter ';' and the '=' is significant.
+# I.e.: "key1=value1;key2=value2;..."
+# environment_variables =
+
+# Sets the "system" directory.
+# Implementations can query for this directory to load BIOSes, system-specific configs, etc.
+# system_directory = "default"
+
+#### Video
+
+# Video driver to use. "gl", "xvideo", "sdl"
+# video_driver = "gl"
+
+# Windowed xscale and yscale
+# (Real x res: base_size * xscale * aspect_ratio, real y res: base_size * yscale)
+# video_xscale = 3.0
+# video_yscale = 3.0
+
+# Fullscreen resolution. Resolution of 0 uses the resolution of the desktop.
+# video_fullscreen_x = 0
+# video_fullscreen_y = 0
+
+# Start in fullscreen. Can be changed at runtime.
+# video_fullscreen = false
+
+# If fullscreen, prefer using a windowed fullscreen mode.
+# video_windowed_fullscreen = true
+
+# Which monitor to prefer. 0 (default) means no particular monitor is preferred, 1 and up (1 being first monitor),
+# suggests RetroArch to use that particular monitor.
+# video_monitor_index = 0
+
+# Forcibly disable composition. Only works in Windows Vista/7 for now.
+# video_disable_composition = false
+
+# Video vsync.
+# video_vsync = true
+
+# Smoothens picture with bilinear filtering. Should be disabled if using pixel shaders.
+# video_smooth = true
+
+# Forces rendering area to stay equal to game aspect ratio or as defined in video_aspect_ratio.
+# video_force_aspect = true
+
+# A floating point value for video aspect ratio (width / height).
+# If this is not set, aspect ratio is assumed to be automatic.
+# Behavior then is defined by video_aspect_ratio_auto.
+# video_aspect_ratio =
+
+# If this is true and video_aspect_ratio is not set,
+# aspect ratio is decided by libretro implementation.
+# If this is false, 1:1 PAR will always be assumed if video_aspect_ratio is not set.
+# video_aspect_ratio_auto = false
+
+# Forces cropping of overscanned frames.
+# Exact behavior of this option is implementation specific.
+# video_crop_overscan = false
+
+# Path to Cg shader.
+# video_cg_shader = "/path/to/cg/shader.cg"
+
+# Path to GLSL XML shader. If both Cg shader path and XML shader path are defined, 
+# Cg shader will take priority unless overridden in video_shader_type.
+# video_bsnes_shader = "/path/to/bsnes/xml/shader.shader"
+
+# Which shader type to use. Valid values are "cg", "bsnes", "none" and "auto"
+# video_shader_type = auto
+
+# Defines a directory where XML shaders are kept.
+# video_shader_dir =
+
+# Render to texture first. Useful when doing multi-pass shaders or control the output of shaders better.
+# video_render_to_texture = false
+
+# Defines the video scale of render-to-texture. 
+# The output FBO size is scaled by these amounts against the input size (typically 256 * 224 for SNES).
+# video_fbo_scale_x = 2.0
+# video_fbo_scale_y = 2.0
+
+# Define shader to use for second pass (needs render-to-texture).
+# video_second_pass_shader = "/path/to/second/shader.{cg,shader}"
+
+# Defines if bilinear filtering is used during second pass (needs render-to-texture).
+# video_second_pass_smooth = true
+
+# CPU-based filter. Path to a bSNES CPU filter (*.filter)
+# video_filter =
+
+# Path to a TTF font used for rendering messages. This path must be defined to enable fonts.
+# Do note that the _full_ path of the font is necessary!
+# video_font_path = 
+
+# Size of the TTF font rendered.
+# video_font_size = 48
+
+# Attempt to scale the font to fit better for multiple window sizes.
+# video_font_scale = true
+
+# Enable usage of OSD messages.
+# video_font_enable = true
+
+# Offset for where messages will be placed on screen. Values are in range 0.0 to 1.0 for both x and y values. 
+# [0.0, 0.0] maps to the lower left corner of the screen.
+# video_message_pos_x = 0.05
+# video_message_pos_y = 0.05
+
+# Color for message. The value is treated as a hexadecimal value.
+# It is a regular RGB hex number, i.e. red is "ff0000".
+# video_message_color = ffffff
+
+# Video refresh rate of your monitor.
+# Used to calculate a suitable audio input rate.
+# video_refresh_rate = 59.95
+
+# Allows libretro cores to set rotation modes.
+# Setting this to false will honor, but ignore this request.
+# This is useful for vertically oriented games where one manually rotates the monitor.
+# video_allow_rotate = true
+
+#### Audio
+
+# Enable audio.
+# audio_enable = true
+
+# Audio output samplerate.
+# audio_out_rate = 48000
+
+# When altering audio_in_rate on-the-fly, define by how much each time.
+# audio_rate_step = 0.25
+
+# Audio driver backend. Depending on configuration possible candidates are: alsa, pulse, oss, jack, rsound, roar, openal, sdl, xaudio.
+# audio_driver =
+
+# Override the default audio device the audio_driver uses. This is driver dependant. E.g. ALSA wants a PCM device, OSS wants a path (e.g. /dev/dsp), Jack wants portnames (e.g. system:playback1,system:playback_2), and so on ...
+# audio_device =
+
+# External DSP plugin that processes audio before it's sent to the driver.
+# audio_dsp_plugin =
+
+# Will sync (block) on audio. Recommended.
+# audio_sync = true
+
+# Desired audio latency in milliseconds. Might not be honored if driver can't provide given latency.
+# audio_latency = 64
+
+# Enable experimental audio rate control.
+# audio_rate_control = true
+
+# Controls audio rate control delta. Defines how much input rate can be adjusted dynamically.
+# Input rate = in_rate * (1.0 +/- audio_rate_control_delta)
+# audio_rate_control_delta = 0.005
+
+# Audio volume. Volume is expressed in dB.
+# 0 dB is normal volume. No gain will be applied.
+# Gain can be controlled in runtime with input_volume_up/input_volume_down.
+# audio_volume = 0.0
+
+#### Input
+
+# Input driver. Depending on video driver, it might force a different input driver.
+# input_driver = sdl
+
+# Defines axis threshold. Possible values are [0.0, 1.0]
+# input_axis_threshold = 0.5
+
+# Path to input overlay
+# input_overlay =
+
+# Enable input auto-detection (used on Android). Will attempt to autoconfigure
+# gamepads, Plug-and-Play style.
+# input_autodetect_enable = true
+
+# Enable debug input key reporting on-screen.
+# input_debug_enable = false
+
+# Keyboard input. Will recognize normal keypresses and special keys like "left", "right", and so on.
+# Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely, 
+# rather than relying on a default.
+# input_player1_a = x
+# input_player1_b = z
+# input_player1_y = a
+# input_player1_x = s
+# input_player1_start = enter
+# input_player1_select = rshift
+# input_player1_l = q
+# input_player1_r = w
+# input_player1_left = left
+# input_player1_right = right
+# input_player1_up = up
+# input_player1_down = down
+# input_player1_l2 =
+# input_player1_r2 =
+# input_player1_l3 =
+# input_player1_r3 =
+
+# Two analog sticks (DualShock-esque).
+# Bound as usual, however, if a real analog axis is bound,
+# it can be read as a true analog.
+# Positive X axis is right, Positive Y axis is down.
+# input_player1_l_x_plus =
+# input_player1_l_x_minus =
+# input_player1_l_y_plus =
+# input_player1_l_y_minus =
+# input_player1_r_x_plus =
+# input_player1_r_x_minus =
+# input_player1_r_y_plus =
+# input_player1_r_y_minus =
+
+# If desired, it is possible to override which joypads are being used for player 1 through 5. First joypad available is 0.
+# input_player1_joypad_index = 0
+# input_player2_joypad_index = 1
+# input_player3_joypad_index = 2
+# input_player4_joypad_index = 3
+# input_player5_joypad_index = 4
+# Player 6-8 is not directly expected by libretro API, but we'll futureproof it.
+# input_player6_joypad_index = 5
+# input_player7_joypad_index = 6
+# input_player8_joypad_index = 7
+
+# Joypad buttons.
+# Figure these out by using RetroArch-Phoenix or retroarch-joyconfig.
+# You can use joypad hats with hnxx, where n is the hat, and xx is a string representing direction. 
+# E.g. "h0up"
+# input_player1_a_btn =
+# input_player1_b_btn =
+# input_player1_y_btn =
+# input_player1_x_btn =
+# input_player1_start_btn =
+# input_player1_select_btn =
+# input_player1_l_btn =
+# input_player1_r_btn =
+# input_player1_left_btn =
+# input_player1_right_btn =
+# input_player1_up_btn =
+# input_player1_down_btn =
+# input_player1_l2_btn =
+# input_player1_r2_btn =
+# input_player1_l3_btn =
+# input_player1_r3_btn =
+
+# Axis for RetroArch D-Pad. 
+# Needs to be either '+' or '-' in the first character signaling either positive or negative direction of the axis, then the axis number. 
+# Do note that every other input option has the corresponding _btn and _axis binds as well; they are omitted here for clarity.
+# input_player1_left_axis =
+# input_player1_right_axis =
+# input_player1_up_axis =
+# input_player1_down_axis =
+
+# Holding the turbo while pressing another button will let the button enter a turbo mode
+# where the button state is modulated with a periodic signal.
+# The modulation stops when the button itself (not turbo button) is released.
+# input_player1_turbo =
+
+# Describes the period and how long of that period a turbo-enabled button should behave.
+# Numbers are described in frames.
+# input_turbo_period = 6
+# input_turbo_duty_cycle = 3
+
+# This goes all the way to player 8 (*_player2_*, *_player3_*, etc), but omitted for clarity.
+# All input binds have corresponding binds for keyboard (none), joykeys (_btn) and joyaxes (_axis) as well.
+
+# Toggles fullscreen.
+# input_toggle_fullscreen = f
+
+# Saves state.
+# input_save_state = f2
+# Loads state.
+# input_load_state = f4
+
+# State slots. With slot set to 0, save state name is *.state (or whatever defined on commandline).
+# When slot is != 0, path will be $path%d, where %d is slot number.
+# input_state_slot_increase = f7
+# input_state_slot_decrease = f6
+
+# Toggles between fast-forwarding and normal speed.
+# input_toggle_fast_forward = space
+
+# Hold for fast-forward. Releasing button disables fast-forward.
+# input_hold_fast_forward = l
+
+# Key to exit emulator cleanly. 
+# Killing it in any hard way (SIGTERM, SIGKILL, etc, will terminate emulator without saving RAM, etc.)
+# input_exit_emulator = escape
+
+# Applies next and previous XML/Cg shader in directory.
+# input_shader_next = m
+# input_shader_prev = n
+
+# Hold button down to rewind. Rewinding must be enabled.
+# input_rewind = r
+
+# Toggle between recording and not.
+# input_movie_record_toggle = o
+
+# Toggle between paused and non-paused state
+# input_pause_toggle = p
+
+# Frame advance when game is paused
+# input_frame_advance = k
+
+# Reset the emulated SNES.
+# input_reset = h
+
+# Configures DSP plugin
+# input_dsp_config = c
+
+# Cheats.
+# input_cheat_index_plus = y
+# input_cheat_index_minus = t
+# input_cheat_toggle = u
+
+# Mute/unmute audio
+# input_audio_mute = f9
+
+# Take screenshot
+# input_screenshot = f8
+
+# Netplay flip players.
+# input_netplay_flip_players = i
+
+# Hold for slowmotion.
+# input_slowmotion = e
+
+# Enable other hotkeys.
+# If this hotkey is bound to either keyboard, joybutton or joyaxis,
+# all other hotkeys will be disabled unless this hotkey is also held at the same time.
+# This is useful for RETRO_KEYBOARD centric implementations
+# which query a large area of the keyboard, where it is not desirable
+# that hotkeys get in the way.
+
+# Alternatively, all hotkeys for keyboard could be disabled by the user.
+# input_enable_hotkey =
+
+# Increases audio volume.
+# input_volume_up = kp_plus
+# Decreases audio volume.
+# input_volume_down = kp_minus
+
+# Toggles to next overlay. Wraps around.
+# input_overlay_next =
+
+#### Misc
+
+# Enable rewinding. This will take a performance hit when playing, so it is disabled by default.
+# rewind_enable = false
+
+# Rewinding buffer size in megabytes. Bigger rewinding buffer means you can rewind longer.
+# The buffer should be approx. 20MB per minute of buffer time.
+# rewind_buffer_size = 20
+
+# Rewind granularity. When rewinding defined number of frames, you can rewind several frames at a time, increasing the rewinding speed.
+# rewind_granularity = 1
+
+# Pause gameplay when window focus is lost.
+# pause_nonactive = true
+
+# Autosaves the non-volatile SRAM at a regular interval. This is disabled by default unless set otherwise.
+# The interval is measured in seconds. A value of 0 disables autosave.
+# autosave_interval =
+
+# When being client over netplay, use keybinds for player 1.
+# netplay_client_swap_input = false
+
+# Path to XML cheat database (as used by bSNES).
+# cheat_database_path =
+
+# Path to XML cheat config, a file which keeps track of which
+# cheat settings are used for individual games.
+# If the file does not exist, it will be created.
+# cheat_settings_path =
+
+# Directory to dump screenshots to.
+# screenshot_directory =
+
+# Records video after CPU video filter.
+# video_post_filter_record = false
+
+# Records output of GPU shaded material if available.
+# video_gpu_record = false
+
+# Screenshots output of GPU shaded material if available.
+# video_gpu_screenshot = true
+
+# Block SRAM from being overwritten when loading save states.
+# Might potentially lead to buggy games.
+# block_sram_overwrite = false
+
+# When saving a savestate, save state index is automatically increased before
+# it is saved.
+# Also, when loading a ROM, the index will be set to the highest existing index.
+# There is no upper bound on the index.
+# savestate_auto_index = false
+
+# Slowmotion ratio. When slowmotion, game will slow down by factor.
+# slowmotion_ratio = 3.0
+
+# Enable stdin/network command interface.
+# network_cmd_enable = false
+# network_cmd_port = 55355
+# stdin_cmd_enable = false
+
diff --git a/retroarch/snes/retroarch-snes.sh b/retroarch/snes/retroarch-snes.sh
new file mode 100755 (executable)
index 0000000..b64dcfe
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+confpath=~/.config/retroarch
+
+retroarch --appendconfig "$confpath/retroarch.joyconfig|$confpath/snes/retroarch-snes.cfg" "$*"