NOTE! This site uses cookies and similar technologies.

If you not change browser settings, you agree to it.

I understand

Welcome, Guest
Username: Password: Remember me

TOPIC: RetroArch Addon (arm RPI)

RetroArch Addon (arm RPI) 2 years 6 months ago #91

  • tommymsw
  • tommymsw's Avatar
  • Offline
  • Senior Boarder
  • Posts: 158
  • Thank you received: 3
  • Karma: 1
PCwii wrote:
From what I understand of the Advanced Launcher Addon it actually exits XBMC before running Retroarch. So the XBMC will definitly need to re-start. It is not "rebooting" just exiting then re-starting.

Yea, I figured that and that's not terribly annoying. The only really annoying thing is that you need to reboot XBMC wait for it to load, start Advanced Launcher, and wait for it to load every time you just want to switch to a different game. So if you are going to play one game for a while, it's ok, but if you want to play a couple of games, it's annoying. lol
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #92

  • shiz
  • shiz's Avatar
  • Offline
  • Junior Boarder
  • Posts: 25
  • Karma: 0
Got some controllers from ebay today.
Cheap chinese USB SNES controller. Works perfectly after some tweaking.
First things first. Edited the retroarch.cfg found in:
/.xbmc/userdata/addon_data/emulator.tools.retroarch/config/

replaced the Standard joypad code with:
input_player1_joypad_index = 0
input_player1_b_btn = 2
input_player1_a_btn = 1
input_player1_y_btn = 3
input_player1_x_btn = 0
input_player1_l_btn = 4
input_player1_r_btn = 5
input_player1_start_btn = 9
input_player1_select_btn = 8
input_player1_l_y_plus = -1
input_player1_up_axis = -1
input_player1_l_y_minus = +1
input_player1_down_axis = +1
input_player1_l_x_minus = -0
input_player1_left_axis = -0
input_player1_l_x_plus = +0
input_player1_right_axis = +0
input_enable_hotkey_btn = 8
input_exit_emulator_btn = 9
input_enable_hotkey_btn = 8
input_save_state_btn = 4
input_enable_hotkey_btn = 8
input_load_state_btn = 5
input_player2_joypad_index = 1
input_player2_b_btn = 2
input_player2_a_btn = 1
input_player2_y_btn = 3
input_player2_x_btn = 0
input_player2_l_btn = 4
input_player2_r_btn = 5
input_player2_start_btn = 9
input_player2_select_btn = 8
input_player2_l_y_plus = -1
input_player2_up_axis = -1
input_player2_l_y_minus = +1
input_player2_down_axis = +1
input_player2_l_x_minus = -0
input_player2_left_axis = -0
input_player2_l_x_plus = +0
input_player2_right_axis = +0
input_enable_hotkey_btn = 8
input_exit_emulator_btn = 9
input_enable_hotkey_btn = 8
input_save_state_btn = 4
input_enable_hotkey_btn = 8
input_load_state_btn = 5

(This will work on most the emulators, and I also added exit emulator by pressing select + start, as well as save state= select + L and load state= select + R)

That made the Snes usb controllers work. This i found on the petRockBlogs forum HERE

Now some questions:

1. I cant seem to get MAME to work.
Im using advanced launcher. Core is set to Imame4all, the only part im uncertain about is the rom extension. Each one of my roms are zipped, and the extensions within vary....do you just set zip to the extension? I tried this and i get the retro arch config menu when i try to load a rom.

2. How do you guys edit you retroarch.cfg? Is there a way to access it through the GUI? so far im using notepad++ to edit it, and its a pain....

thanks
Last Edit: 2 years 6 months ago by shiz. Reason: forgot to add something
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #93

  • Solo0815
  • Solo0815's Avatar
  • Offline
  • Junior Boarder
  • Posts: 38
  • Thank you received: 1
  • Karma: 0
tommymsw wrote:
PCwii wrote:
From what I understand of the Advanced Launcher Addon it actually exits XBMC before running Retroarch. So the XBMC will definitly need to re-start. It is not "rebooting" just exiting then re-starting.

