-
Notifications
You must be signed in to change notification settings - Fork 279
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
VMC has some new problems (maybe start from rev1079) #147
Comments
Please refer to the head commit, as well as the last comments of pull request #144. |
I don't think the change has anything to do with VMC, however. It was the CDVDFSV service that had its RPC stacks reduced in size, so it prevents bootup of OPL, likely due to a stack overflow. But if the 4 tests do not help you at all, then it has likely nothing to do that that commit. |
Oh sorry...one more problem |
@ckomp, make sure of two things you give enough time for SMB to release the last session before you try to load the same game again via SMB. Best to IGR back to the PS2 Browser then load OPL after a minute or two has gone by. |
I've played a long time in Gran Turismo 4 with SMB VMC before, it works all good, maybe this problem was caused by recent change in VMC? I cant load my old GT4 VMC save either---GT4 asks me to create new data at beginning too. |
With the recent commits, there should be no need to wait or reboot your SMB server or to restart your PS2 between game sessions. That is the premise behind changes to VMC & IGR. I find it strange that the game asks you to format the memory card when VMC is used. If I am not wrong, OPL's GENVMC module will format the VMC image. So this might be an indicator that it is unable to read the memory card properly. You should try other games. If no other games have new issues or if the new VMC issues are only affecting SMB mode, then it could be related to a lack of memory under SMB mode. GT4 is known to require IGR to be disabled, for it to work properly. So you should disable IGR. |
I suppose it might need the size of the CDVDFSV-Driver + VMC + the others, or it might decrease the performance or even be incompatible... |
@sp193 |
Does it still work with a physical MC?! |
Yes. Why it wouldnt? |
Due to a (possible) memory-overflow on the IOP, it MIGHT overwrite a module and can't read a specific part from the MC, resulting in a request to create a new save... That's atleast one possible explanation... |
@TnA-Plastic , yes, that might be worth a test. I just want to suggest anyone testing if this game loads from a MC, that you backup the MC, since it might format the MC. -- Because it seems that it is what it kind of does with the VMC, but not sure if it's a complete format of the entire VMC or just the space it wants to later drop it's game save?! :( Plus make sure that your MC on SLOT 1 (mc0:) isn't your FMCB installed MC. Best to always keep your FMCB installed MC on SLOT 2 (mc1:). And leave a normal MC on SLOT 1 for most of your MC Game Saves. |
I've still this issue through ETH with e.g. Gran Turismo 3 on r1387. When I'll launch this game one more time and I want to save I'm still getting message to format MC. |
Copy from https://www.psx-place.com/threads/open-ps2-loader-v0-9-3.13415/page-27: Zarper:
Zarper:
sp193:
Zarper:
|
This doesn't happen on HDD and USB, but only SMB correct? |
I've only additionally tried GT3 through HDD and everything with VMC was fine. |
I did a bit more poking around with this and found that if I changed the function inside _shutdown() in cdvdman.c to DeviceUnmount() it worked as well. |
If you must change this, I guess changing the DeviceDeinit() function for SMB would be better because calling a different function from cdvdman_deinit() would be akin to changing the meaning and purpose behind these functions. Since cdvdman_deinit is called during module shutdown, I guess it could have something to do with the game doing an IOP reboot. But I had concerns that closing the connection from this function would not work, due to the interrupt context. Apparently not. |
Any idea why only the VMC/SMB combo would have this problem? |
So I made another patch with the previously found fix of putting smb_Disconnect() back into SMB DeviceDeinit(). |
If you are going to do that, why not copy both calls to smb_CloseAll() and smb_disconnect() to DeviceDeinit()? Or maybe just call DeviceUnmount() from DeviceDeinit(). There may be a need to alter smb_CloseAll and smb_disconnect to avoid double execution over the file descriptors. As for why it only matters for SMB, maybe it is because this is SMB and it has different code for supporting the protocol. If it is caused by a sudden IOP reset, it may be encountering a data loss due to the reboot. |
I did try with both smb_CloseAll() and smb_Disconnect() in DeviceDeinit(). But as I couldn't see a difference while testing, the original DeviceDeinit() only used smb_Disconnect(), not being entirely sure exactly what the functions do and wanting to change the code as little as possible. I decided to just add smb_Disconnect() back. Would there be a benefit having both? If it isn't obvious already, I'm not a coder. I know a bit of command line and can with a bit of fiddling get git to do mostly what I need. Maybe force something to compile after altering something (!=fix). Anything more involved and I basically have no clue. |
Open PS2 loader version
from rev 1079 to rev 1088
Open PS2 loader mode (USB, SMB, HDD)
SMB
Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)
VMC
Issue description - Describe the problem you are having
I dont know what is exactly wrong but maybe start from rev1079 to rev1088, the VMC has some new problems (all default config except VMC on) :
GRAN TURISMO 4 (SCAJ_300.07) with VMC on(SCAJ_300.07_0.bin), the game freeze at the opening(no memory card detection icon)
Xenosaga Episode 1(SLUS_204.69) with VMC on(SLUS_204.69_0.bin), just black screen, the game wont start.
I remember the older versions dont have these VMC problems.
The text was updated successfully, but these errors were encountered: