RetroArch
RetroArch copied to clipboard
RunAhead Use Second Instance prevents disks from changing properly.
Description
When RunAhead Use Second Instance is enabled, when changing the disk through the user interface, it doesn't actually change. The log says it changes, but the disk remains the same in the emulator. I've tested this with the Beetle Saturn core and the BlueMSX core.
I've tried using an m3u then Eject Disk, changing the disk index, and then Insert Disk. I've also tried Load New Disk. Always the disk stays the same as the one that was initially loaded.
If you leave runahead off you can change disks once and then turn runahead on, but afterward you will not be able to change disks again.
I was able to diagnose the problem in this thread: #10044
Expected behavior
The disk should change.
Actual behavior
The disk appears to change in log, but does not change
Steps to reproduce the bug
- Enable runahead with second instance
- load up an m3u or disk for a multidisk game
- try to change the disk
Bisect Results
This might have started happening with 1.8.4, but I'm not entirely certain
Version/Commit
- RetroArch: 1.8.4 Git version f425d8d
Environment information
- OS: Windows 10 1903 x64
Bringing this up again, since I have encountered the same issues with the Disk Control feature in RA, more specifically with the Beetle PSX core while using Runahead.
Upon starting an M3U file with Runahead Use Second Instance enabled, then selecting the "Eject Disk" option under Quick Menu and changing the Disk with "Current Disk Index" and "Insert Disk", no changes are actually applied and the disk used typically remains the first one in the list, unless the content is restarted immediately after. At that point (quite unreliably though, since sometimes this does not work either) RA will show the updated tray status and the content will restart with the new disk index number.
Moreover, if you change the disc index, then select "Insert Disk" to confirm it and then do not restart the content, upon going back to the Quick Menu and pressing Left or Right while selecting Current Disk Index some odd values will appear (the disk index number will jump from 1 to 3 or display the "No disk selected" value, which shouldn't appear).
This is definitely still a problem and I wonder what causes it specifically. Using run ahead essentially just completely breaks disc control as a feature.
The disc swap feature does nothing as long as run ahead for latency is on- you can eject the disc from your system and replace it with any random disc you can find and the machine will continue running the disc you started with and never actually doing anything at all (not even opening the disc tray at all- although the software will erroneously report that the disc tray has been opened).
This seems to affect any and all cores that allow any kind of hot swapping/disc swapping.
@Dwedit Is it possible to fix this?