-
Search Results
-
Seeing as everyone seems to have controller choice as their main source of frustration on this project, i figured i’d weigh in with my solution.
Basically, most people including myself, should have some old Playstation 1 or 2 controllers lying around from the glory days. These are actually EXTREMELY useful when it comes to the retropi, as thanks to a nice third party adapter, it’s possible to hook two of these bad boys up to ONE usb socket. This obviously allows for two players on a model A without any extra peripherals. This is a pretty huge deal for those with models A’s, as well as people who are building for portable rigs (For example, i have installed 4 or 5 of these things into peoples cars so the back set and play two player through the screens in the back of the headrests).
Firstly, you will need two controllers. Sorry kids, but to use my config files these MUST be DualShock analogues. either PS1 or PS2 will do, and they don’t have to be official. Personally, i use the Joytech mini PS1 controllers, you can find them all over ebay, picutred HERE: [img]http://puu.sh/73KpP.jpg[/img]
Now, you can obviously use non-analogue controllers with the pi and this adapter, but you’ll likely have to do your own configs. Mine might work, i just dont have a non analogue to test it with.
Secondly, you’ll need the adapter. Unfortunately i think it must be a specific one, so ive linked the amazon links to purchase them. I am british so i got mine for <£2 originally, so don’t worry as they are super cheap. I have included an american amazon link for the Yanks, as well.
They both have pictures so if you have a different location for amazon, you can pretty easily identify the one you need. They are almost always blue, but i have seen them in Translucent as well.
Lastly, you’ll need the configs. I think i’ve got everything required but if i have missed something off just tell me what to grab and ill go get it for you.
DISCLAIMER: – PLEASE don’t be an idiot and just write over your own configs with these assuming them to work. Be sensible, BACK UP YOUR EXISTING CFGS FIRST before using these. That way, if they don’t work you can restore yourself easily, and more importantly i don’t have stupid people whining its my fault they broke their retropi installation.
Anyway, copy these into /home/pi/RetroPie/configs/all
https://dl.dropboxusercontent.com/u/4436120/dgenrc
https://dl.dropboxusercontent.com/u/4436120/retroarch.cfgand this into /home/pi/.emulationstation/
https://dl.dropboxusercontent.com/u/4436120/es_input.cfg
Those should cover ALL usage of the controller, including the menu screen and all of the emulators including DGEN.
The buttons are mapped identically to a SNES controller, and on DGEN Square = A, X = B and Circle = C. If you enable 6-button mode in options, then L1 = x, Triangle = Y and R1 = Z.
There are also two hotkeys enabled in these configs, so please be aware of them.
IN EMULATIONSTATION BROWSING GAMES; –
R1 = page up
R2 = page down
L1 = Select Letter/Organize Type (i.e. sort by name, most recent, least played, most played etc)
TRIANGLE – Options menu (Shutdown, Restart, Volume etc)IN GAME; –
SELECT + START = quit ROM back to emulationstation
SELECT + L2 = open Retroarch Config/Options (the screen you can configure video/sound/other options etc) i HIGHLY suggest you do this at least once, as your TV settings will differ to mine. Autosave options is on so your own settings you change here should take immediately.enjoy.
Intermittently I’ve noticed an issue where one of the directions on my dpad appears stuck for 1-2 seconds. The pad doesn’t physically appear stuck but whatever I’m running will act as if I’m continuing to press a certain direction. This has happened maybe 5 times in about 5 hours of total usage. At first I only saw this while scrolling in emulation station, but last night I saw it once in retroatrch’s nes core where my character started to go left unexpectedly.
What are the possible explanations for this? So the dpad could have an issue, and I could try swapping with another controller. But could it be a gamepad driver issue for my Logitech Dual Action? Any other possible explanations? Could it be related to my “medium” overclock or lack of adequate voltage through my power adapter? (http://www.adafruit.com/products/501)
ive been battleling the dual ps3 wireless controllers all weekend and not quite cracked it… I want to try the wireless xbox 360’s but have a question on the receiver part. im assuming this – http://www.amazon.com/gp/product/B000HZFCT2/ref=ox_sc_act_title_1?ie=UTF8&psc=1&smid=A1PBXAJUCQQZJO
will be fine for the pie?
thanks in advance for any/all responses :)
Topic: Save States
Hello! I look forward to fix this problem soon.
I have a problem to save games in the MAME-Emulator. All the time i hit “f2” on my keyboard the message “Core does not support savestates.” appears. I tryed to look up the RetroArch.cfg and changed the path and tryed some modifications to the autosave feature aso. nothing… To me, it seems changes in this file doesn’t have an effect. I tryed to set the screenroation to 90°. Still no effect.I hope someone knows about this problem and can help me2 with this.
Here is what i have done with my config :/
## 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 = “/home/pi/RetroPie/emulators/RetroArch/savestate”# Save all save states (*.state) to this directory.
# This will be overridden by explicit command line options.
# savestate_directory = “/home/pi/RetroPie/emulators/RetroArch/savestate”# 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 if savestate_auto_load is set.
# savestate_auto_save = true
# savestate_auto_load = true# 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”# Path to core options config file.
# This config file is used to expose core-specific options.
# It will be written to by RetroArch.
# A default path will be assigned if not set.
# core_options_path = “home/pi/RetroPie/emulatorcores/imame4all-liberto/”# Path to ROM load history file.
# RetroArch keeps track of all ROMs loaded in RGUI and from CLI directly for convenient quick loading.
# A default path will be assigned if not set.
# game_history_path =# Number of entries that will be kept in ROM history file.
# game_history_size = 100# Sets the “system” directory.
# Implementations can query for this directory to load BIOSes, system-specific configs, etc.
# system_directory =home/pi/RetroPi/emulators/RetroArch/# Sets start directory for RGUI ROM browser.
# rgui_browser_directory =# Sets start directory for RGUI config browser.
# rgui_config_directory =# Show startup screen in RGUI.
# Is automatically set to false when seen for the first time.
# This is only updated in config if config_save_on_exit is set to true, however.
# rgui_show_start_screen = true# Flushes config to disk on exit. Useful for RGUI as settings can be modified.
# Overwrites the config. #include’s and comments are not preserved.
# config_save_on_exit = false#### Video
# Video driver to use. “gl”, “xvideo”, “sdl”
# video_driver = “gl”# Which OpenGL context implementation to use.
# Possible ones for desktop are: glx, x-egl, kms-egl, sdl-gl, wgl.
# By default, tries to use first suitable driver.
# video_gl_context =# 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 = 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# Attempts to hard-synchronize CPU and GPU. Can reduce latency at cost of performance.
# video_hard_sync = false# Sets how many frames CPU can run ahead of GPU when using video_hard_sync.
# Maximum is 3.
# video_hard_sync_frames = 0# Inserts a black frame inbetween frames.
# Useful for 120 Hz monitors who want to play 60 Hz material with eliminated ghosting.
# video_refresh_rate should still be configured as if it is a 60 Hz monitor (divide refresh rate by 2).
# video_black_frame_insertion = false# Use threaded video driver. Using this might improve performance at possible cost of latency and more video stuttering.
# video_threaded = false# 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# Only scales video in integer steps.
# The base size depends on system-reported geometry and aspect ratio.
# If video_force_aspect is not set, X/Y will be integer scaled independently.
# video_scale_integer = false# 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 shader. Shader can be either Cg, CGP (Cg preset) or XML/GLSL format if support is enabled.
# video_shader = “/path/to/shader.{cg,cgp,shader}”# Load video_shader on startup.
# Other shaders can still be loaded later in runtime.
# video_shader_enable = false# Defines a directory where shaders (Cg, CGP, XML) are kept for easy access.
# video_shader_dir =# 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# Forces a certain rotation of the screen.
# The rotation is added to rotations which the libretro core sets (see video_allow_rotate).
# The angle is <value> * 90 degrees counter-clockwise.
# video_rotation = 00#### Audio
# Enable audio.
# audio_enable = true# Audio output samplerate.
# audio_out_rate = 48000# 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# Joypad driver. (Valid: linuxraw, sdl, dinput)
# input_joypad_driver =# Defines axis threshold. Possible values are [0.0, 1.0]
# input_axis_threshold = 0.5# Path to input overlay
# input_overlay =# Overlay opacity
# input_overlay_opacity = 1.0# Overlay scale
# input_overlay_scale = 1.0# Enable input auto-detection. Will attempt to autoconfigure
# joypads, Plug-and-Play style.
# input_autodetect_enable = true# Directory for joypad autoconfigs (PC).
# If a joypad is plugged in, that joypad will be autoconfigured if a config file
# corresponding to that joypad is present in joypad_autoconfig_dir.
# Input binds which are made explicit (input_playerN_*_btn/axis) will take priority over autoconfigs.
# Autoconfigs can be created with retroarch-joyconfig, manually, or with a frontend.
# Requires input_autodetect_enable to be enabled.
# joypad_autoconfig_dir =# Enable debug input key reporting on-screen.
# input_debug_enable = false# Sets which libretro device is used for a player.
# Devices are indentified with a number.
# This is normally saved by RGUI.
# Device IDs are found in libretro.h.
# These settings are overridden by explicit command-line arguments which refer to input devices.
# None: 0
# Joypad (RetroPad): 1
# Mouse: 2
# Keyboard: 3
# Generic Lightgun: 4
# Joypad w/ Analog (RetroPad + Analog sticks): 5
# Multitap (SNES specific): 257
# Super Scope (SNES specific): 260
# Justifier (SNES specific): 516
# Justifiers (SNES specific): 772# input_libretro_device_p1 =
# input_libretro_device_p2 =
# input_libretro_device_p3 =
# input_libretro_device_p4 =
# input_libretro_device_p5 =
# input_libretro_device_p6 =
# input_libretro_device_p7 =
# input_libretro_device_p8 =# 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 8.
# 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
# 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 game.
# 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 =# Toggles eject for disks. Used for multiple-disk games.
# input_disk_eject_toggle =# Cycles through disk images. Use after ejecting.
# Complete by toggling eject again.
# input_disk_next =# Toggles RGUI menu.
# input_menu_toggle = f1# Toggles mouse grab. When mouse is grabbed, RetroArch hides the mouse,
# and keeps the mouse pointer inside the window to allow relative mouse games
# to work better.
# input_grab_mouse_toggle = f11#### 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# The maximum rate at which games will be run when using fast forward. (E.g. 5.0 for 60 fps game => 300 fps cap).
# RetroArch will go to sleep to ensure that the maximum rate will not be exceeded.
# Do not rely on this cap to be perfectly accurate.
# A negative ratio equals no FPS cap.
# fastforward_ratio = -1.0# Enable stdin/network command interface.
# network_cmd_enable = false
# network_cmd_port = 55355
# stdin_cmd_enable = falseHello!
Is there any way to connect a Dualshock 4 (PS4) Controller to Retropie via Bluetooth?
Topic: Some Questions
I work in medicine by trade. So I have no idea how elementary these questions are. So I thought I’d just ask anyway. Thanks in advance.
1. Does a multi-system approach take anything away from the ARM(pi-specific) build of an executable (compiled or script, etc). As in, if we targetted Raspbian as the core system, the pi as the hardware, and built with literally every function being the absolute ideal for the pi, without consideration for any other system, would it be more efficient than if we take a broad approach and include portability?
I ask because emulationstation has comments in the code that mention portability, and I feel like this type of code inherently creates inefficiency. again, I don’t know anything about programming, so it might be completely ignored when compiled, im just asking :)
2. emulationstation doesn’t seem to have a forum for discussion, is there a way we could openly discuss improvements, could we fork ES to fit our needs? I am not a programmer, so “we” really means “you” :P
from a design standpoint (I do pretend to be a designer) , the theme interpreter lacks a lot of basic functions I would like to see. Ultimately I’d like to see a ton of things, but basic functions like the ability to set attributes to header text, usage of the upper corner of an image instead of its individual 0x,0y point and the ability to define the menu font/color/pos/size/options within a theme file would be really nice.
One of the things I feel is most important above all else is efficiency of the system on the pi, and you’re really kicking ass at that so far. Due to my limited understanding of programming, I have no idea if there is anything that can be improved
The second most important is the idea that I can set this up with 2 controllers and maybe an apple-TV remote and hook it up to the TV and my grandma can use it without any issues for the rest of time.
this is getting really long and chatty, so ill move to my 3rd question and move on with my day :P
3. Is it possible to structure the emulators to default auto-save using save functions in the retro-pie default setup? Example: GameBoyColor games offer to save my game, blah blah, I shut down, re-start, load the game, and the save is gone. SNES does the same thing. I am sure this is an option somewhere, but I feel like it would add to the “just-works” flavor if this could be auto-set. (I also prefer ~/games/%system% for my roms, but this is not a necessary thing to complain about :D)
tl;dr = I like this project.
Topic: Emulators won't launch
So I installed the image, and loaded up the launcher app, copied some roms and had them appear in the launcher, but no matter what I launch, it makes like it’s gonna launch it (the screen image recedes), then comes right back into the launcher.
I have a 512k model, not sure if there’s a firmware consideration or not.
I have two Logitech Dual Action controllers, but for now I’m just trying to get it working with one, or even just with keyboard. I found a config file for the Dual Action on another post and copied in that config file, but it doesn’t seem to have helped.
Hi Folks,
I have some technicals questions, The retropie is under a optimized Linux version if i’m not wrong now: I wanted to do on my own a small arcade machine with a 15″ screen, for the controllers I thought maybe buying a cheap snes usb control plugged in one of the usb ports and hard soldering the joystick and all the bottoms on the controller board would work riiiight ?. This is my first question, I was thinking to use the Raspberry Pi with Retropie off course easier because is made for it or literally buy on ebay a snes and hard solder the buttons etc but than I noticed I would have a problem to plug this monitor I was planing to buy and play properly with a good image and fluid: http://www.ebay.de/itm/TFT-Display-Fujitsu-Scenic-View-3815FA-15-38cm-/251373237001?_trksid=p2054897.l4275
Actually I’m scared that the tiny 700hz processor from raspberry Pi wouldn’t manage properly even If I overclook to 1Mhz and ventilate the machine with a passive or active cooler.
Coincidently Some Months ago I bought one of dose android dongles with a dual core processor at 1.4 mhz but its on a android system and I guess not made for those things, I read somewhere and from my own experience that android are quite good for changes and flexibles Not like Ios or other system, I was wondering would I had any way to try to put the retropie system on one of those little dongles, that I just plug the power on my arcade cabine turn on and bam straight to my snes games selection menu ? because Installing a emulator on the android would always need to slide to the application and etc. and I wouldn’t wan’t to have any thing to do just power on boot and paly. I think it would be cheaper because I then wouldn’t need to buy a raspberry pi yet,I am really open I and thankfully for any comment in advance Luca
I just resolved some very frustrating issues that I was having with my retroarch.cfg joystick config file. Default behavior was strange in some of the emulators, and I couldn’t quite get input_enable_hotkey_btn and input_exit_emulator_btn to work correctly. NeoGeo emulation using FBA did work for some crazy reason, but the other emulators did not. When I removed the input_enable_hotkey_btn line from the config, it would exit whenever I pressed button 0 instead of the button that I tried to configure to the cfg file. I ended up restarting from scratch, and seeing the difference between my old config files and the new config files to find out the difference.
My first error was piping instead of appending when I used the retroarch-joyconfig program found in RetroPie/emulators/RetroArch/tools.
What I typed was:
./retroarch-joyconfig | ~/RetroPie/configs/all/retroarch.cfg
I should have typed:
./retroarch-joyconfig >> ~/RetroPie/configs/all/retroarch.cfg
I then compounded my problem by manually copying and pasting the following lines into my config file (using vim over ssh, if I remember correctly):
input_enable_hotkey_btn = "8" input_exit_emulator_btn = “9″
I had not realized two things:
My config doesn’t need the quotes.
I had accidentally pasted two different types of quotes (“ and ″) into a config file, which likely caused the program to freak out and not read the configuration properly.After loading RetroPie 1.9.1 onto the card from scratch, I noticed the error of my ways, updated the configuration file correctly, and I am now able to exit emulators effectively and continue to play games.
Learn from my lesson, RetroPie users! Beware the quotes!
Quoted below is my working config file for a Logitech Dual Action USB controller:
## 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 if savestate_auto_load is set. # savestate_auto_save = false # savestate_auto_load = true # 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" # Path to core options config file. # This config file is used to expose core-specific options. # It will be written to by RetroArch. # A default path will be assigned if not set. # core_options_path = # Path to ROM load history file. # RetroArch keeps track of all ROMs loaded in RGUI and from CLI directly for convenient quick loading. # A default path will be assigned if not set. # game_history_path = # Number of entries that will be kept in ROM history file. # game_history_size = 100 # Sets the "system" directory. # Implementations can query for this directory to load BIOSes, system-specific configs, etc. system_directory = /home/pi/RetroPie/emulatorcores/ # Sets start directory for RGUI ROM browser. # rgui_browser_directory = # Sets start directory for RGUI config browser. # rgui_config_directory = # Show startup screen in RGUI. # Is automatically set to false when seen for the first time. # This is only updated in config if config_save_on_exit is set to true, however. # rgui_show_start_screen = true # Flushes config to disk on exit. Useful for RGUI as settings can be modified. # Overwrites the config. #include's and comments are not preserved. # config_save_on_exit = false #### Video # Video driver to use. "gl", "xvideo", "sdl" # video_driver = "gl" # Which OpenGL context implementation to use. # Possible ones for desktop are: glx, x-egl, kms-egl, sdl-gl, wgl. # By default, tries to use first suitable driver. # video_gl_context = # 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 # Attempts to hard-synchronize CPU and GPU. Can reduce latency at cost of performance. # video_hard_sync = false # Sets how many frames CPU can run ahead of GPU when using video_hard_sync. # Maximum is 3. # video_hard_sync_frames = 0 # Inserts a black frame inbetween frames. # Useful for 120 Hz monitors who want to play 60 Hz material with eliminated ghosting. # video_refresh_rate should still be configured as if it is a 60 Hz monitor (divide refresh rate by 2). # video_black_frame_insertion = false # Use threaded video driver. Using this might improve performance at possible cost of latency and more video stuttering. # video_threaded = false # Smoothens picture with bilinear filtering. Should be disabled if using pixel shaders. video_smooth = false # Forces rendering area to stay equal to game aspect ratio or as defined in video_aspect_ratio. # video_force_aspect = true # Only scales video in integer steps. # The base size depends on system-reported geometry and aspect ratio. # If video_force_aspect is not set, X/Y will be integer scaled independently. # video_scale_integer = false # 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 = 1.33 # 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 shader. Shader can be either Cg, CGP (Cg preset) or XML/GLSL format if support is enabled. # video_shader = "/path/to/shader.{cg,cgp,shader}" # Load video_shader on startup. # Other shaders can still be loaded later in runtime. # video_shader_enable = false # Defines a directory where shaders (Cg, CGP, XML) are kept for easy access. # video_shader_dir = # 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 # Forces a certain rotation of the screen. # The rotation is added to rotations which the libretro core sets (see video_allow_rotate). # The angle is <value> * 90 degrees counter-clockwise. # video_rotation = 0 #### Audio # Enable audio. # audio_enable = true # Audio output samplerate. audio_out_rate = 48000 # Audio driver backend. Depending on configuration possible candidates are: alsa, pulse, oss, jack, rsound, roar, openal, sdl, xaudio. audio_driver = alsathread # 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 # Joypad driver. (Valid: linuxraw, sdl, dinput) # input_joypad_driver = # Defines axis threshold. Possible values are [0.0, 1.0] # input_axis_threshold = 0.5 # Path to input overlay # input_overlay = # Overlay opacity # input_overlay_opacity = 1.0 # Overlay scale # input_overlay_scale = 1.0 # Enable input auto-detection. Will attempt to autoconfigure # joypads, Plug-and-Play style. # input_autodetect_enable = true # Directory for joypad autoconfigs (PC). # If a joypad is plugged in, that joypad will be autoconfigured if a config file # corresponding to that joypad is present in joypad_autoconfig_dir. # Input binds which are made explicit (input_playerN_*_btn/axis) will take priority over autoconfigs. # Autoconfigs can be created with retroarch-joyconfig, manually, or with a frontend. # Requires input_autodetect_enable to be enabled. # joypad_autoconfig_dir = # Enable debug input key reporting on-screen. # input_debug_enable = false # Sets which libretro device is used for a player. # Devices are indentified with a number. # This is normally saved by RGUI. # Device IDs are found in libretro.h. # These settings are overridden by explicit command-line arguments which refer to input devices. # None: 0 # Joypad (RetroPad): 1 # Mouse: 2 # Keyboard: 3 # Generic Lightgun: 4 # Joypad w/ Analog (RetroPad + Analog sticks): 5 # Multitap (SNES specific): 257 # Super Scope (SNES specific): 260 # Justifier (SNES specific): 516 # Justifiers (SNES specific): 772 # input_libretro_device_p1 = # input_libretro_device_p2 = # input_libretro_device_p3 = # input_libretro_device_p4 = # input_libretro_device_p5 = # input_libretro_device_p6 = # input_libretro_device_p7 = # input_libretro_device_p8 = # 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_joypad_index = 0 input_player1_b_btn = 1 input_player1_y_btn = 0 input_player1_select_btn = 8 input_player1_start_btn = 9 input_player1_up_axis = -5 input_player1_down_axis = +5 input_player1_left_axis = -4 input_player1_right_axis = +4 input_player1_a_btn = 2 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 = 10 input_player1_r3_btn = 11 input_player1_l_x_plus_axis = +0 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_x_minus_axis = -2 input_player1_r_y_plus_axis = +3 input_player1_r_y_minus_axis = -2 input_enable_hotkey_btn = 8 input_exit_emulator_btn = 9 # If desired, it is possible to override which joypads are being used for player 1 through 8. # 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 # 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 = 0 # input_player1_b_btn = 1 # input_player1_y_btn = 3 # input_player1_x_btn = 2 # input_player1_start_btn = 7 # input_player1_select_btn = 6 # input_player1_l_btn = 4 # input_player1_r_btn = 5 # 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 = -0 # input_player1_right_axis = +0 # input_player1_up_axis = -1 # input_player1_down_axis = +1 # 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 game. # 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 = # Toggles eject for disks. Used for multiple-disk games. # input_disk_eject_toggle = # Cycles through disk images. Use after ejecting. # Complete by toggling eject again. # input_disk_next = # Toggles RGUI menu. # input_menu_toggle = f1 # Toggles mouse grab. When mouse is grabbed, RetroArch hides the mouse, # and keeps the mouse pointer inside the window to allow relative mouse games # to work better. # input_grab_mouse_toggle = f11 #### Misc # Enable rewinding. This will take a performance hit when playing, so it is disabled by default. rewind_enable = true # 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 = 10 # Rewind granularity. When rewinding defined number of frames, you can rewind several frames at a time, increasing the rewinding speed. rewind_granularity = 2 # 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 # The maximum rate at which games will be run when using fast forward. (E.g. 5.0 for 60 fps game => 300 fps cap). # RetroArch will go to sleep to ensure that the maximum rate will not be exceeded. # Do not rely on this cap to be perfectly accurate. # A negative ratio equals no FPS cap. # fastforward_ratio = -1.0 # Enable stdin/network command interface. # network_cmd_enable = false # network_cmd_port = 55355 # stdin_cmd_enable = false # input_enable_hotkey_btn = 6 # input_exit_emulator_btn = 7 # input_rewind_btn = 3 # input_save_state_btn = 4 # input_load_state_btn = 5 # input_player2_a_btn = 0 # input_player2_b_btn = 1 # input_player2_x_btn = 2 # input_player2_y_btn = 3 # input_player2_l_btn = 4 # input_player2_r_btn = 5 # input_player2_start_btn = 7 # input_player2_select_btn = 6 # input_player2_left_axis = -0 # input_player2_right_axis = +0 # input_player2_up_axis = -1 # input_player2_down_axis = +1
I really don’t want to spend too much money on a controller. Would this one work? If not, what cheap controllers (~$10) would be best for RetroPie?
Ok, I’m a total noob to retropie (apologies if my terminology is off) and I feel like I have everything working the way I want except for one thing.
I got Retropie working and when I would play a rom, the joypad would control the game and the keyboard would work as a keyboard (F1 would bring up help, ESC would exit the game, etc). Then I started to run into some problems and I decided to start with a fresh image of Retropie.
So starting with the new image, I loaded my roms from a flash drive and configured my joypad to work within retroarch by editing the cfg file in RetroPie/configs/all. I added a button combination to the config file to exit retroarch using the joypad. I also edited the config for individual emulators. Those last two things are the only things that I can think of doing differently from last time. Now when I play a game, my keyboard just works as another player 1 joypad. I’m sure I’m just missing one little thing. If somebody could help me out, I would really appreciate it.
Hi,
I’m using the latest RetroPie SD card image and have run into problems in setting up the controller for use with emulationstation. It recognizes my Dualshock 3 controller but when I go to map the individual buttons things start to go wrong. When holding down a button to skip P2, it automatically maps ‘up’. When I go to map ‘down’ it does ‘down’ and ‘left’, when I map ‘right’ it does ‘right’ and ‘accept’ etc. I’ve tried with both of my Dualshock 3 controllers. Could someone guide a Pi illiterate through what it probably some rookie error on my part? Thanks :)Hello all, just got my setup up and running great. I have a quick question regarding the retroarch config file. I was wondering if there was a may to map a button to 2 buttons on my controller. I am using a Dualshock 3 via USB. For example I have:
input_player1_a_btn = “13”
I would like to map a_btn to “13” and “11” so either button press on my controller will be button a in an emulator.
Is this possible? Any information would be great.
Thanks
Hello,
I have been attempting to use a GTRON SNES TO USB convertor with an official original SNES controller. I am encounter issues when it comes to programming the buttons to operate correctly in the emulationstation as well as the NES and SNES emulators. Those are all i have tried at this point.
When i attempt to program the controller the “down” and “right” buttons on the dpad are not being recognized. I was guessing this was because one of two reasons.
1. The adapters are not compatible
2. The driver installed is incorrect.If i run ‘lsusb” the controller is listed as the following:
“Bus 001 Device 006: ID 0925:8866 Lakeview Research WiseGroup Ltd, MP-8866 Dual Joypad”Is there anyone that can assist me? Or should i try buying another SNES to USB adapter?
Thank you you for the help!
-HoFL
Hi everyone. New to Rpi, and learning as quick as I can about the device and love the work everyone has done with the RetroPie project! (HUGE thanks to petRock for the kickstart for me into the Rpi emulation world!) After hours and hours of trial and error, I’ve finally got my wireless Mayflash Wii Classic Controller to USB adapter setup working with RetroPie. I thought I’d go ahead and post the info on how to the forum so that anyone else having issues can find it, and possibly help others with similar devices sort out their issues. As posted, this config also uses the wii controller’s home button to exit the emulators (At least few I’ve tested sans Genesis– it’s a different beast apparently!)
First, this is my “retroarch.cfg” file that resides in “/RetroPie/configs/all”:
input_player1_joypad_index = "0" input_player1_b_btn = "2" input_player1_y_btn = "3" input_player1_select_btn = "8" input_player1_start_btn = "9" input_player1_up_btn = "12" input_player1_down_btn = "14" input_player1_left_btn = "15" input_player1_right_btn = "13" input_player1_a_btn = "1" input_player1_x_btn = "0" input_player1_l_btn = "6" input_player1_r_btn = "7" input_player1_l2_btn = "4" input_player1_r2_btn = "5" input_player1_l_x_plus_axis = "+0" 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_x_minus_axis = "-2" input_player1_r_y_plus_axis = "+3" input_player1_r_y_minus_axis = "-3" input_exit_emulator_btn = "10" input_player2_joypad_index = "0" input_player2_b_btn = "2" input_player2_y_btn = "3" input_player2_select_btn = "8" input_player2_start_btn = "9" input_player2_up_btn = "12" input_player2_down_btn = "14" input_player2_left_btn = "15" input_player2_right_btn = "13" input_player2_a_btn = "1" input_player2_x_btn = "0" input_player2_l_btn = "6" input_player2_r_btn = "7" input_player2_l2_btn = "4" input_player2_r2_btn = "5" input_player2_l_x_plus_axis = "+0" input_player2_l_x_minus_axis = "-0" input_player2_l_y_plus_axis = "+1" input_player2_l_y_minus_axis = "-1" input_player2_r_x_plus_axis = "+2" input_player2_r_x_minus_axis = "-2" input_player2_r_y_plus_axis = "+3" input_player2_r_y_minus_axis = "-3" input_exit_emulator_btn = "10"
Next, the “es_input.cfg” file from “/.emulationstation”:
<?xml version="1.0"?> <inputList> <inputConfig type="keyboard" /> <inputConfig type="joystick" deviceName="SZMy-power LTD CO. Dual Box WII"> <input name="a" type="button" id="1" value="1" /> <input name="b" type="button" id="2" value="1" /> <input name="down" type="button" id="14" value="1" /> <input name="left" type="button" id="15" value="1" /> <input name="menu" type="button" id="10" value="1" /> <input name="pagedown" type="button" id="7" value="1" /> <input name="pageup" type="button" id="6" value="1" /> <input name="right" type="button" id="13" value="1" /> <input name="select" type="button" id="8" value="1" /> <input name="up" type="button" id="12" value="1" /> </inputConfig> <inputConfig type="joystick" deviceName="SZMy-power LTD CO. Dual Box WII"> <input name="a" type="button" id="1" value="1" /> <input name="b" type="button" id="2" value="1" /> <input name="down" type="button" id="14" value="1" /> <input name="left" type="button" id="15" value="1" /> <input name="menu" type="button" id="10" value="1" /> <input name="pagedown" type="button" id="7" value="1" /> <input name="pageup" type="button" id="6" value="1" /> <input name="right" type="button" id="13" value="1" /> <input name="select" type="button" id="8" value="1" /> <input name="up" type="button" id="12" value="1" /> </inputConfig> </inputList>
These two files gt me up and running. I’m still tweaking some stuff and testing some other. Right now, I can’t get Atari 2600 Basketball to work as a 1 player game– controller 1 appears to work in 2 player mode, but the computer takes over that player when you go to 1 player mode, and controller 2 doesn’t do anything that I can see. Also, has some fun reconfiguring the dgenrc file to be more consistent with the other emu controller profiles. And now, the first game I test is Toy Story, and the graphics appear to be missing half their colors! If anyone has any suggestions on those two issues, I’m all ears! Happy gaming !
Topic: Making your own .img file?
Can anyone tell me how to make my own image of the SD card once I get everything set just the way I want it? That way, if something corrupts or messes up I could just flash and reload the SD card without having to set all the I/O stuff up again.
This would be particularly helpful when I get into more complex controller setups like the 360.I know I can make individual backups of key files, but I believe a full image of the SD card would be the most effective path.
Any help is appreciated!
I know it’s possible to override the button mapping using the individual emulators’ config files, but is it possible to use a different controller entirely?
So far, it seems like running retroarch-joyconfig binds the system to a specific controller. Is it possible to set it up so, for example, I could use a playstation controller with PSX and an SNES controller with everything else?
Thanks for the help!