Development Suggestions

@retroben It’s actually extremely hard to determine when a game is saving because some games use SRAM for additional RAM, which means it’s getting written to constantly. Thus, writing to file any time SRAM changes can be very bad for solid-state storage and could also be an issue on I/O-constrained platforms. We could try putting in some heuristics but that will inevitably have edge-cases and so on, particularly in the context of the number of platforms (both physical and virtual) that RetroArch supports.

However, we do have the settings > saving > SaveRAM Autosave Interval option, which will flush the SRAM to file periodically (the default is every 10 seconds). As long as a crash doesn’t happen within that 10-second window just after saving, everything will be kept.

[QUOTE=hunterk;53066]@retroben It’s actually extremely hard to determine when a game is saving because some games use SRAM for additional RAM, which means it’s getting written to constantly. Thus, writing to file any time SRAM changes can be very bad for solid-state storage and could also be an issue on I/O-constrained platforms. We could try putting in some heuristics but that will inevitably have edge-cases and so on, particularly in the context of the number of platforms (both physical and virtual) that RetroArch supports.

However, we do have the settings > saving > SaveRAM Autosave Interval option, which will flush the SRAM to file periodically (the default is every 10 seconds). As long as a crash doesn’t happen within that 10-second window just after saving, everything will be kept.[/QUOTE]

i think the default is never-this is the 1st thing i configure everytime i update using the nightly builds

Yes, the default setting is indeed OFF. When you enable it, there are some different levels, of which the first is 10 seconds. I can see how my statement was confusing :stuck_out_tongue:

As I’ve asked just now on here: https://libretro.com/forums/showthread.php?t=7868, I’d like to request an option to allow updating the SRAM whenever the game asks for it.

I know RetroArch only updates it on proper closing/specific intervals, to save write cycles, but for a few games (like anything that uses a Memory Card), it’s more economical on write cycles to save whenever the game wants, than turning on auto-update of SRAM every 10 seconds (the minimal interval).

need help in debugging an crash issue have with retroarch when retroarchievement is activated. leidarel suggested this:

Since we’re having trouble to reproduce the issue, could you put a breakpoint at cheevos_get_description and step until line 2825 (where strlcpy is) and check these variables? [ul] [li]*desc[/li]> [li]cheevos_locals[/li]> [/ul] Thanks

i already found those lines in cheevos.c but i do not have cpp or any object oriented programing (nor debugging skills) to add breakpoints there nor know to check its variables. i only have been using notepad++ to edit and view code.

What about a button that would do whatever needs to be done, which is I assume tell the emu, its ok to do whatever you need to do do keep the save? Like dedicated “I just saved” button?

I’ll like if you guys could make each core have its own separate controller configuration instead of all cores sharing the Retropad. That would save me some headaches.

The core input remapping feature is designed to alleviate the issue anyway. You set up the retropad once and if you don’t like our default mappings, which are typically based on physical button locations when possible, you can move the buttons around on the retropad using the core input remapping.

little AutoConfig and Hardware Input Binding Bug from Windows Platform.

RetroArch’s Autoconfig function reading ‘Game Controller List’ from Windows,

but Each Input Users Auto Bind is same as Hardware Order.

My One’s are ‘Myaflash Wiimote PC Adapter’ Hardware recourgnize bind on 1,2,3,5’s one. and XBOne is Using 4’s one.

and if you’re reduce ‘Max Users’ Value from RetroArch, those chosable Hardware from list are also Reduced.

it’s quiet a strange works.

and if you’re leave ‘Max Users’ Value and manualy bind XBOne Con to ‘Input User 1’, keybinding is able but strangly it’s not working anywhere(In-Game, and RetroArch Menu)

these kind of 'the baisc premise as (Single Gamecon-Using First One in GameCon Hardware List) issue are quiet rare. some of Developers are not test on Multiful GameCon Hardware-Multiful Input API Environment. (one Fairly Tested and got Same Issue Windows App i See is Fromsoftware’s DarkSouls 2 and 3 on PC-Steam Version)

sorry about bad english.

Just an odd request I had, but would it be possible to have the OSD be able to have some sort of stopwatch function? I play games on Android, and some of the games I play I would love to track my times on, but I can’t find a convenient stopwatch app to use with Retroarch for accurate times.

Just having something like this with the option for mapping a button to pause and unpause the stopwatch (and having it stop automatically when in the Retroarch menu) would be cool IMO. It’s an odd thing to want, but I’m just throwing it out there.

