libretro / vice-libretro

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

The core does not find the vicerc file for autoload #516

Closed KamiLordus closed 7 months ago

KamiLordus commented 7 months ago

Hi @sonninnos

It seems to me that something has been changed and the core no longer reads .vicerc files. I have some games in .g64 and .tap format that require the basicload option.

For example: Ultima III - Exodus.g64 requires:

[C64SC] AutostartBasicLoad=1

Even though I have a file in Retroarch/saves called Ultima III - Exodus.vicerc and in it:

[C64SC] AutostartBasicLoad=1

The core also does not read vicerc files for games in the .tap format that require:

[C64SC] AutostartTapeBasicLoad=0

.vicerc files are located in Retroarch/saves

sonninnos commented 7 months ago

Post logs. Works fine here still, and nothing has been changed regarding vicerc searching and parsing for a long time.

KamiLordus commented 7 months ago

retroarch.log

sonninnos commented 7 months ago
[libretro INFO] No configuration file found at 'E:\RetroArch\saves\VICE x64sc\Andy Capp (Europe).vicerc'.
[libretro INFO] No configuration file found at 'E:\RetroArch\saves\VICE x64sc\vicerc'.
[libretro INFO] No configuration file found at 'E:\RetroArch\system\vice\vicerc'.

So frontend configuration issue. The core uses the save path that the frontend supplies. You have enabled core name based sorting without moving the save files there. So nothing to do here, therefore closing.

KamiLordus commented 7 months ago

Ok, I've got it :) Thanks for the help, I had no idea that sorting affects this.

KamiLordus commented 7 months ago

If I may ask one more question. Everything works great except Pitfall and Pitfall II - Lost Caverns. Previously they also required .vicerc files from: Printer4=0 Drive8Type=0

This was fixed in: https://github.com/libretro/vice-libretro/pull/495

When I try to run it now, none of the games load (Pitfall 1 and 2). I also tried the old method with the vicerc file and it doesn't work either.

For a quick test, I'm uploading my games in .tap format taps.zip

sonninnos commented 7 months ago

Still work fine here as long as drive 8 is disabled with Drive8Type=0, and indeed I later removed the forceful disabling of drive 8 when launching tapes, which was added in that PR.

The budget TAP version of Pitfall II works with drive 8 enabled, and it also loads a lot faster. And both work even if printer is enabled with the core option, so that is redundant. And if the printer core option is enabled, it will override that vicerc disabling anyway.

KamiLordus commented 7 months ago

Only the start screen appears for me. Once the game has finished loading, this error appears:

Pitfall!-240415-111302

The game should start from this point, but instead there is a blue screen and icon #8 starts flashing. The drive should be turned off and the icon #8 should not be in the toolbar. This is the only way the game started before https://github.com/libretro/vice-libretro/pull/495

In Retroarch/saves: I have a file called Pitfall.vicerc and in it: Drive8Type=0

I have no idea why it doesn't work. I also leave a log of turning the game on and off.

retroarch.log

sonninnos commented 7 months ago

Then the vicerc is wrong since it does not show the changed conf after showing about reading the vicerc. That is precisely the symptom of the disk drive being enabled. Statusbar will show the drive slot regardless currently.

The config row alone does not cut it, since it also needs the header for the specific core, and always has: [C64SC]

So correct operation shows this in the log after reading the vicerc:

[libretro INFO] Read resource: Drive8Type => 0
KamiLordus commented 7 months ago

Ahh I forgot to add [C64SC]. Once again, thank you very much for your help.