Yea, I figured that and that's not terribly annoying. The only really annoying thing is that you need to reboot XBMC wait for it to load, start Advanced Launcher, and wait for it to load every time you just want to switch to a different game. So if you are going to play one game for a while, it's ok, but if you want to play a couple of games, it's annoying. lol
We can use the new Lakka-menu for RetroArch, when it is officially released:

but the downside is, we don't get the Kodi-Look and Lakka/RA has to be releaded after exiting a game. But loading Lakka is faster than loading Kodi/XBMC, wait for it to load, start Advanced Launcher ...
1. I cant seem to get MAME to work.
Im using advanced launcher. Core is set to Imame4all, the only part im uncertain about is the rom extension. Each one of my roms are zipped, and the extensions within vary....do you just set zip to the extension? I tried this and i get the retro arch config menu when i try to load a rom.
zip as extension should work. Will try it and report back ...
Got it running ...
This is my sample Launcher.xml excerpt for advancedlauncher:
the "id" is manually edited ...
<launcher>
			<id>1234c622e253c95e58d7a326e36d223a</id>
			<name>MAME</name>
			<category>default</category>
			<application>/storage/.kodi/addons/emulator.tools.retroarch/bin/retroarch.sh</application>
			<args>imame4all "%ROM%"</args>
			<rompath>/storage/emulators/roms/mame</rompath>
			<thumbpath>/storage/emulators/roms/mame</thumbpath>
			<fanartpath>/storage/downloads/</fanartpath>
			<trailerpath></trailerpath>
			<custompath></custompath>
			<romext>zip</romext>
			<platform>MAME</platform>
			<thumb></thumb>
			<fanart></fanart>
			<genre></genre>
			<release></release>
			<publisher></publisher>
			<launcherplot></launcherplot>
			<finished>false</finished>
			<minimize>false</minimize>
			<lnk></lnk>
			<roms>
				<rom>
					<id>12345678f3c37c10fc806005d9557852</id>
					<name>In the Hunt</name>
					<filename>/storage/emulators/roms/mame/inthunt.zip</filename>
					<thumb></thumb>
					<fanart></fanart>
					<trailer></trailer>
					<custom></custom>
					<genre>Action</genre>
					<release>1990</release>
					<publisher>nn</publisher>
					<gameplot>Submarine game</gameplot>
					<finished>false</finished>
					<altapp></altapp>
					<altarg></altarg>
				</rom>
			</roms>
		</launcher>
2. How do you guys edit you retroarch.cfg? Is there a way to access it through the GUI? so far im using notepad++ to edit it, and its a pain....
I'm using kate on Kubuntu. There is no GUI for that in Kodi that I know of
---
Does your controller work in XBMC/Kodi or only in RetroArch? If "yes", then please let me know, which Controller. Can't get my controller to work in Kodi (Logitech Dual Action)
Thx
Last Edit: 2 years 6 months ago by Solo0815. Reason: added info
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #94

  • shiz
  • shiz's Avatar
  • Offline
  • Junior Boarder
  • Posts: 25
  • Karma: 0
Thanks for all the input, ill try manually editing the MAME stuff in Advanced launcher.

These are the controllers i bought. After adding the code i posted above in retroarch.cfg it works great!

