PS2 [Open PS2 Loader] Game Bug Reports

@jolek Yes, I already edited my post to answer myself because I've found out it was added in rev1094. Great thing that it was fixed because I always wanted to play that game. It's very hard to get in my country, but I hope to grab it at some point, so it's awesome to know it finally works.

However, that Shadow Man game bothers me. It's probable that many more CD games have weird glitches, but we didn't really notice all of them.
 
It worked from USB and SMB to begin with. It was only crashing from HDD, although it was weird since it worked with HDL 0.8c.

Are you sure that with others devices this games work without a problem?
I'm asking because I was only testing this game mainly through USB.
Sometimes I use SMB to check if a slowdown in gameplay will also exist through that device.
 
Are you sure that with others devices this games work without a problem?
I'm asking because I was only testing this game mainly through USB.
Sometimes I use SMB to check if a slowdown in gameplay will also exist through that device.
It had FVM skipping via USB, but you could complete it: http://sx.sytes.net/oplcl/game.aspx?id=609

Here's a report of the game working fine via SMB on 0.9.2: http://www.ps2-home.com/forum/page/opl-game-compatibility-list-S

It doesn't really matter now since sp193 fixed it either way.
 
It doesn't really matter now since sp193 fixed it either way.

I've check it once again, this time through HDD with SLES_513.01.
There was no beeping noise in the menu. Game starts normally without a crash.
Phew.
 
I've check it once again, this time through HDD with SLES_513.01.
There was no beeping noise in the menu. Game starts normally without a crash.
Phew.
Yeah, a lot of game were fixed since 0.9.3 was released. It's been ages, actually. However, there's still work to be done, as it was proven by Shadow Man today. :dejection:
 
So, changing the Mode 1 speed does at least seem to make a difference, but not for the better as of yet. Not sure I understand the value. Is it correct that the current Mode 1 limits reads to 2.8 MB/s? If it is, I tried 3.6 MB/s and that, while behaving differently, did not fix anything.
 
So, changing the Mode 1 speed does at least seem to make a difference, but not for the better as of yet. Not sure I understand the value. Is it correct that the current Mode 1 limits reads to 2.8 MB/s? If it is, I tried 3.6 MB/s and that, while behaving differently, did not fix anything.
The game doesn't even load without Mode 1.

Does Mode 1 really limit the speed to 2.8 MB/s? That's way below the DVD-ROM reading speed.
 
I'm testing with Phantasy Star, not Shadow Man.
Can you try with Shadow Man as well? @jolek can send you the disc image made from the retail game.

Also, can you try values as low as 1.5 MB/s and all the way to, say, 3.5 MB/s?

EDIT: Shadow Man works from HDD on HDLoader 0.8c with Mode 1+8. Mode 1 on HDL 0.8c is "Slow HDD Access". Mode 8 is not documented in detail. It just says "fixes for Soul Calibur II/Suikoden V".

EDIT: This is pretty weird! The same thing happens with Shadow Man on an emulator: https://github.com/PCSX2/pcsx2/issues/64

ramapcsx2 claims this is a problem with the CDVD emulation timing and that it works via USB because of the additional external delay.
 
Last edited:
Game developers often used very weird code on consoles. It only mattered to them if the game worked on a stock system, so now we might have buggy games which nonetheless should be like that to keep full compatibility. Since OPL is a game loader, it should only seek maximum compatibility, but that indeed might entail ensuring support for buggy games. It was similar with PS1.

Either way, such behaviour is unintended. It usually costs nearly nothing to have proper synchronization mechanisms implemented, unless you want the IOP to drive something as crazy as 100Mbit Ethernet.

I meant to say that the direction that has to be taken, should be different. Instead of looking for bugs in OPL, the game should be checked for bugs. And then a suitable patch be written, if possible. Even if you emulate the behaviour of the CD/DVD drive, it'll be difficult to emulate the exact thread-switching on the IOP because we already add 1 more thread for at least OPL itself.
Runtime bugs are, however, hard to find and fix. Which is likely why it managed to slip past QA.

