-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Virtua Fighter 32X softlocks #237
Comments
It happens on arm 64 bit too, just tested it on a Pi4. It softlocks consistently there too, with freezed gameplay but music still playing. |
Is this also happening with a standalone PicoDrive version? |
I would need to compile the binaries for those devices. Are you interested on the stand alone behaviour on those platforms or I can test it on windows binaries too? |
Doesn't softlocks with the standalone win32 binaries. Tomorrow I'll try to compile a standalone version on the Pi4. |
I'm tied up in November. I'll deal with it next month. |
No worries at all, and thanks for all the work you put into this core! |
I've tried to reproduce it under OSX and Linux on ARM 64 bit, but no luck. Do you have any changed option settings for retroarch and/or picodrive? |
PicoDrive settings all stock beside the 6 buttons pad as device 1. Retroarch nothing fancy, no run ahead etc.
|
It happens with dynarec disabled too. |
Does it also happen in the intro? |
Yes. After some cycles of the intro it locked. I found that it "unlocks" if you save a state and load it back. When you load the state of the "lock" it unlocks itself. |
I have the intro running for hours, but absolutely no locking. Send me your picodrive config file please. I want to make sure we operate under the same conditions. |
Have you tried closing the content and reopening? First time I tried on the intro it didn't lock on fast forwards for 15 minutes. It's totally random. |
Hmm, no, it apparently doesn't happen here :-/ |
Is this maybe related to the retroarch version? Which version(s) are you using on your platforms? |
Based on the information found in your save state, would you check if this patch is helping, please? |
I'm using different devices with different Retroarch versions. The patch didn't work, it locked after some seconds of the first match. BTW I compiled a version with libretro VFS support disabled (it's enabled by default), it's half an hour than it's running without locking. The fact that the log said that it was unloading the content and the fact that loading a save state of the lock reloaded the content back made me think about that. Maybe it's just lucky, I'm dumb so I don't know. |
From what I see in your save state I'd say that isn't very probable:
Now, the polling state for this type of loop is only detected in exactly the one place where the patch applies. You could theoretically play with the number (lower values), or you could remove the poll detection call which is some lines below that to check it would work with that. The strange fact that I can't actually reproduce it is bothering me. What's different between all your different setups and my 3 ones? |
To sum up:
I used your core settings, so it's not that. Taking over the RA settings is a bit of work since all the path information in it isn't fitting for my install, but I'll try that next. I'm currently at a loss. I can only ask you to try a git bisect to find the commit causing this so that I have a pointer where to look. |
Just to make sure it's not that: what's the image checksum? |
Thanks for the insights! Sorry for the late response. |
Hmm. I made a libretro-testing branch in my repo and updated the libretro-common files. Could you please compile that branch from my repo and check if that works better? |
Tested it a little bit, seems ok. Didn't lock yet. Btw it needs this irixxxx#151 or it won't compile. |
Really baffling. I can't see any of that lr-common stuff being using in the emulation itself. How is this possible? |
From the log it seemed like the content was unloaded just before it locked. So I guess it could really be something related to the VFS. Isn't VFS responsible for the file handling? I guess for the emulation itself it's like the cartridge was ejected. |
I don't need your patch to compile the branch neither under osx nor linux, using |
I'm cross compiling on WSL, Ubuntu 20.04 gcc 9.4.0 . Without that line it says
|
The
Are you using something like |
something like |
I've commited a small change to the branch. Could you check if this compiles for you without your PR? |
Nope, I was compiling from the root directory.
Yes, now it compiles correctly without issues! |
There are more reports of people having specifically performance issues with the latest libretro core, issues solved by the core compiled from your repo, libretro-testing branch. |
I've merged the latest, so you guys can go ahead testing this. I'm a bit hesitant to close this since a bit of magic seems to be involved here. |
Latest commit, on the RG35XX (32 bit), Virtua Fighter 32X softlocks consistently. Basically every time I start it, it softlocks on the first stage. Didn't happen before. I don't have other 32 bit arm devices around now, I'll test it on the Pi4 (64 bit) that I have soon.
The text was updated successfully, but these errors were encountered: