Rather puzzling, this has never actually done anything for me in any version of RetroArch.
To reproduce:
[ol] [li]Turn on “Configuration Per-Core”[/li][li]Load a core[/li][li]Change settings (such as Save Directory)[/li][li]Exit RetroArch (to save settings)[/li][/ol]
What I expect to happen:
RetroArch would use global settings, and loading a core would override those globals based on the changes I made while the core was loaded.
What actually happens:
All changes I make only seem to affect the global config, retroarch.cfg, affecting all cores.