• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

RETROARCH - The all-in-one emulator dreams are made of, son

Lettuce

Member
I don't think there is a definitive guide for best GSync settings yet, but there are some suggestions here. You want to leave the refresh rate at the default "59.950".

Maybe someday there will be an easy On/Off variable refresh rate option when more people have Gsync/Freesync monitors.

Make sure your system folder is set properly in your directory settings on the PC. For changing discs, I think FF8 saves when you finish a disc and you can load up the next and load your save. You can also create an .m3u playlist file as described here. When you load that up there are disc eject and disc next/previous hotkeys you can use to switch discs on the fly. You can set those keys in Settings, Input, Input Hotkey Binds.

Thanks for the link.

Yeah i dont think RetroArch supports any G-sync features which is a shame, MamueUIFX and GrooveMame do out the box just disable vsync and everything works. Mortal Kombat on Mame is a good test, where the character avatars scroll down the side of the screen on the title screen. In MameUIFX or GrooveMame the scrolling on these avatars is completely smooth, but if you load MAME (2014) core in RA the scrolling is jerky so proves g-sync isnt working
 

Lettuce

Member
so no matter what I did, I couldn't get the PSX core working on my PC (Mednafen or whatever). I put the same BIOS in the system folder on my Macbook and it worked fine.

now how do I change discs? just beat disc 1 in FF8 and dunno what to do.

i think the bios file names are case sensitive, make sure the letters are all lower case
 

Lettuce

Member
Gentlemen, good evening.

I'm new on this board, not "so new" about RA, but still struggle a lot. I've asked my question on the Libretro forum, with no luck at the moment.

What I would like to do, is simple: Game Boy and Gameboy Color both use gambatte_libretro.
So for Game Boy I need to use the Game Boy overlay and shaders and for Game Boy Color I need to use other overlays and shaders. Is it possible to do that with 1 same core?

The only solution I found now is to use Gambatte for GB, and TGB Dual for GB Color.

Because, I need to set up Sega Genesis/Master System/Mega CD/32X/Game Gear, each with specific shaders, and I'm not sure to find 5 differents emulators! ^^

Hope you will understand my request. Thanks a lot!

I think for that you would have to use the configuration per game option, as your using the same core for GB and GBC you can only set one shader/boarder for each core, unless using the config per game option. Unless anyone else know differently.

Only other solution would be to use a different core for GBC to GB??
 

nkarafo

Member
Gentlemen, good evening.

I'm new on this board, not "so new" about RA, but still struggle a lot. I've asked my question on the Libretro forum, with no luck at the moment.

What I would like to do, is simple: Game Boy and Gameboy Color both use gambatte_libretro.
So for Game Boy I need to use the Game Boy overlay and shaders and for Game Boy Color I need to use other overlays and shaders. Is it possible to do that with 1 same core?

The only solution I found now is to use Gambatte for GB, and TGB Dual for GB Color.

Because, I need to set up Sega Genesis/Master System/Mega CD/32X/Game Gear, each with specific shaders, and I'm not sure to find 5 differents emulators! ^^

Hope you will understand my request. Thanks a lot!
Here's what you can do:

Use all the options and shaders you need for the original Game Boy and save the config. In the "config" folder there should be a "gambatte_libretro.cfg" file. Rename that to "Game_Boy_Classic.cfg" or however you want to call it (it would be best not to have spaces in the filename). Now create a new setup and use the options and shaders for game boy color. Save as a new config. Another "gambatte_libretro.cfg" will appear. Rename that to "Game_Boy_Color".

Now you have 2 configs using the same core but each one has it's own options and shaders when you load them.
 

Mydriaze

Neo Member
Thanks for your answer.

Now you have 2 configs using the same core but each one has it's own options and shaders when you load them.