Also we should start posting cfg files. Ill attach mine. I cant seem to be able to attach it for some reason....
Its a bit of a frankenstein file since i kinda spliced code from different other cfg files etc lol i was too tired to go through it line by line...
Also please note the full screen settings. Initially in the "stock" cfg file the screen was cropped to 4:3. However with these settings i get full 16:9
savefile_directory = "default"
savestate_directory = "default"
libretro_directory = "~/.kodi/addons/emulator.tools.retroarch/lib/libretro"
libretro_info_path = "~/.kodi/addons/emulator.tools.retroarch/lib/libretro"
system_directory = "~/.kodi/userdata/addon_data/emulator.tools.retroarch/bin"
video_aspect_ratio_auto = "true"
video_aspect_ratio = "1.770000"
audio_driver = "alsa"
input_player1_joypad_index = "0"
input_player1_b_btn = "2"
input_player1_a_btn = "1"
input_player1_y_btn = "3"
input_player1_x_btn = "0"
input_player1_l_btn = "4"
input_player1_r_btn = "5"
input_player1_start_btn = "9"
input_player1_select_btn = "8"
input_player1_l_y_plus = "nul"
input_player1_up_axis = "-1"
input_player1_l_y_minus = "nul"
input_player1_down_axis = "+1"
input_player1_l_x_minus = "nul"
input_player1_left_axis = "-0"
input_player1_l_x_plus = "nul"
input_player1_right_axis = "+0"
input_enable_hotkey_btn = "8"
input_menu_toggle_btn = "3"
input_enable_hotkey_btn = "8"
input_exit_emulator_btn = "9"
input_enable_hotkey_btn = "8"
input_save_state_btn = "4"
input_enable_hotkey_btn = "8"
input_load_state_btn = "5"
input_player2_joypad_index = "1"
input_player2_b_btn = "2"
input_player2_a_btn = "1"
input_player2_y_btn = "3"
input_player2_x_btn = "0"
input_player2_l_btn = "4"
input_player2_r_btn = "5"
input_player2_start_btn = "9"
input_player2_select_btn = "8"
input_player2_l_y_plus = "nul"
input_player2_up_axis = "-1"
input_player2_l_y_minus = "nul"
input_player2_down_axis = "+1"
input_player2_l_x_minus = "nul"
input_player2_left_axis = "-0"
input_player2_l_x_plus = "nul"
input_player2_right_axis = "+0"
input_enable_hotkey_btn = "8"
input_exit_emulator_btn = "9"
input_enable_hotkey_btn = "8"
input_save_state_btn = "4"
input_enable_hotkey_btn = "8"
input_load_state_btn = "5"
input_enable_hotkey_btn = "8"
input_menu_toggle_btn = "3"
input_axis_threshold = "0.500000"
load_dummy_on_core_shutdown = "true"
fps_show = "false"
libretro_path = "~/.kodi/addons/emulator.tools.retroarch/lib/libretro/libretro-imame4all.so"
cheat_database_path = ""
content_history_dir = ""
rewind_enable = "false"
audio_latency = "64"
audio_sync = "true"
audio_block_frames = "0"
rewind_granularity = "1"
video_shader = ""
video_shader_enable = "false"
video_windowed_fullscreen = "true"
video_scale = "3.000000"
autosave_interval = "0"
video_crop_overscan = "true"
video_scale_integer = "false"
video_smooth = "true"
video_threaded = "false"
video_shared_context = "false"
video_force_srgb_disable = "false"
video_fullscreen = "false"
video_refresh_rate = "59.950001"
video_monitor_index = "0"
video_fullscreen_x = "0"
video_fullscreen_y = "0"
video_driver = "gl"
menu_driver = "rgui"
menu_pause_libretro = "true"
menu_mouse_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 = "22"
audio_device = ""
video_filter = ""
audio_dsp_plugin = ""
camera_device = ""
camera_allow = "false"
audio_rate_control = "true"
audio_rate_control_delta = "0.005000"
audio_max_timing_skew = "0.050000"
audio_volume = "0.000000"
video_context_driver = ""
audio_enable = "true"
audio_out_rate = "48000"
location_allow = "false"
video_font_size = "32.000000"
video_font_enable = "true"
extraction_directory = ""
resampler_directory = ""
audio_resampler = "sinc"
video_shader_dir = "default"
video_filter_dir = "default"
audio_filter_dir = "default"
content_directory = "default"
assets_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"
game_history_path = "~/.kodi/userdata/addon_data/emulator.tools.retroarch/config/retroarch-content-history.txt"
game_history_size = "100"
joypad_autoconfig_dir = ""
input_autodetect_enable = "true"
overlay_directory = "default"
input_overlay = ""
input_overlay_opacity = "0.700000"
input_overlay_scale = "1.000000"
video_font_path = ""
video_message_pos_x = "0.050000"
video_message_pos_y = "0.050000"
gamma_correction = "false"
soft_filter_enable = "false"
flicker_filter_enable = "false"
flicker_filter_index = "0"
soft_filter_index = "0"
current_resolution_id = "0"
custom_viewport_width = "1274"
custom_viewport_height = "720"
custom_viewport_x = "3"
custom_viewport_y = "0"
block_sram_overwrite = "false"
savestate_auto_index = "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 = "0"
netplay_spectator_mode_enable = "false"
netplay_mode = "false"
netplay_ip_address = ""
netplay_ip_port = "0"
netplay_delay_frames = "0"
netplay_nickname = ""
user_language = "0"
custom_bgm_enable = "false"
input_driver = "udev"
input_joypad_driver = "udev"
input_keyboard_layout = ""
input_device_p1 = "0"
input_libretro_device_p1 = "1"
input_player1_analog_dpad_mode = "0"
input_device_p2 = "0"
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_axis = "nul"
input_player1_y = "a"
input_player1_y_axis = "nul"
input_player1_select = "rshift"
input_player1_select_axis = "nul"
input_player1_start = "enter"
input_player1_start_axis = "nul"
input_player1_up = "up"
input_player1_up_btn = "nul"
input_player1_down = "down"
input_player1_down_btn = "nul"
input_player1_left = "left"
input_player1_left_btn = "nul"
input_player1_right = "right"
input_player1_right_btn = "nul"
input_player1_a = "x"
input_player1_a_axis = "nul"
input_player1_x = "s"
input_player1_x_axis = "nul"
input_player1_l = "q"
input_player1_l_axis = "nul"
input_player1_r = "w"
input_player1_r_axis = "nul"
input_player1_l2 = "nul"
input_player1_l2_btn = "nul"
input_player1_l2_axis = "nul"
input_player1_r2 = "nul"
input_player1_r2_btn = "nul"
input_player1_r2_axis = "nul"
input_player1_l3 = "nul"
input_player1_l3_btn = "nul"
input_player1_l3_axis = "nul"
input_player1_r3 = "nul"
input_player1_r3_btn = "nul"
input_player1_r3_axis = "nul"
input_player1_l_x_plus_btn = "nul"
input_player1_l_x_plus_axis = "nul"
input_player1_l_x_minus_btn = "nul"
input_player1_l_x_minus_axis = "nul"
input_player1_l_y_plus_btn = "nul"
input_player1_l_y_plus_axis = "nul"
input_player1_l_y_minus_btn = "nul"
input_player1_l_y_minus_axis = "nul"
input_player1_r_x_plus = "nul"
input_player1_r_x_plus_btn = "nul"
input_player1_r_x_plus_axis = "nul"
input_player1_r_x_minus = "nul"
input_player1_r_x_minus_btn = "nul"
input_player1_r_x_minus_axis = "nul"
input_player1_r_y_plus = "nul"
input_player1_r_y_plus_btn = "nul"
input_player1_r_y_plus_axis = "nul"
input_player1_r_y_minus = "nul"
input_player1_r_y_minus_btn = "nul"
input_player1_r_y_minus_axis = "nul"
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_axis = "nul"
input_save_state = "f2"
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_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_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_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_axis = "nul"
input_player2_b = "nul"
input_player2_b_axis = "nul"
input_player2_y = "nul"
input_player2_y_axis = "nul"
input_player2_select = "nul"
input_player2_select_axis = "nul"
input_player2_start = "nul"
input_player2_start_axis = "nul"
input_player2_up = "nul"
input_player2_up_btn = "nul"
input_player2_down = "nul"
input_player2_down_btn = "nul"
input_player2_left = "nul"
input_player2_left_btn = "nul"
input_player2_right = "nul"
input_player2_right_btn = "nul"
input_player2_a = "nul"
input_player2_a_axis = "nul"
input_player2_x = "nul"
input_player2_x_axis = "nul"
input_player2_l = "nul"
input_player2_l_axis = "nul"
input_player2_r = "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_btn = "nul"
input_player2_l_x_plus_axis = "nul"
input_player2_l_x_minus_btn = "nul"
input_player2_l_x_minus_axis = "nul"
input_player2_l_y_plus_btn = "nul"
input_player2_l_y_plus_axis = "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"
libretro_log_level = "0"
log_verbosity = "false"
perfcnt_enable = "false"
archive_mode = "0"
Last Edit: 2 years 5 months ago by shiz. Reason: updated cfg file
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #95

  • PCwii
  • PCwii's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 7
  • Karma: 0
