libretro / vice-libretro

Versatile Commodore 8-bit Emulator
GNU General Public License v2.0
40 stars 70 forks source link

Load a config file from command line #356

Closed chris70c closed 3 years ago

chris70c commented 3 years ago

Is it possible to load a config file from inside a .cmd? The -config option of vice doesn't seems to work or maybe I don't understand the relative path. Thanks Chris

sonninnos commented 3 years ago

There is a simpler way: Create saves/[content].vicerc.

But the available usable options in the config is limited due to much of them already existing in core option form, and the core options would override the file options anyway.

chris70c commented 3 years ago

Basically I don't need an option file for every game, just 3 or 4 are enough for all of them, but I can't find a way to load a config unless that config has the same name as the game you're loading, in that case it works but I have more than 2000 games and it seems too much to create for example 100 ntsc configs when you just need 1 for all.

Any idea how to achieve that?

sonninnos commented 3 years ago

saves/vicerc and system/vice/vicerc are also loaded in order if earlier is not found, but they are indeed global, so it won't help with that case.

No-Intro tags (USA), (Europe) etc and alsoNTSC & PAL are currently working if model core option is set at any of the "Automatic" ones, and they are scanned from the directory and the filename, so there is no need to force NTSC via confs, and it wouldn't work anyway, because the core option sets the model.

chris70c commented 3 years ago

Not sure I understand, If I change the core to C64 NTSC and save the config for a particular game, each time that game is loaded the core loads the config file and set it to NTSC the problem is that RetroArch only load the config if it has the same name has the game. Setting NTSC, US, etc. doesn't work for me 'cause I'm loading games from d81 disks containing several of them via the disk1.d81:file_name option in the .cmd file, it seems strange to me that there is no easy way to create 3 or 4 config files (1 with REU for example, 1 with 1351 mouse, etc.) and assign them to a specific game.

sonninnos commented 3 years ago

No, setting game-specifics inside a disk is not going to happen. Why not simply separate those games to their own disks and/or single .prgs..

Game-specific core options is a frontend feature, and game-specific vicerc is a core feature. Game-specific in both these cases really means content-specific, and getting either of them to do "content-specific inside content" instead is too much work for too little pay-off, sorry.

Edit: You can also use separate single .cmd files like that (disk.d81:prg), to get them content-specific the way it can work. But I'd use DirMaster to extract the .prgs.

chris70c commented 3 years ago

That's what I'm doing, I have separate cmd files but again I can't load a generic config, take for examples games that requires truedrive enabled, most of them don't but maybe 60-70 do, wouldn't be better to have just 1 config file with truedrive enabled and use it for those games instead of having to create 60-70 game specific configs?

sonninnos commented 3 years ago

Sure, I get it, but it can't be done. It would need to be a frontend feature, since those options are decided in core options.

chris70c commented 3 years ago

Got it, thanks for the explanation and keep up the good work :) Any chance of a 3.5 version anytime?

sonninnos commented 3 years ago

Cheers. 3.5 is on the radar, no timetable promises yet, but "soon-ish".