So, I assume that the core will be the same for the the GBC and GB. In this case, gambatte_libretro.dll. How gambatte_libretro.dll will now which file to launch? Game_Boy_Classic.cfg or Game_Boy_Color.cfg one? In fact, I already tried this, it doesn't work. Moreover, to get it work I can't let the cfg file at the root of the config folder, it must be inside a gambatte folder (name must be the same than the core, without _libretro.dll
 

nkarafo

Member
So, I assume that the core will be the same for the the GBC and GB. In this case, gambatte_libretro.dll. How gambatte_libretro.dll will now which file to launch? Game_Boy_Classic.cfg or Game_Boy_Color.cfg one? In fact, I already tried this, it doesn't work. Moreover, to get it work I can't let the cfg file at the root of the config folder, it must be inside a gambatte folder (name must be the same than the core, without _libretro.dll
I don't know how your setup is honestly but that's how i made mine. Whenever i save a config, it goes to the "config" folder, that was the default location at least. Now, when i make these differently named configs, i load them manually. That means, when i launch RetroArch to play some games, my first move it to go to "load configuration". There, i load one of the configs i made manually. And after that, i go to "load content" to launch games using said config. So basically, i manually load a config, in the same way i would manually load an emulator.

I you absolutely need for the cfg to be named "gambatte_libretro.dll" then maybe you can just change the location where the config is stored in the path settings for each system? So instead of having a bunch of manually named configs in the "config" folder, you get a bunch of folders in there and inside each of them you get the default named configs?

In other words, my paths looks like this:

/RetroArch/Config/Game_Boy_Color.cfg

/RetroArch/Config/Game_Boy_Classic.cfg

And so on. Like i said, i load them manually.


If you want to keep the default config names, i assume you could get the same results if it was like this:

/RetroArch/Config/Game Boy Color/gambatte_libretro.cfg

/RetroArch/Config/Game Boy Classic/gambatte_libretro.cfg


Both config saving methods allow you to have different settings for each system when using the same core. But you have to load them manually. I don't know how you can do this by using only 1 config. I'm pretty sure that you need to separate them somehow. But maybe i'm wrong so someone can make a mini tutorial or something?

I hope my post isn't confusing, i try to explain with my not so perfect English.
 

Mydriaze

Neo Member
Your answer is perfect, like your english. I'm not fluent in English neither.

I understand the way your RA is working, what a pain in the ass! You can simply use the overrides options, in order to launch automatically a specific .cfg file for a type of core.

Example: I have playlist for MAME, Nes, SNes, GB etc... When I start RA, I simply select the game I want to play in the right playlist, and, that's all. If i'm launching a NES game, core will be automatically launch, and the corresponding .cfg file too. In my opinion, you don't need to load specific configuration each time you you want to play. Just give a try:

-In cores, my Nes core is named bnes_libretro.dll (because I use BNes)
-In config: just create a folder named like the core: bnes
-put your bnes_libretro.cfg file in the bnes folder, and name it like that: bnes.cfg
-folder and cfg name must have the same name now.
-edit your cfg file if needed: shaders, overlays, whatever!

Now, you won't need to load any configuration, it will be automatic. ;)

Well, another question for me: how to create playlist for NeoGeo game? Or CPS1,2,3 game? I found an AutoHotKey script for Mame game, but not for the mentionned above...
 

Knurek

Member
Here's what you can do:

Use all the options and shaders you need for the original Game Boy and save the config. In the "config" folder there should be a "gambatte_libretro.cfg" file. Rename that to "Game_Boy_Classic.cfg" or however you want to call it (it would be best not to have spaces in the filename). Now create a new setup and use the options and shaders for game boy color. Save as a new config. Another "gambatte_libretro.cfg" will appear. Rename that to "Game_Boy_Color".

Now you have 2 configs using the same core but each one has it's own options and shaders when you load them.

Better yet, if you copy the Game_Boy_Classic.cfg or Game_Boy_Color.cfg to match the filename of the ROM you try to play, Retroarch will automatically apply it when loading said ROM.

Gambatte.cfg (Game Boy shader, default for all ROMS loaded from Gambatte core)
Legend of Zelda, The - Oracle of Ages (USA).cfg (Game Boy Color shader, automatically applied when loading Legend of Zelda, The - Oracle of Ages (USA).gbc)
 

nkarafo

Member
Your answer is perfect, like your english. I'm not fluent in English neither.

I understand the way your RA is working, what a pain in the ass! You can simply use the overrides options, in order to launch automatically a specific .cfg file for a type of core.

Example: I have playlist for MAME, Nes, SNes, GB etc... When I start RA, I simply select the game I want to play in the right playlist, and, that's all. If i'm launching a NES game, core will be automatically launch, and the corresponding .cfg file too. In my opinion, you don't need to load specific configuration each time you you want to play. Just give a try:

-In cores, my Nes core is named bnes_libretro.dll (because I use BNes)
-In config: just create a folder named like the core: bnes
-put your bnes_libretro.cfg file in the bnes folder, and name it like that: bnes.cfg
-folder and cfg name must have the same name now.
-edit your cfg file if needed: shaders, overlays, whatever!

Now, you won't need to load any configuration, it will be automatic. ;)
Well, maybe i'm doing it wrong but to be honest i don't even use the RetroArch UI to launch any game... i just have it integrated in LaunchBox and Hyperspin. And i use all the different configs i made so these programs can find them and use them.

Having said that, i will try to use it in a different way like you say, just to test it.


Better yet, if you copy the Game_Boy_Classic.cfg or Game_Boy_Color.cfg to match the filename of the ROM you try to play, Retroarch will automatically apply it when loading said ROM.

Gambatte.cfg (Game Boy shader, default for all ROMS loaded from Gambatte core)
Legend of Zelda, The - Oracle of Ages (USA).cfg (Game Boy Color shader, automatically applied when loading Legend of Zelda, The - Oracle of Ages (USA).gbc)
I didn't know that, however it will be a lot of work if you have a lot of systems and ROMs.
 

Radius4

Member
Regarding overrides, I want to improve the system even though saving them from RetroArch is still not on the table (it's really hard!)

I have two ideas that could work to make it easier:
- make the names lowercase always so you don't have to worry about the case
- add a "create override file" that creates the empty file and folders for you

What do you think?
 

nkarafo

Member
Why can't i save a new config anymore? Whenever i load a core, i can't save a config. I always get a "failed to save" message. The only way to make a new config is to replace the exe with 1.2.2 version and then replace it again with the newer one. This is going on with every nightly so far.
 
5D1W6it.png


I can't get any of the GB shaders with skins to display correctly. Any idea what is causing this? I got the NGCP one with the skin to work just fine.
 

dickroach

Member
I'm playing Final Fantasy VIII on the PCSXReloaded core on my Macbook, and after the FMV of the Lunar Cry on disc 3 the game kind of freezes. like the NPCs are still doing their idle animations or whatever, but I can't more or do anything. any idea how to get past this?
 

kev26b

Member
Why can't i save a new config anymore? Whenever i load a core, i can't save a config. I always get a "failed to save" message. The only way to make a new config is to replace the exe with 1.2.2 version and then replace it again with the newer one. This is going on with every nightly so far.

I have the same problem.
 

Burai

shitonmychest57
Every time I try to load a Japanese PSone game, Retroarch just bombs straight to desktop. No error messages, just death. US games work perfectly fine, I've got all the BIOS files I'm supposed to and there are no Japanese characters in the file names. This is on Windows 10, with both stable and the latest nightly.

Any ideas?
 
Why can't i save a new config anymore? Whenever i load a core, i can't save a config. I always get a "failed to save" message. The only way to make a new config is to replace the exe with 1.2.2 version and then replace it again with the newer one. This is going on with every nightly so far.
Yep really annoying.
 

Awakened

Member
Every time I try to load a Japanese PSone game, Retroarch just bombs straight to desktop. No error messages, just death. US games work perfectly fine, I've got all the BIOS files I'm supposed to and there are no Japanese characters in the file names. This is on Windows 10, with both stable and the latest nightly.

Any ideas?
I can load JP games just fine. I use the same BIOS for both US and JP games; you could try copying your scph5501.bin and replacing scph5500.bin with that to rule out a BIOS issue.
 

Sanctuary

Member
Any idea what is up with the aspect ratio (well, size of the game image anyway) for Mednafen PSX? I can't tell if it's actually supposed to look this way, or if it's screwy.

When the PSX logo appears on screen, it looks to be the proper 4:3, filling the screen from top to bottom, with the black borders on the left and right (like how pretty much every single 480p, standard def show looks). However, once the game starts, every single one of them ends up in a smaller 4:3 space. It looks like it's the correct aspect ratio, except there's a bit of space on the top and bottom now, instead of the image reaching the top and bottom. When using another emulator like ePSXe, the games look like an accurate 4:3 image.
 

nateify

Member
Can anyone help me out with this? Posted to the libretro forums, no response:

I cannot seem to get Retroarch audio to play through my HDMI TV connected to my PC. In the "Playback Devices" window, my HDMI audio is listed as "AMD HDMI Output" and "AMD HDMI High Definition Audio Device" but neither option works when input through the GUI or the CFG.
Switching the Windows default sound device is too much an inconvenience, not easily do-able with a controller, and I'd rather not have certain system sounds play on the TV.

I found some mention of audio device options for Lakka, but it only gives me examples of possible device names for Linux, no info on Windows.
 

Awakened

Member
Any idea what is up with the aspect ratio (well, size of the game image anyway) for Mednafen PSX? I can't tell if it's actually supposed to look this way, or if it's screwy.

When the PSX logo appears on screen, it looks to be the proper 4:3, filling the screen from top to bottom, with the black borders on the left and right (like how pretty much every single 480p, standard def show looks). However, once the game starts, every single one of them ends up in a smaller 4:3 space. It looks like it's the correct aspect ratio, except there's a bit of space on the top and bottom now, instead of the image reaching the top and bottom. When using another emulator like ePSXe, the games look like an accurate 4:3 image.
The correct display aspect is to have the BIOS logo appear squished according to tests on CRTs with the real system by Mednafen's author. She talks about that as the Admin in one of the replies here. In RetroArch you only get that more squished aspect if you turn off the Crop Overscan option in Video settings. You generally want that off anyways since it crops active pixels in some games like FFVII (part of some dialog boxes on one side).

If you read some of the replies in that topic she mentions how the PSX doesn't really have a native res; lots of games use specific ones. I think the black bars on the top and bottom are the result of developers using less vertical res to get better performance. You can use the first and last scanline core options to cut off those black bars. But you have to use per game options files if you want to do it perfectly without cutting off stuff since the amount you want to cut off varies per game. And you have to set the aspect ratio manually to account for the scanlines you've cut off if you don't want the image stretched vertically.
 

Mydriaze

Neo Member
guys, im' struggling with the playlist for CPS1/2/3, MAME, and NeoGeo. I use the following script which is ok, but many games are missing.

Can someone share their playlist for this system? (It's really easy to edit the file to set it up with our directory) Or If you have a solution with a brand new script, I will be more than happy!

Here the script I use:

Code:
;AUTOHOTKEY SCRIPT TO GENERATE MAME.lpl FOR RETROARCH
;### SETUP, ADD YOUR PATHS HERE

content = D:\Hyperspin\Roms\SNK Neo Geo
;### MAME ROMs folder
;### example: C:\RA\RetroArch_1.2.2\content\arcade

cores = D:\Retroarch\RetroArch\cores
;### cores folder
;### C:\RA\RetroArch_1.2.2\cores

dat = C:\Users\Cyril\Downloads\MAME_-_ROMs_(v0.170)\MAME - ROMs (v0.170_XML).dat
;### path to a MAME ROM database file
;### example C:\files\MAME - ROMs (v0.164_XML).dat
;### get dat here http://www.emulab.it/rommanager/datfiles.php

FileDelete, %A_ScriptDir%\MAME.lpl  ;clear old file
FileRead, dat, %dat%

Loop, %content%\*.zip
{
if A_LoopFileName in neogeo.zip,awbios.zip,cpzn2.zip
 continue 
;### you can add names of zip files in the folder to skip in the list above

name := SubStr(A_LoopFileName,1,-4) ;trim .zip

needle2 = <game name=.%name%. (isbios|isdevice)
if RegExMatch(dat, needle2) 
 continue

needle = <game name=.%name%.(?:| ismechanical=.*)(?:| cloneof=.*)(?:| romof=.*)>\R\s*<description>(.*)</description>
RegExMatch(dat, needle, datname)
if !datname1
 datname1 := name ;fallback to filename

datname1 := RegExReplace(datname1, "[/\?<>\\:*\|]","") ;replace win forbidden chars  
datname1 := RegExReplace(datname1, "&apos;","'")  ;may need more replace like this
datname1 := RegExReplace(datname1, "&amp;","&") 
;### datname1 := RegExReplace(datname1, " \(.*","")        ;trim stuff like "(World version 2.2)"
datname1 := RegExReplace(datname1, "\.$","") 
;list = %xx%`n%datname1% ;for troubleshooting

i := i := A_index<10 ? "00000" A_index : A_index<100 ? "0000" A_index : A_index<1000 ? "000" A_index : A_index<10000 ? "00" A_index : A_index<100000 ? "0" A_index : A_index

;### Next section assigns cores to games. 
;### Edit filenames and corenames to what works for you
;### To use same core for all remove all lines
;### in the section below except core = fb_alpha_libretro.dll
;###if A_LoopFileName in asteroid.zip,dkongjr.zip,dkong.zip        
 core = mame_libretro.dll
;### else if in mslugx.zip
;###  core = fba_libretro.dll
;### else
;###  core = fb_alpha_libretro.dll

a =
(
%A_LoopFileFullPath%
%datname1%
%cores%\%core%
DETECT
%i%|CRC
MAME.lpl
)
if (a_index == 1)
 FileAppend, %a%, %A_ScriptDir%\MAME.lpl
else
 FileAppend, `n%a%, %A_ScriptDir%\MAME.lpl
}
;msgbox % list  ;for troubleshooting
 

Rich!

Member
Hm. SGB commandline usage has changed recently. I found a post explaining it, but I cannot get it to work.

Anyone got an example?
 

Lettuce

Member
How on earth do you setup different pads for different systems??

I have a USB, SNES, Saturn, N64 and Nes pads. Now i would like to setup each core to use these pads and have the buttons configured so they are properly mapped just like the real pads but RetroArch doesn't seem to be intelligent enough to detect the type of pad for each core.

For example im using my usb saturn pad for the megadrive core Gen-Plus GX, i have gone into input>input user 1 binds and changed user 1 device type to MD 6 Button Pad and then gone down to 'User 1 Bind All' but when its asking me to press buttons it thinks i have a 360 pad connected as its asking me the 'Button B (down)' or 'Button Y (left)' how am i supposed to know which button is which when using a 6 button Saturn pad?
 

Radius4

Member
Hm. SGB commandline usage has changed recently. I found a post explaining it, but I cannot get it to work.

Anyone got an example?

I'll be looking this up this week
Edit: Actually it's fixed, same sintax retroarch -L corename sgbrom.sfc --subsystem sgb gameboyrom.gbc

How on earth do you setup different pads for different systems??

I have a USB, SNES, Saturn, N64 and Nes pads. Now i would like to setup each core to use these pads and have the buttons configured so they are properly mapped just like the real pads but RetroArch doesn't seem to be intelligent enough to detect the type of pad for each core.

For example im using my usb saturn pad for the megadrive core Gen-Plus GX, i have gone into input>input user 1 binds and changed user 1 device type to MD 6 Button Pad and then gone down to 'User 1 Bind All' but when its asking me to press buttons it thinks i have a 360 pad connected as its asking me the 'Button B (down)' or 'Button Y (left)' how am i supposed to know which button is which when using a 6 button Saturn pad?

RetroArch dones't know what the core does, that is by principle and not a limitation.
Regarding Sega 6 button and GPGX, the mapping this core uses is quite obtuse I agree but it's the way the developer intended.

I would just map everything to retropad (never touch bind all) and use core input remapping instead

http://wiki.libretro.com/index.php?title=Genesis_Plus_GX
 

Lettuce

Member
I'll be looking this up this week
Edit: Actually it's fixed, same sintax retroarch -L corename sgbrom.sfc --subsystem sgb gameboyrom.gbc



RetroArch dones't know what the core does, that is by principle and not a limitation.
Regarding Sega 6 button and GPGX, the mapping this core uses is quite obtuse I agree but it's the way the developer intended.

I would just map everything to retropad (never touch bind all) and use core input remapping instead

http://wiki.libretro.com/index.php?title=Genesis_Plus_GX

Its still super confusing though, what they need to add is a auto config (like the bind all option) in the core input menu, so it knows what core is loaded and will just ask you (in the case of a 6 button MD pad) press a button on the pad for the 'Z' input. Would make life a lot easier.

As i still dont know on these saturn pad, what buttons correspond to what buttons on the retropad, as the saturn pad obviously has A,B,C,X,Y,Z and 2 should buttons, which of the buttons are which when looking at the retropad inputs ??

EDIT: Ok after dicking around with SF2 (probably the best game to test for all 6 buttons), i have worked out that....

A (Saturn) = Y (RetroPad)
B (Saturn) = B (RetroPad)
C (Saturn) = A (RetroPad)
X (Saturn) = L2 (RetroPad)
Y (Saturn) = X (RetroPad)
Z (Saturn) = R2 (RetroPad)
R Shoulder/Mode (Saturn) = R Button (RetroPad)
 

Rich!

Member
I'll be looking this up this week
Edit: Actually it's fixed, same sintax retroarch -L corename sgbrom.sfc --subsystem sgb gameboyrom.gbc

thanks, it works. Few issues that didn't exist before though:

1. SGB2 does not work. Retroarch crashes upon load. SGB1 works fine.
2. Donkey Kong (verified ROM) does not work - sound can be heard after the SGB bootup, but no image and inputs are not registered. All other games tested work fine. Example, Kirby 2:

retroarch-0215-2204452iu55.png


And I've tested the above in standalone Higan too just to make sure - sgb2 and dk work fine. It's just an issue with retroarch.
 

Radius4

Member
Its still super confusing though, what they need to add is a auto config (like the bind all option) in the core input menu

This is not trivial to implement but I implemented the following:
If your controller has an autoconf with descriptors it will use those instead of the RetroPad ABXYLR labels

So if you have a Saturn gamepad you can make an autoconf profile and it will show the correct labels for there on (ABCXYZ).

To make an autoconf profile the process is:

- Load RetroArch
- Go to settings
- Go to User X input binds
- Select User 1 default all
- Select User 1 bind all
- Correct anything you may have mapped incorrectly
- Select User 1 save autoconf profile
- Select User 1 default all again

Now exit RetroArch, in you autoconf/dinput or xinput or whatever dir there should be a new file named after your gamepad device name, edit that file like this:

Add:

Code:
input_device_display_name = "NES30 Controller"

Add:

Code:
input_b_btn_label = "B"
input_y_btn_label = "Y"
input_select_btn_label = "SELECT"
input_start_btn_label = "START"
input_up_axis_label = "D-Pad Up"
input_down_axis_label = "D-Pad Down"
input_left_axis_label = "D-Pad Left"
input_right_axis_label = "D-Pad Right"
input_a_btn_label = "A"
input_x_btn_label = "X"
input_l_btn_label = "L"
input_r_btn_label = "R"

The left column is RetroPad, the right column is what you assigned, so in your case it would be ABCXYZ.
Save the file and the next time you load retroarch it will print those labels instead of RetroPad B, etc.

That said, most of those retrousb adapters are moronic and have the same device IDs and name, so, if you have more than one (say, one SNES retrousb and one GENESIS retrousb) it's impossible to differentiate then and it will pick the one it finds last for the bindings and the descriptors. This is not really our fault since there is no way for us to differentiate the adapters, retrousb should at least try to differentiate with the product id.

All my pads have autoconf profiles already and it's pretty cool, now it says triangle, circle, square, cross instead of the original labels.

Example with my PS4 controller:

 

Lettuce

Member
Thanks for the suggestion.

I have done what you said but for some reason the input binds list looks like this....

DIyz95p.jpg


and this is the .cfg file...

7gfrlDz.jpg


im not sure why the buttons are showing up as 'N/A' in the binds list!??

When i save the user 1 autoconf profgile it saves in in the root of autoconf file within retroarch and not xinput or dinput folders, if that make a difference?
 

Radius4

Member
That file is completely wrong, after you save it in RA should be like this:

input_driver = "xinput"
input_device = "8Bitdo NES30 Pro"

input_device_display_name = "NES30 Pro Controller"
input_vendor_id = "8194"
input_product_id = "36864"
input_b_btn = "1"
input_y_btn = "4"
input_select_btn = "10"
input_start_btn = "11"
input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"
input_a_btn = "0"
input_x_btn = "3"
input_l_btn = "6"
input_r_btn = "7"
input_l2_btn = "8"
input_r2_btn = "9"
input_l3_btn = "13"
input_r3_btn = "14"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"
input_r_x_plus_axis = "+2"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+5"
input_r_y_minus_axis = "-5"

This contains the binds only, then you have to leave that as it is and add another section, like this:

input_b_btn_label = "B"
input_y_btn_label = "Y"
input_select_btn_label = "SELECT"
input_start_btn_label = "START"
input_up_axis_label = "D-Pad Up"
input_down_axis_label = "D-Pad Down"
input_left_axis_label = "D-Pad Left"
input_right_axis_label = "D-Pad Right"
input_a_btn_label = "A"
input_x_btn_label = "X"
input_l_btn_label = "L"
input_r_btn_label = "R"
input_l2_btn_label = "L2"
input_r2_btn_label = "R2"
input_l3_btn_label = "L3"
input_r3_btn_label = "R3"
input_l_x_plus_axis_label = "Left Analog X+"
input_l_x_minus_axis_label = "Left Analog X-"
input_l_y_plus_axis_label = "Left Analog Y+"
input_l_y_minus_axis_label = "Left Analog Y-"
input_r_x_plus_axis_label = "Right Analog X+"
input_r_x_minus_axis_label = "Right Analog X-"
input_r_y_plus_axis_label = "Right Analog Y+"
input_r_y_minus_axis_label = "Right Analog Y-"

note the _label, basically you have to copy paste the section above and all the _label to every line and then set the correct values. Also don't change input_device_name, add input_device_display_name
 
Which file should I be editing for Retroarch to reassign my buttons? I can't access the gui from my keyboard or buttons, so I figured I would have to do this manually. I'm using it for FBA.
 

nkarafo

Member
Downloaded the latest Nightly today. Still has the same problem as the one i tried a month ago. Whenever i try to save a new config i get a failed to save message.

Basically, there is no way to save any new configs unless i replace the exe with an older 1.2.2 one.
 

Lettuce

Member
That file is completely wrong, after you save it in RA should be like this:



This contains the binds only, then you have to leave that as it is and add another section, like this:



note the _label, basically you have to copy paste the section above and all the _label to every line and then set the correct values. Also don't change input_device_name, add input_device_display_name

Still doesnt work. When i run the 'user 1 bind all' option am i supposed to be using the Saturn pad at this point or just a 360 pad or something?

From a fresh install i load up RA and got to....

settings>input>input user 1 binds>user 1 bind all

and then use my Saturn pad to set the mappings and after that select 'user 1 save Autoconfig' and then quit RA. If i browse to the 'autoconf' folder in the root there is a new file named 'USB Gamepad .cfg' and this file looks like this

Code:
input_driver = "winxinput"
input_device = "USB Gamepad "
input_vendor_id = "121"
input_product_id = "17"
input_b_btn = "1"
input_y_btn = "0"
input_up_axis = "-1"
input_down_axis = "+1"
input_left_axis = "-0"
input_right_axis = "+0"
input_a_btn = "2"
input_x_btn = "4"
input_l_btn = "6"
input_r_btn = "7"
input_l2_btn = "3"
input_r2_btn = "5"

and then alter it to...

Code:
input_driver = "winxinput"
input_device = "USB Gamepad "

input_device_display_name = "Saturn Controller"
input_vendor_id = "121"
input_product_id = "17"
input_b_btn = "1"
input_y_btn = "0"
input_up_axis = "-1"
input_down_axis = "+1"
input_left_axis = "-0"
input_right_axis = "+0"
input_a_btn = "2"
input_x_btn = "4"
input_l_btn = "6"
input_r_btn = "7"
input_l2_btn = "3"
input_r2_btn = "5"

input_b_btn = "B Button"
input_y_btn = "A Button"
input_up_axis = "D-Pad Up"
input_down_axis = "D-Pad Down"
input_left_axis = "D-Pad Left"
input_right_axis = "D-PAd Right"
input_a_btn = "C Button"
input_x_btn = "Y Button"
input_l_btn = "L Button"
input_r_btn = "R Button/Mode"
input_l2_btn = "X Button"
input_r2_btn = "Z Button"

But when i load RA the mappings still look like this....

1WI8LuJ.jpg


any suggestions?
 

Lettuce

Member
Geez man, you're not reading what I am trying to tell you.
Check for the bold letters in my last post

Yeah i have not change the device name i left that as it was but i added 'input_device_display_name' as you suggested.

I wil admit i didnt see the '_label' part of the code, but ive added that...

Code:
input_driver = "winxinput"
input_device = "USB Gamepad "

input_device_display_name = "Saturn Controller"
input_vendor_id = "121"
input_product_id = "17"
input_b_btn = "1"
input_y_btn = "0"
input_up_axis = "-1"
input_down_axis = "+1"
input_left_axis = "-0"
input_right_axis = "+0"
input_a_btn = "2"
input_x_btn = "4"
input_l_btn = "6"
input_r_btn = "7"
input_l2_btn = "3"
input_r2_btn = "5"

input_b_btn_label = "B Button"
input_y_btn_label = "A Button"
input_up_axis_label = "D-Pad Up"
input_down_axis_label = "D-Pad Down"
input_left_axis_label = "D-Pad Left"
input_right_axis_label = "D-PAd Right"
input_a_btn_label = "C Button"
input_x_btn_label = "Y Button"
input_l_btn_label = "L Button"
input_r_btn_label = "R Button/Mode"
input_l2_btn_label = "X Button"
input_r2_btn_label = "Z Button"

and it still shows a 'N/A' in the input mapping in RA!.

So tell me what wrong with the above config please?
 

Radius4

Member
Nothing besides the fact that your autoconf reads winxinput.
If it's still not working then IDK, I tried this with all my pads and I see no reason for it to add the mappings correctly but not the button labels.

I think you may have not reset the bindings after binding manually. Manual binds take precedence over autoconf, so go to user 1 and select default all and make sure to save the current config.
 

Lettuce

Member
Nothing besides the fact that your autoconf reads winxinput.
If it's still not working then IDK, I tried this with all my pads and I see no reason for it to add the mappings correctly but not the button labels.

I think you may have not reset the bindings after binding manually. Manual binds take precedence over autoconf, so go to user 1 and select default all and make sure to save the current config.

Bingo, that worked!!

thanks!
 

Robin64

Member
Any chance the 3DS version will get border support? I love playing with 1:1 pixels, games look gorgeous this way, but I'd also like to put something in that black space.
 

Robin64

Member
Also, what's the stance on using a screenshot taken in Retroarch (with zero custom filters) and using it in a commercial publication?
 
Top Bottom