I’d love to see the mouse input improved. There’s a feeling of smoothing and acceleration on the cursor in DeSmuMe and MAME, and sometimes the cursor gets “stuck” on one half of the screen (I’ve only seen this one in MAME, maybe it’s easier because the screens are bigger?). Not too important for MAME tbh since most games use a controller/fightstick anyway but it would be big for Des. Touch is basically for menu-ing only since it’s hard to control.

I’m also gonna bump n-to-n remapping or however it gets implemented. The UI might need to get reworked to avoid migraines, though. Dolphin’s input mapping screen is amazing, for instance, but it really needs the mouse. I don’t know if I need another MAME remapper in my life…

Oh and thanks for everything so far btw. Libretro is the future, I can feel it.

2 Likes

I don’t know if this is the right place to discuss this but…

Has there ever been talks about improving the libretro interface to support multiple emulator instances in the same process? It is a feature I currently need, and I am adding it locally to the cores I’m using.

There are two things that needs to happen, first a way to create and select multiple instances of the core, and then also to provide some state to the callbacks.

This requires adding new functions like void retro_set_environment_state(retro_environment_state_t) void retro_create_instance(); void retro_init_instance(void); void retro_run_instance(void*);

Thoughts?

Something a bit annoying when going horizontally through playlists in XMB is that it halts for loading on the biggest ones (quite long on a big Mame one, forcing you to push the direction again).

It would be great to have an optimization there: perhaps limit the maximum number of loaded entries in a playlist until you move down or start a search?

Also a hotkey or default behaviour to go back to “main menu” (1st item on the left in XMB). While in GUI: L1+R1 or cancel+validate or anything.

2 Likes

Hi Guys,

i would love a menu driver like emulationstation. i read that some can make it and its not hard.

and also i woul like to see clear logo art. is this posible?

few Filter-settings for playlists would be nice (maybe country/language at least). Such Filters should be very usefull on arcade-cores with 10000+ Roms (option for show/hide clones, categorie selector) maybe managed internal by support more than one playlist per arcade-core - switchable by hotkey, quickmenu or something …

1 Like

I would like to suggest the ability to bind core Controller button mappings the same as the general RetroArch mappings. This way you could just press the button you want to be use for the selected control. Would make things easier when setting up different physical controllers for different cores.

[Android] i found minor bug

if Content’s file name is Non English character like CJK(Chinese - Japanese - Korean) Text, RetroArch can’t make(can’t read) a Rom’s System Save.(ex: GBA-SRM)

if you’re close contents before exit Retroarch, actually RetroArch can make srm for each (CJK Charactor Encode file named)rom. but can’t read that (CJK Charactor Encode file named)srm.

so retroarch can’t load player’s system save, anyway it’s loss my progress.

Android 4.4 RetroArch 1.4.0 Rom file on eMMC(not from SD card)

i’ve found some of uncomfortable things in retroarch’s UI on android mobile devices but i gotta record this to video and my english is kind of bad, so i’ll report that later. seems save state problem is priority on me. (T_T goodbye my progress)

Ah, that’s a problem! Thanks for the report.

I’d like to second this, with the request to support some kind of general plugin API structure with a proper interface. I’d love to create some kind of plugin to load games directly from a cartdrige using a cartdrige reader I’ve been working on. I also have a LCD screen (20x4) that I’d like to use on my HTPC to show stats from the core and from the emulator as well.

I know all of this is very niche and asking libretro developers to include this functionality would be tremendous effort and silly. There’s no need to spread the developers’ efforts too thin on such things. However, having some kind of API to achieve these (and other proposed) fringe use-cases would be awesome The level of personalization attainable would be amazing and that way, outsiders could contribute to feature requests that don’t need to be part of the upstream repository. Forking would defeat the purpose.

I don’t know if anything like this exists right now, but it would be awesome.

1 Like

Three small requests 1 Add this setting: settings > user interface > menu > Display Network Tab ON/OFF

2 split this setting in two: settings > onscreen display > onscreen notifications > enable onscreen notifications

  • enable onscreen notifications in game (when saving/loading states)
  • enable onscreen notifications in menu (e.g. when updating cores)

3 When we do “close application” in the game menu RetroArch returns to that game’s playlist submenu. Instead return to the game’s position in the playlist. (I think I requested this earlier but it makes so much sense that I’m re-requesting :slight_smile: )

A bigger request A “kiosk/kids mode” that locks down everything and prevent gamepad users from changing any settings at all. They should be able to start/stop games and maybe load/save states, but that is it. Things to hide in kiosk mode.

In game menu: shaders, save core overrides, save game overrides, controls, options, cheats. In the retroarch general menu: hide all tabs (including main and settings) except for game playlists.

Exit kiosk through a physical keyboard or some unlock code entered with the OSD keyboard. Kiosk mode could be started with a special command line parameter.