PS2 [Open PS2 Loader] Game Bug Reports

Intruding delays in reading really isn't the same as emulating the CDVD. That is likely why different games, and even different interfaces on the same game, seem to need vastly different speeds.
sp193 already said it's impossible to emulate CDVD 100% in software on PS2, so we're using the term "emulation" loosely here. We're trying to get as close as possible, but it's still working differently due to completely different devices used. What's stays the same, however, are the outlines. CD-ROM in PS2 is slower than its DVD-ROM, so we need to make OPL read CD games slower than DVD games. Since it works with Shadow Man and Phantasy Star, while not breaking others games, we know it's a working fix. Now we just need to find optimal speeds and think how to implement them. Does autochecking in Mode 1 really work better and cleaner than just adding an "accurate CD reading" mode to the unused slot?
 
What if the game was designed this way? This very common on closed hardware. For example, early C64 games used a bug in the SID sound chip to generate certain audio. When Commodore fixed the chip, those games became partially incompatible.

That's for consoles back then. The purpose behind such actions was generally to get the hardware to do more than it would otherwise be able to.
Here, there's generally no need for that. We're not even allowed to touch the CD/DVD drive directly (except when Sony lent a hand to some developers for anti-HDLoader tricks).

But that being said, there are some games that (unfortunately) rely on some characteristics of CDVDMAN's APIs. In such a case, we do shape OPL to emulate such traits and that is also the premise of OPL's CDVDMAN - to be a drop-in replacement for the original.
For example, some games like Shadow Hearts 2 somehow were made under the assumption that the CDVDMAN will never actually issue a callback too soon, after the command is issued. So we changed our CDVDMAN replacement to make the callback a little later. None of those were deliberate moves, out of a need for performance or additional functionality, however.


If people feel like fixing game code, then great, but if we can emulate the CDVD and these game become fully playable, just like on the real CDVD, then what's the problem with it?
It's okay. In fact, that is why we have various compatibiltiy modes.
I just have concerns about the direction you're taking for this. If you only stay focused on finding the zen reading speed regardless of what the problem really is, it is possible to end up not improving game compatibility too much and also needlessly worsen performance - which is also one reason why we have OPL (to kill loading times).

When I started PS2 development, I didn't really have anybody to guide me. When I started work on PS2ESDL, I totally had nobody to help me at all.
So when I can still lend a hand to keep you guys from wasting time by wandering down the wrong path (likely because I did), I want to do that. If I had the resources to even help you guys fix more games, I would have done it as well... but doing that is incredibly expensive. Especially when you consider that the development team's QA could not find it, and/or they could not fix it.

For the record, I did waste a lot of time once, thinking a lot of these games really had problems due to speed. Castle Shikigami 2, Disaster Report, Beatmania 16. Castle Shikigami 2 was a particularly expensive case because I actually poured in resources to understand its sound driver's weird design, despite perhaps not being the best in MIPS reverse-engineering. But none of them had actual problems with reading speeds.
 
Last edited:
It's okay. In fact, that is why we have various compatibiltiy modes.
I just have concerns about the direction you're taking for this. If you only stay focused on finding the zen reading speed regardless of what the problem really is, it is possible to end up not improving game compatibility too much and also needlessly worsen performance - which is also one reason why we have OPL (to kill loading times).
Yes, but we aren't touching anything other than speed in the current Mode 1. That's why I don't see a problem here. We're not really changing much and it helps. I played all of the demonstrations in Shadow Man 2 yesterday and played the game itself. It works great when the speed is lowered to 1200 kB/s. It even fixes audio issues which I noticed before, but nobody seems to have reported them earlier (minor stuff like voice overs being cut milliseconds too soon). That's also why I say this is about speed. Since lowering speed fixes these games, whatever the reason in their code might be, it simply works. We also know real hardware would be slower with CD games, so it makes sense.

To be more precise, tough: the reading speed per se is probably not the problem. As ramapcsx2 put it, there are timing issues with some PS2 games and introducing an external delay via lowering reading speeds fixes the timing. But really, in practical terms, it's the same thing.

