ps2homebrew / Open-PS2-Loader

Game and app loader for Sony PlayStation 2
https://ps2homebrew.github.io/Open-PS2-Loader/
Academic Free License v3.0
2.05k stars 262 forks source link

Game patch for OPL r785 for game: Ratchet & Clank: Up Your Arsenal got broken since OPL r793 #145

Closed Jay-Jay-OPL closed 5 years ago

Jay-Jay-OPL commented 5 years ago

Issue checklist

Note: these are not necessarily requirements

Open PS2 loader version

r785, r793, r1179

Open PS2 loader mode (USB, SMB, HDD)

SMB (others report Internal HDD also) -- see full report here: http://www.ps2-home.com/forum/viewtopic.php?f=13&t=6321

Open PS2 type (Normal, Childproof, VMC, GSM, PS2RD)

VMC, GSM, PS2RD

Issue description - Describe the problem you are having

@sp193 , your fix done to this game: (both NTSC-U and PAL version) Ratchet & Clank: Up Your Arsenal in rev785 221c196 in the file patches.c LINES 93-94 got later broken by rev793 1195cd2 and that game fix is still broken with the current OPL versions of today r1179 6ccedb7 .

The game refuses to load via SMB, Internal HDD, and perhaps even USB HDD.

Expected result

The game should load and play fine since you fixed it starting with r785 and it works up to r792. See full report here: http://www.ps2-home.com/forum/viewtopic.php?p=31687#p31687

Actual result

Doesn't load starting with OPL r793 thru r1179, just black screen or some say it gets stuck in a light green debug screen

How to reproduce the issue

Simply try to load it and find out. :)

NOTE: both OPL r785 and r793 versions were done when we were at BITBUCKET ifcaro's repo, so make sure to see that timeline for more details.

Furthermore, during that time the PS2SDK commit may have been ec874df or any other earlier commit prior to that, since there was a lot of activity during the same date FEB. 28, 2015 when OPL rev793 was compiled that broke that game fix you did.

sp193 commented 5 years ago

Hi,

I think the game was never compatible with SMB due to its memory requirements: http://psx-scene.com/forums/f150/open-ps2-loader-project-v0-9-3-a-62141/index649.html#post1160241 It may have started working every now and then, depending on whether content was added/removed from the resident IOP modules.

For HDD mode, never hide the DEV9 module (mode 8) because this game's anti-HDLoader protection depends on the IOP modules getting changed, which will affect how the game will play with the memory pointer. The patch was already made to support HDD mode without any modes.

Are you sure it's not working for people with the internal HDD? The only user who said it did not work, said it did not initially work (but he eventually got it to work?).

Green screen = game is being loaded. If the user was using SMB, was the user having problems with other games? If so, the user should check the Ethernet link settings. If auto negotiation is not used, please ask him/her to change it back. This will likely not make this game compatible with SMB, however.

Up to recently, the SDK's NETMAN module does not enable flow control when the link mode is manually overridden. Since the PS2's network subsystem is too slow to sustain 100Mbit transfers, it is necessary for flow control to be enabled. Even if the new patches to NETMAN were slipped into OPL, overriding the link mode/speed has its own problems (such as a risk of duplex mismatch). Which is why it's a setting for advanced users.

carl0sjt commented 5 years ago

I just booted the game (SCUS_973.73) on OPL 0.9.3 0f5947 and it works perfectly. PS2 is SCPH-90010, SMB mode.

Jay-Jay-OPL commented 5 years ago

@SP193, I think the Internal HDD user that reported that he also had this same issue, said that he made it work until he used that old (2015 version) OPL r785: http://www.ps2-home.com/forum/viewtopic.php?p=31676#p31676 -- the only thing he commented was that he believes that MODE 8 is not necessary, and we mostly all there believe that to be true.

But I will post the question again, to get a confirmation whether more Internal HDD users are all having this same issue with the current OPL versions when it comes to this game.

As for myself, I was able to play that game with OPL r785 via SMB almost up to 99% percent of the game (back then when you first fixed it on 2015), I still need to complete I believe the last mission. So perhaps as you say, the game perhaps never worked for SMB users, but when you first added that patch in the patches.c file, it helped SMB users play this game at the very least with OPL 785 thru 792.

sp193 commented 5 years ago

@carljtc: they're referring to the US version of the game. Were you playing the US version?

@Jay-Jay-OPL: There are a lot of possibilities here, unfortunately. It's also not impossible for the game to have some runtime bug - since PS2 games came in CD/DVD-ROM, any bug not found and fixed by the developer will stay there forever. :|

Jay-Jay-OPL commented 5 years ago

@sp193 , oh, absolutely, I agree with you on that!

Well, at least we have a workaround. And that is to keep those older OPL Beta versions in our collections so whenever we want to fire up a game that we know works well with an older OPL build can do just that. -- I recently did share a tip how users can do that here in this help topic: http://www.ps2-home.com/forum/viewtopic.php?f=13&t=6319

P.S. according to the reports in that Ratchet and Clank thread, the issue also exists with the PAL version. The only way the Topic Author of that help topic could load that game was using the older 2015 OPL build r789 and his PAL version. He could not load the NTSC version even with that older OPL build -- even though he has a NTSC PS2 SLIM unit. -- http://www.ps2-home.com/forum/viewtopic.php?p=31682#p31682

Which goes to prove that there is something really funky going on with the compatibility of this game...

Do you recall what you were trying to accomplish when you added that game patch in the patches.c file? I believe before r785, this game didn't load for anyone, right?? --- Hmm?? I didn't even bother testing older versions of OPL, well, something to test later on this evening... --UPDATE: with r784 the game doesn't load.

Thanks again for everything!....

sp193 commented 5 years ago

It was a game that was deliberately made to never work, once its IOP modules were changed. crazyc made a patch that allowed HDLoader to become compatible with this game. I improved it to not require its hardcoded values to be computed manually.

The region of the PS2 itself doesn't matter, since all PS2s are essentially the same (other than the region-locking, and some differences around the GS for earlier models).

The explanation for the patch can be found within the source code for OPL: https://github.com/ifcaro/Open-PS2-Loader/blob/master/ee_core/src/patches.c#L281 Original thread: http://psx-scene.com/forums/f99/ratchet-clank-3-a-37312/index13.html#post1160177

carl0sjt commented 5 years ago

@sp193 Yes, its NTSC-U SCUS_973.53