Has anyone had success connecting a wiimote with a bluetooth dongle as a game controller?
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #96

  • tommymsw
  • tommymsw's Avatar
  • Offline
  • Senior Boarder
  • Posts: 158
  • Thank you received: 3
  • Karma: 1
The Lakka thing looks great. Looks like they have a stable build for the Pi but it's a full install. You cant use it within XBMC, or at least I would not know how to do so. But it'a something to consider for the retro-tabletop arcade I am going to build. B)
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #97

  • Solo0815
  • Solo0815's Avatar
  • Offline
  • Junior Boarder
  • Posts: 38
  • Thank you received: 1
  • Karma: 0
With the dev-build #1202 and above from MilhouseVH, you have to change
nohup /storage/.kodi/addons/emulator.tools.retroarch/bin/retroarch.start "$@" > /storage/.kodi/userdata/addon_data/emulator.tools.retroarch/config/nohup.out &
in /storage/.kodi/addons/emulator.tools.retroarch/bin/retroarch.sh to
systemd-run /storage/.kodi/addons/emulator.tools.retroarch/bin/retroarch.start "$@"
to load RetroArch. Otherwise, you'll get a black screen.
See here: github.com/OpenELEC/OpenELEC.tv/pull/3657#issuecomment-65934850
Last Edit: 2 years 6 months ago by Solo0815.
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #98

  • mezo
  • mezo's Avatar
  • Offline
  • Senior Boarder
  • Posts: 147
  • Thank you received: 33
  • Karma: 11
thanks. i will fix this in a later version.

edit: fixed. please download 1.0.2

would be nice if someone can tell me how to set execute permissions by default. its a bit annoying to set the rights every time again.
RPI2@Openelec 5.0.1
Last Edit: 2 years 6 months ago by mezo.
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #99

  • shiz
  • shiz's Avatar
  • Offline
  • Junior Boarder
  • Posts: 25
  • Karma: 0
can someone give me a hand with getting MAME to work!?

I think the breakdown is in Advanced Launcher. I will list the steps:

1. Add zipped rom to /folder/path/roms
2. Create new Launcher = launcher path/retroarch.sh
3. Files path = /files/path/roms
4. Chose file extension (since all my roms are zipped....i used ZIP)
5. Chose core - imame4all "%rom%"
6 Chose Platform - Arcade???? (not sure if this is correct)
7. artwork path

When i try to launch a rom it crashes back to xbmc screen/or to retroarch screen

note. rom versions are x.106
Last Edit: 2 years 6 months ago by shiz.
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #100

  • Nasp
  • Nasp's Avatar
  • Offline
  • Junior Boarder
  • Posts: 49
  • Thank you received: 10
  • Karma: 1
shiz wrote:
can someone give me a hand with getting MAME to work!?

I think the breakdown is in Advanced Launcher. I will list the steps:

1. Add zipped rom to /folder/path/roms
2. Create new Launcher = launcher path/retroarch.sh
3. Files path = /files/path/roms
4. Chose file extension (since all my roms are zipped....i used ZIP)
5. Chose core - imame4all "%rom%"
6 Chose Platform - Arcade???? (not sure if this is correct)
7. artwork path

When i try to launch a rom it crashes back to xbmc screen/or to retroarch screen

note. rom versions are x.106


All correct but.... you need the mame 0.37b5 roms. Use clrmamepro with the correct dat file (0.37b5) to build your roms from 0.106 ;)
The administrator has disabled public write access.
The following user(s) said Thank You: shiz

Re:Re: RetroArch Addon (arm RPI) 2 years 6 months ago #101

  • shiz
  • shiz's Avatar
  • Offline
  • Junior Boarder
  • Posts: 25
  • Karma: 0
Nasp wrote:
shiz wrote:
can someone give me a hand with getting MAME to work!?

I think the breakdown is in Advanced Launcher. I will list the steps:

1. Add zipped rom to /folder/path/roms
2. Create new Launcher = launcher path/retroarch.sh
3. Files path = /files/path/roms
4. Chose file extension (since all my roms are zipped....i used ZIP)
5. Chose core - imame4all "%rom%"
6 Chose Platform - Arcade???? (not sure if this is correct)
7. artwork path

When i try to launch a rom it crashes back to xbmc screen/or to retroarch screen

note. rom versions are x.106


All correct but.... you need the mame 0.37b5 roms. Use clrmamepro with the correct dat file (0.37b5) to build your roms from 0.106 ;)
That 100% worked thanks!
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #102

  • PCwii
  • PCwii's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 7
  • Karma: 0
Has there been any progress on a DosBox core?
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #103

  • mezo
  • mezo's Avatar
  • Offline
  • Senior Boarder
  • Posts: 147
  • Thank you received: 33
  • Karma: 11
PCwii wrote:
Has there been any progress on a DosBox core?
www.dropbox.com/s/iut5ep36hok22um/libretro-dosbox.zip?dl=0

put the two files in /storage/.kodi/addons/emulator.tools.retroarch/lib/libretro/

i was not able to get it to work. maybe u have more luck. all i get was "segmentation fault"
RPI2@Openelec 5.0.1
Last Edit: 2 years 6 months ago by mezo.
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #104

  • Solo0815
  • Solo0815's Avatar
  • Offline
  • Junior Boarder
  • Posts: 38
  • Thank you received: 1
  • Karma: 0
Is static compiling of other Emulators than retroarch possible? So that all the needed libs are all in a subdir?

Edit:
Dosbox: I get a segmenatation fault, too

Anyone got FBA running? I used the .so from Lakka or RetroPie (don't remember which) but got only a black screen without any error messages.
Last Edit: 2 years 6 months ago by Solo0815.
The administrator has disabled public write access.

RetroArch Addon (arm RPI) 2 years 6 months ago #105

  • Diablodiab
  • Diablodiab's Avatar
  • Offline
  • Junior Boarder
  • Posts: 33
  • Thank you received: 4
  • Karma: 5
I've compiled and experimented with a few cores.

Amstrad CPC core (cap32):
www.dropbox.com/s/69vwlsziznj6464/libretro-cap32.so.zip?dl=0

Notes:
You have to manually load the games inside the emulator. One of the gamepad buttons brings up a keyboard overlay that you can use.
Sound quality is not optimal, but overall I think the core works okay with the games I tried it with.


Atari ST core (hatari):
www.dropbox.com/s/ca8047gqigecjin/libretro-hatari.so.zip?dl=0

Notes:
Had to place "tos.img" in .xbmc/addons/emulator.tools.retroarch/bin
I tested it with Rick Dangerous 1 & 2. I had to disable frame skipping in the hatari-gui to get smooth gameplay.
Works pretty well.


Amiga (uae):
www.dropbox.com/s/6l234ia4mkujlvu/libretro-uae.so.zip?dl=0

Notes:
Had to place "kick.rom" in .xbmc/addons/emulator.tools.retroarch/bin
Needs a disk file passed to it to start up, but it doesn't mount it.
I created ".xbmc/addons/emulator.tools.retroarch/bin/.uaerc" and added "floppy0=/storage/emulators/Amiga/Budbrain.adf" to it.
Runs very slow. Not usable at the moment.


ScummVM:
www.dropbox.com/s/qpz5m1wwnz0oako/libretro-scummvm.so.zip?dl=0

Notes:
Crashes with segmentation fault when saving games. SCI games do not work (most Sierra Online Games). No on screen keyboard.
I can't figure out how to launch a specific game directly from Advanced Launcher. I had to create it as a stand-alone launcher and use the ScummVM gui to add and launch specific games. I've compiled the core with Vorbis and MP3 support, so you should be able to use games that have been compressed with the ScummVM tools.
Except for Curse of Monkey Island, most LucasArts game work very well, e.g. Day of the Tentacle, The Secret of Monkey Island, Zak McKracken.
It's a shame that savegames do not work at the moment - LucasArts are very playable and work great with a gamepad.
The administrator has disabled public write access.