I've learned over the years that killing loading times in some PS2 titles is not possible without coding them from scratch (which nobody will realistically do). I don't know if you realize this, but most of these compatibility lists are very inaccurate. They will say a game works with the highest HDD speeds, but there might be random freezing, glitchy audio, or literally too fast load screens (like in Okami - you can't play its minigame because of too fast loading screens). Good thing we have the DMA modes and all the compatibility modes. We have to work with the original hardware, not against it.

As for the financial side of things - sp193, believe me, I know it all too well. That's the very reason I can't even try to get into this. I'm a very poor person, living in a country which has a weak economy and no job prospects for young people after universities. I'm very grateful to you for all your hard work. Since OPL had come such a long way, we really should polish it for a 0.9.4 public release, so that the whole community can use it for years to come.
 
Last edited:
Since we can't find an optimal value for both Shadow Man 2 and the Phantasy Star remake, especially since the needed speed changes between SMB and HDD, maybe it really is the best option to allow picking manual speed for Mode 1? However, if we were to do that, let's not confuse end users even more with just a blank space to put their own values. Let's decide on three speeds which seem to work with both games and both device types. It seems the speeds are 1200 kB/s (Shadow Man from HDD), 900 kB/s (the PS remake from both HDD and SMB) and 800 kB/s (Shadow Man from SMB). Of course, we would also need to have the current speed of Mode 1 for DVD games because they won't benefit from a lower speed, except maybe Okami for that special minigame.
 
Last edited:
I don't know that if a 1500 kB/s will be wright option for Shadow Man 2.

All I know is that I ended this game through USB,
but I don't remember what version of an OPL was it.
Probably 0.9.3.

Anyway:
USB is only slightly over 1MB/s. SMB is slightly over 2MB/s.

Probably with OPL 0.9.3 the speed was even lower that 1MB/s?
So 800 kB/s seems to be best compatibility so far for all devices.

Who knows what will happens in half of the game, or at the end when we will set transfer at 1500 kB/s.
It is also a good option for Phantasy Star.

I still think is workaround, because the game should not rely on a CD transfer speed.
 
I don't know that if a 1200 kB/s will be wright option for Shadow Man 2. Who knows what will happens in half of the game, or at the end when we will set transfer at 1200 kB/s.
Tested and it works on HDD. No issues with textures, even with the late-game demonstrations. Nothing will happen half the game or at its end because we didn't change anything other than the speed and all the textures load the same across the whole game.
So 800 kB/s seems to be best compatibility so far for all devices.
Unnecessarily slow for HDD, negatively impacting performance. It should be used only if there's no other option (SMB and USB). With HDD, 1200 kB/s is fine for Shadow Man 2. However, TnA claims the PS remake won't work with anything above 900 kB/s. This is why we need multiple options, to best suit the given scenario.
I still think is workaround, because the game should not rely on a CD transfer speed.
Why would CD games not rely on the CD-ROM transfer speed? Nobody is going to reprogram those games. Even the PSIO cartridge has solutions like this for specific games because sometimes you just need to go with how the game is programmed, no matter if it's "weird" or even "buggy".
 
Last edited:
Tested and it works on HDD. No issues with textures, even with the late-game demonstrations. Nothing will happen half the game or at its end because we didn't change anything other than the speed and all the textures load the same across the whole game.

Something always might happens.
We are only reling on what?
Demo mode?

Unnecessarily slow for HDD, negatively impacting performance. It should be used only if there's no other option (SMB and USB). With HDD, 1500 kB/s is fine. However, TnA claims the PS remake won't work with anything above 900 kB/s. This is why we need multiple options, to best suit the given scenario.

If it work for USB, ETH why it'll not work with HDD?
On what kind of a performance?
These performance issues might be only in demo mode, not in actual gameplay.
Add 1500 kB/s for only one game, one device...?

Why would CD games not rely on the CD-ROM transfer speed? Nobody is going to reprogram those games. Even the PSIO cartridge has solutions like this for specific games because sometimes you just need to go with how the game is programmed, no matter if it's "weird" or even 'buggy".

My bad.
I mean that I have also ONI on CD, Quake III Revolution and these games never cause any troubles with OPL.
 
Something always might happens.
We are only reling on what?
Demo mode?
Even if it does (but it won't because the demo mode also shows the late-game levels - everything loads just fine), there will be the lower speed to pick up. That's the whole idea.
If it work for USB, ETH why it'll not work with HDD?
It will work too slow. We can make it work better from HDD. No point in decreasing performance.
I mean that I have also ONI on CD, Quake III Revolution and these games never cause any troubles with OPL.
Those games must no rely on PS2's CD-ROM characteristics too much, especially since they were PC ports. Notice both Shadow Man 2 and the Phantasy Star remake are exclusive to the PS2 hardware.

@jolek, Zarper was kind enough to compile two more versions of OPL: one with 880 kB/s and one with 980 kB/s. Can you please try them out with Shadow Man via SMB? https://github.com/ifcaro/Open-PS2-Loader/files/2672594/OPLv2.zip
 
Even it does (but it won't because the demo mode also shows the late-game levels - everything loads just fine), there will be the lower speed to pick up. That's the whole idea.

Because the demo mode load late game levels everything should be fine?
That's Nonsense.
Why end user needs to pickup between "advanced" options?
For now it's a problem for many new users e.g. to even enable mode 6.

We should keep this app as simple as it could be.
Anyway here is a good example:
http://www.psx-place.com/threads/game-compatibility-settings-visual-overhault.21595/.

It will work too slow. We can make it work better from HDD. No point in decreasing performance.

It'll work through ETH, USB but not through HDD?
Like I sad previously, I ended this game through USB.
There might be some performance drops (on slims consoles), but the game is fully playable.
I haven't notice this issues on FAT console while playing the game.

USB is only slightly over 1MB/s.
 
Because the demo mode load late game levels everything should be fine? That's Nonsense.
It's called an educated guess. This game doesn't do any voodoo (pun intended, for those who know the series) magic in the background. If the late-game levels load, why would it not play in those levels? You even said it yourself - it can be completed from USB. It will also be playable in full from HDD with these new speeds. 1200 kB/s is the optimal value. Even if it would break at some point, there will always be the lower speed to revert to. We can't use any one value, anyway. We need to have a set of speeds to pick from. It can't be avoided. It's still better than not to have it at all, and besides - we still need to pick speed since DVD games work fine with the current Mode 1 and it would be crazy to cripple them with 800 kB/s. The FMVs in DVD games would surely stutter. Even the gameplay would be impacted.
It'll work through ETH, USB but not through HDD? Like I sad previously, I ended this game through USB. There might be some performance drops (on slims consoles), but the game is fully playable.
I haven't notice this issues on FAT console while playing the game.
I already checked the performance on HDD with 1200 kB/s and 800 kB/s. The game works with both speeds, but it's smoother with 1200 kB/s. No point in purposefully lowering the performance on HDD.

Can you please check the two added speeds - 880 kB/s and 980 kB/s via SMB in Shadow Man 2?
 
Last edited:
It's called an educated guess. This game doesn't do any voodoo (pun intended, for those who know the series) magic in the background. If the late-game levels load, why would it not play in those levels? You even said it yourself - it can be completed from USB. It will also be playable in full from HDD with these new speeds. 1500 kB/s is the optimal value.
Even if it would break at some point, there will always be the lower speed to revert to. We can't use any one value, anyway. We need to have a set of speeds to pick from. It can't be avoided. It's still better than not to have it at all, and besides - we still need to pick speed since DVD games work fine with the current Mode 1 and it would be crazy to cripple them with 800 kB/s speed. The FMVs in DVD games would surely stutter. Even the gameplay would be impacted.

But who needs this speed for only one game, one device?
Game is also acting the same from original CD, so why makes things complicated?

For now this voodoo magic works only with 2 games.

Real fix for these game(s) will be more accurate.
Textures should be loaded even when the transfer is higher.

I already checked the performance on HDD with 1500 kB/s and 800 kB/s. The game works with both speeds, but it's smoother with 1500 kB/s. No point in purposefully lowering the performance on HDD.

Can you please check the two added speeds - 880 kB/s and 980 kB/s via SMB in Shadow Man 2?
So my educated guess is that the game can be ended with 800 kB/s.

I've checked the game with OPL 1.0, 0.9, 0.8 through SMB before.
With 0.9 there were some graphical glitches. With 0.8 everything was fine.
 
But who needs this speed for only one game, one device?
Game is also acting the same from original CD, so why makes things complicated
We can't ignore games just because they requite specific fixes. Even if it's just for Shadow Man, it's still worth having to ensure compatibility. Besides, we don't know if other CD games don't benefit from it. Racer Revenge most likely does.
Real fix for these game(s) will be more accurate. Textures should be loaded even when the transfer is higher.
The game is smoother from the original CD than it is with 800 kB/s. 1200 kB/s makes it the closest to the original CD.

That "real" fix will never happen. If ramapcsx2 couldn't debug and patch this game, who will? It's too much trouble and you need expensive hardware to do it, not to mention serious programming skills involved. This "real" fix could break the game, so then you would have to reprogram it to work with the "fixed" loading method.
I've checked the game with OPL 1.0, 0.9, 0.8 through SMB before. With 0.9 there were some graphical glitches. With 0.8 everything was fine.
These are two new speeds. 880 kB/s and 980 kB/s. It's not 0.8 and 0.9. It's about fine-tuning the value and seeing how much of a difference kB/s make here. I would check myself, but I don't have an SMB setup.
 
Last edited:
Even 80 kB/s make a difference between fail and success! Fascinating.

@jolek, can you check if Shadow Man 2 works with 880 kB/s via SMB? If it does, we have the highest speed compatible with all devices in both these CD games.
 
Last edited:
With 880, 900, 980, 1000 kB/s through SMB there are graphical glitches.
With 800 kB/s everything is fine.

I can also test other speeds from 810 to 870 if @Zarper is willing to provide them.
If you can upload only these speeds I'll be grateful.
I mean only 810, 820, 830... 870.
I have limited transfer that I do not want exceed.
 
I guess 850 could possibly still work, but not higher.

OK, we have two options now.

1) We allow multiple speed values for Mode 1:

- the current speed for DVD games;
- 1200 kB/s to play Shadow Man smoothly via HDD, possibly other CDs games (somebody should check Racer Revenge);
- 800 or 850 kB/s to ensure full compatibility with Shadow Man 2 and the PS remake on all devices.

2) We add a separate mode for CD-ROM accurate reads with 800 or 850 kB/s (since I'm sure auto-switching would actually be quite complex and it's probably not worth it in this case, unless somebody is willing to do it, of course).
 
Last edited:
I really should try to upstream my changes to the build system so I can publish a guide on how to build it all, it really isn't that hard.
Anyway, here's the files.
 
Last edited:
We need to implement these changes into the betas and eventually create a public 0.9.4. We can't expect people to create separate OPL builds for various games. There's nothing stopping OPL from having another mode for accurate CD-ROM reads, or simply having selectable values for Mode 1.

I just want to point out that Mode 1 is not a substituent for the DMA modes. Mode 1 has its own characteristics and has nothing to do with the DMA modes.

The DMA modes are needed separately because certain games don't need accurate reads like in Mode 1, but they do need specific DMA modes. Sometimes we can increase game performance by picking a high DMA mode. With Xenosaga I, I remember that late-game FMVs would stutter unless UDMA-1 was selected. However, using a higher UDMA mode would cause the game to freeze randomly.

For the maximum performance and compatibility, we need to have the DMA modes selectable as they are right now.
 
I'm not expecting "people" to create special builds. But when troubleshooting things, like this, it's handy to be able to change things for testing. Or doing a bisect to figure out regressions.

No idea why you're talking about DMA modes.
 
Back
Top