Did you know that Naughty Dogs did something very strange with the SPU registers in Crash Team Racing, even though it wasn't documented by Sony in any way? Now PSIO can't fully support that game because it's something which no PSIO dev even thought about until they saw it in CTR.

Thankfully, I haven't found any game like that, except perhaps for Castle Shikigami II. But even so, it doesn't depend on the behaviour of the CD/DVD drive itself, but CDVDMAN's software behaviour; if reading was too fast and/or done in a continuous block, the game will fail to play any BGM. Hence mode 1 will also break up transfers into groups of 8 sectors.
Unlike the PS, no game is allowed to directly access the CD/DVD drive.

In theory, yes, but since this is the only game that seems to exhibit such behaviour and since HDD is much more compatible by definition, doesn't it seem far-fetched to assume it's anything other than speed?

It hasn't always been that way, which is why I wrote what I wrote.
Since Disaster Report was not working due to the sound driver being buggy in initialization and critical region protection, it was just a miracle that it even worked on its original media.

PS2 uses two drives in one. It has a 24x speed CD-ROM (3.6 MB/s) and a 4x speed DVD-ROM (5.28 MB/s). Mode 1 and/or MDMA-0 are great at emulating the DVD-ROM reading speed. However, they are still much faster than the CD-ROM reading speed. I'm sure this is why these two CD games don't work from HDD, but do work from USB. The current speed via USB is very close to the CD-ROM reading speed.

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

In practice, I never managed to get the CD/DVD drive to do over 2.8MB/s, which was why I used 2.8MB/s as a yardstick. Did not want to make it too low either, even though reading from CD-ROM could be slower. It's also only documented to be able to reach the maximum possible performance, only at the outer tracks.

The revisioning is at least not as chaotic as with FMCB/FHDB, with it's multiple re-releases (under the same version-number), which is the ONLY thing I really do not like in @sp193's FMCB/FHDB's-Handling/Policy!:-p

Some people seem to have stopped updating at v1.93-4. Perhaps because they found it confusing or what. So by doing this, hopefully some people will just update it when they download the new package.
 
Since Disaster Report was not working due to the sound driver being buggy in initialization and critical region protection, it was just a miracle that it even worked on its original media.
You're extremely ambitious is what I'm saying here. Trying to fix the bugs in games instead of just going along with how they work might be just too much for one person doing it as a hobby. Miracle or not, that game worked and that's all which mattered to the developers and gamers. Shadow Hearts 2 is one of these games, right? It's also buggy and doing something it's not supposed to do, but that's how it was made. As simple as that. That's why it took ages to fix it.

