You can already do this, though it’s perhaps not quite as easy as it should be.
In the config section:
[ul]
[li]Save Configuration On Exit: ON[/li][li]Configuration Per-Core: OFF[/li][li]Use Per-Game Core Options: ON[/li][li]Load Override Files Automatically: ON[/li][/ul]
Save general core configurations to :\config<core name><core name.cfg>
Save per-game configurations to :\config<core name><rom name.cfg>
Save per-game core options to :\config<core name><rom name.opt>
The easiest way to set this up, is to bring up the core options and use the “Game Options File” option (first item on the list) which will create a correctly named and placed .opt file.
For your other config files, you will have to set up your config, and select the “Save New Config” option. This will create a file with: :\config<core dll name.cfg>
Rename this to <core name.cfg> and place it in the correct directory. Creating a game options file first makes this a lot easier, as that creates a directory for the core, and gives you the name that RetroArch uses for that core.
You can rename this to <rom name.cfg> instead, if you want it to be a per-game override instead of the per-core override.
There are a lot more manual steps here than I’d like - I wish there was just a “save config file” option which then prompted you to save the global retroarch.cfg, <core name.cfg> or <rom name.cfg>, but in the latest Nightly it seems to at least be saving per-game overrides automatically now.
However that was already the easiest of them, because the very first option on the list would write <rom name.opt> already. It also writes all core options instead of the options specific to the current core, which is a bit annoying.
I have an example of my setup for a game in this topic: http://libretro.com/forums/showthread.php?t=5475