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.17k stars 272 forks source link

[ISSUE]: Some games getting stuck on start if VMC is enabled on exFAT USB #1197

Open newseduser opened 7 months ago

newseduser commented 7 months ago

Checks

Describe the issue

I've tried the following on the latest OPL1.2 beta: With exFAT USB drive: In some games (Mortal Kombat Armageddon, Battlefield 2), if we have VMC enabled, the game gets stuck on a black screen on startup itself. I tried the same games on a FAT32 drive and everything seems to be working fine (with latest OPL1.2 beta itself). If I disable VMC, the game works fine when booting off of the exFAT drive. But there are some games that are working properly with VMC on the exFAT drive itself (Burnout 3, PES2013).

I have found similar issues on searching, but none are related to the drive being exFAT or FAT32, which makes or breaks things with this issue.

Console model

SCPH-90001

OPL version / revision

OPL beta v1.2.0-2072-ebca0b

In which device(s) have you experienced this issue?

USB

Context and extra information

Mortal Kombat Armageddon [SLES_541.56] Battlefield 2 [SLES_537.29]

AKuHAK commented 7 months ago

@newseduser what was the latest version that worked with VMC?

newseduser commented 7 months ago

@newseduser what was the latest version that worked with VMC?

VMC still works on this 1.2.0-2072, but only some games having issues if VMC is enabled and running on an exFAT USB Stick. If I run it from the same disk formatted in FAT32, with VMC enabled, everything seem to be working fine on this version itself. I haven't tested older beta versions to check if the exFAT+VMC combination work for these games, but I can try if you can suggest some version.

10522 commented 6 months ago

@newseduser, try OPL Beta 1.2.0 2049. Also try this. By the way, this issue is similar to this one and @JoseAaronLopezGarcia can probably help with this issue.

newseduser commented 6 months ago

@10522 I'll try thise versions and let you know. Over the weekend, I tried various combinations and got most of the games to work one way or the other. I reformatted my 128GB USB stick to exFAT with cluster size of 32kb (it was 128kb before. The games worked fine on FAT32 with 128bit cluster size). Then i copied the isos back to DVD folder. This fixed the issue for some of these games with VMC enabled, but broke some other games that used to work. Then I formatted again (with 32kb cluster size itself) and made zso of all the games and copied. Now, most of the games seem to be working with VMC enabled itself. Some games which needed mode1+2+6 before (with iso) now works without enabling any modes (on zso). Some games need mode1+2, and some need mode 6. By trial and error, I made most of the games to work right now.

So does this mean that zso has better compatibility on OPL than iso?

Also, let me know if you want me to close this issue, since most of the issues seem to be fixed with changing block size to 32kb on exfat, using zso instead of iso and for the really stubborn games, enabling mode1+2+6.

JoseAaronLopezGarcia commented 6 months ago

So does this mean that zso has better compatibility on OPL than iso?

As the author of ZSO on OPL my first reaction to this is "preposterous!". There is no reason why ZSO would ever have better compatibility than ISO, it just doesn't make any sense from a technical standpoint. You are however not the only person to actually report this, so there's obviously truth behind it.

My first theory would be that ZSO actually implemented out of bounds checks, which some games try to do; they try to read beyond the actual DVD, which on a normal DVD drive it results in nothing happening, but with ISO it resulted in garbage data being returned to the game (causing all sorts of weird errors, including crashes). So basically ZSO did have one extra layer of protection.

There is an issue with this theory though. The out of bounds calculation in ZSO is actully broken and doesn't calculate the correct number of sectors in the ZSO (I should probably fix this some time soon). And the ISO reader was recently given an out of bounds check to fix those games in this format. So technically right now ISO are supposed to be better. Which of course only furthers the mystery.

newseduser commented 6 months ago

@JoseAaronLopezGarcia Wow this seems interesting ... It's just one of those moments the code just works though it shouldn't, and no one knows why... 😂 I tried a few more games, and it's not exactly zso is always better than iso it seems... I tried GTA San Andreas, and it seems it just gets stuck on a black screen on starting with the zso whatever settings I use, but just works fine with iso. But from what I have tried, most games seem to work better with zso. There could be a lot of factors at play here though... Like I said, initially I tried with 128kb cluster size exfat and some games didn't work, some did. I then tried with 32kb cluster exfat, some of the games that didn't work before started working, but some of them that used to work before stopped. So yeah, maybe there could be something that is making zso better compatible, all the other facts considered.

I'll probably experiment a bit more and let you know if I find anything. Got a spare USB drive here I'm using as a compatibility-test-drive.

JoseAaronLopezGarcia commented 6 months ago

@JoseAaronLopezGarcia Wow this seems interesting ... It's just one of those moments the code just works though it shouldn't, and no one knows why... 😂 I tried a few more games, and it's not exactly zso is always better than iso it seems... I tried GTA San Andreas, and it seems it just gets stuck on a black screen on starting with the zso whatever settings I use, but just works fine with iso. But from what I have tried, most games seem to work better with zso. There could be a lot of factors at play here though... Like I said, initially I tried with 128kb cluster size exfat and some games didn't work, some did. I then tried with 32kb cluster exfat, some of the games that didn't work before started working, but some of them that used to work before stopped. So yeah, maybe there could be something that is making zso better compatible, all the other facts considered.

I'll probably experiment a bit more and let you know if I find anything. Got a spare USB drive here I'm using as a compatibility-test-drive.

The hypothesis we have is that the overhead (extra work) added by ZSO makes the data transfer speed more closely similar to a real DVD and we know that many PS2 games are very sensitive to transfer speeds. The big tell-tale here is the fact that ZSO doesn't need Mode 1 (Accurate Reads) while the same ISO does. Mode 1 is used to limit the transfer speed so it's close to DVD speed.

newseduser commented 6 months ago

@JoseAaronLopezGarcia Wow this seems interesting ... It's just one of those moments the code just works though it shouldn't, and no one knows why... 😂 I tried a few more games, and it's not exactly zso is always better than iso it seems... I tried GTA San Andreas, and it seems it just gets stuck on a black screen on starting with the zso whatever settings I use, but just works fine with iso. But from what I have tried, most games seem to work better with zso. There could be a lot of factors at play here though... Like I said, initially I tried with 128kb cluster size exfat and some games didn't work, some did. I then tried with 32kb cluster exfat, some of the games that didn't work before started working, but some of them that used to work before stopped. So yeah, maybe there could be something that is making zso better compatible, all the other facts considered. I'll probably experiment a bit more and let you know if I find anything. Got a spare USB drive here I'm using as a compatibility-test-drive.

The hypothesis we have is that the overhead (extra work) added by ZSO makes the data transfer speed more closely similar to a real DVD and we know that many PS2 games are very sensitive to transfer speeds. The big tell-tale here is the fact that ZSO doesn't need Mode 1 (Accurate Reads) while the same ISO does. Mode 1 is used to limit the transfer speed so it's close to DVD speed.

That makes sense... But there are some games that do not work with mode 1 on iso that simple works without any extra patches/fixes on zso. Could it have something to do with the tuning for mode 1? Like how much it is throttling the speed or something? In that case, it would be nice if we have an additional setting to fine tune the amount of throttling mode 1 does...(If the issue is that)

VisionR1 commented 5 months ago

Yeah, i have the same issue with latest, USB exFat in zso format (less memory for that) SCPH-77004

EDIT: I think fixed with OPNPS2LD-v1.2.0-Beta-2082-c27f39a, only black screen when have and second usb connected