As for Shadow Man, did you read that thread at github (https://github.com/PCSX2/pcsx2/issues/64)? The game has identical problems on an emulator. Seems like it's a timing issue within the CDVD emulation. ramapcsx2 says it works via USB only because of the additional external delay.
USB is only slightly over 1MB/s
Seems that's why Shadow Man works from USB.
 
Last edited:
Well, then do it if you have a plan. From my experience, I cannot think of a viable way to achieve what you want, which will be applicable to all games. If it was doable, then we would not need to have any patches at all.

Shadow Hearts depended on the delay that comes after a command is issued. We could emulate that behaviour, but I see no way to keep the threads on the IOP and EE working in their exact, original ways.
 
Well, then do it if you have a plan. From my experience, I cannot think of a viable way to achieve what you want, which will be applicable to all games. If it was doable, then we would not need to have any patches at all.
I obviously don't have the hardware, software and programming skills to do it.

I meant that if a game like Shadow Man exhibits buggy behaviour because it's doing something weird with the data transfer and needs specific timing from the CD-ROM drive, then instead of trying to patch this game, we should try to add a compatibility mode to the CDVD emulation, so that we can actually emulate the buggy behaviour, thus making the game work as it does from the CD-ROM.
 
Last edited:
That would amount in an unnecessary high amount of Compatibility-Modes, but those modes are meant to be compatible/used with more than one game.

On another note, it would also increase the RAM-Usage on either IOP and/or EE, which could DECREASE compatibility, instead of increasing it.
 
That would amount in an unnecessary high amount of Compatibility-Modes, but those modes are meant to be compatible/used with more than one game.

On another note, it would also increase the RAM-Usage on either IOP and/or EE, which could DECREASE compatibility, instead of increasing it.
How? There is one unused space. To claim it would decrease compatibility is not true.

Also, if it is for just one game, it's still one more game working. Beats the hell out of not having the game to work at all. Besides, I'm sure that Phantasy Star remake has the same problem.
 
I've done some testing with different Mode 1 read speeds now.

First, going bellow 1000 kB/s seems to mitigate the issue. Haven't been able to get any corruption in Phantasy Star yet.

Second, there seems to be a bug. When setting the read speed to 2000 kB/s (36 864), OPL will not load. Instead of the OPL splash screen, it's just black. Setting ticks +/- 1 of 36 864 and it loads just fine. Doesn't feel like it's a coincidence that the IOP speed is 36.864 MHz.

Here's a zip file with a bunch of different Mode 1 speeds if anyone else would like to test.
 
How? There is one unused space. To claim it would decrease compatibility is not true.
What? What are you talking about? The unused Mode-'slot'? It seems you didn't understand, what I was saying...

Also, if it is for just one game, it's still one more game working. Beats the hell out of not having the game to work at all. Besides, I'm sure that Phantasy Star remake has the same problem.
No... It (adding workarounds and patches 'to react like the game expects it to' instead of simply 'patching the game') would lead to an increased footprint of the disc-driver on the IOP... For every single fix that would mean an increase...
For one working game you would kill compatibility for atleast another one or two games... For 2 new compatible games you have 4-9 new incompatible .. For 3 new compatible 10-15 incompatible and that rate would gradually increase... So patching it beforehand IS the best solution!

We are already on the limit for some games! Some games are possibly still incompatible, because all drivers would overflow the IOP-RAM on some of these... That's why we need to try to keep the footprint in RAM as low as possible and rather patch the bugs 'ahead of time', instead of 'just in time' (which would equal wasting RAM and CPU-cycles...)!


I am for an manual controllable emulated read-speed for Mode 1 however (as a per game setting).
 
Last edited:
What? What are you talking about? The unused Mode-'slot'? It seems you didn't understand, what I was saying...
Yes, I did understand what you were saying. It's just not true. OPL had a different mode in the unused slot before and it never decreased the compatibility. Adding one more mode again wouldn't either. You're blowing things out of proportion. It would not increase the RAM usage so much that there would be compatibility issues because of it, especially since it would basically be a variant of Mode 1, just for CD games. It would simply be a hard-coded value working with these CD games. MUCH better than adding "manual controllable emulated read-speed for Mode 1" because that would only confuse the hell out of most users.

Since it's already evident that it was an issue with too fas reading speed with CD games, we need to find the optimal value now, so that both Shadow Man and the Phantasy Star remake will work just like they do from the CD-ROM. This was an omission in the past. Nobody really thought about CD games because there's so few of them, but yeah, they need even slower speeds than DVD games since the CD reading is slower even real hardware.
 
Here's a zip file with a bunch of different Mode 1 speeds if anyone else would like to test.

With Shadow Man - 2econd Coming SLES_504.46, mode 1, through SMB most of textures are available with OPL 1.0 and 0.9.
0.8 seems to load all textures.

Through HDD, mode 1, textures starts to appear with OPL 1.6.
With 1.5 all textures should loads.

Tested on Demo Mode.
 
Yeah, like I said, it was always a simple timing issue caused by the fact that we never thought about the slower speeds of the CD-ROM and always adjusted everything for the DVD-ROM.
 
Back
Top