OPL (Open PS2 Loader)

PS2 Open PS2 Loader v1.1.0

To try solving some of the recently-found issues: https://github.com/sp193/Open-PS2-Loader/tree/gamepatch-fix
Test build: https://www.sendspace.com/file/9bf1mq
  • Corrected error in IOP module patch application if the module ID has A-F digits.
  • APEMOD & F2Tech patch: changed patch design to patch module before starting it up.
  • Fixed incomplete update of SRW Impact patch in commit 1faebb4. Changed LW offset parameter, as the positive number was causing GAS to emit macro instructions.
  • Changed Ridge Racer V workaround for US & European releases, to apply for all devices used. This is to ensure that the game will always work.
  • Added Japanese translation. Special thanks to yamamotonew!
  • ISOFS: replaced use of a single lseek with multiple long seeks when necessary, to avoid overflows when files are located towards the end of the disc. Changed all "cdrom_*" to "isofs_*".
  • IGR: disable interrupts & reset some peripherals with ResetEE, rather than doing things manually. Do not wait for the DMA channels to stop transferring because it might not end.

ResetEE will also acknowledge and clear interrupts.

I suspect that the Initialize GS part is hanging because the V-Blank interrupt stopped working, although I lack the equipment to determine what the real problem was.
I also believe that the code that waits for DMA transfers to end was causing problems, because sometimes IGR seems to get stuck within the interrupt hander, before any coloured screens.

The change to ISOFS is an attempt to improve reliability of OPL when a 2+GB game is stored on a USB disk or SMB share and the game has the SYSTEM.CNF file past the 2GB mark.
Specially, I am referring to Killzone. But who knows whether it was really a problem or not.

Take your time to try things out.

Thank you. I see OPL 0.9.4 release closer and closer :D


Not really. The game list is fully managed by OPL, when it comes to USB devices and SMB shares. So the user doesn't need to do anything else for games there.

So I'd need to manually refresh the list, as with the HDD, when adding/removing games, right?? Otherwise, the cache-file would be useless.

What about games in .ul format, they would be listed in the games.bin??

One last question: I've a friend with a japanise Ps2. Many of his PAL games (that have italian Language) automatically output in english Language.
...I know OPL can overwrite the Ps2 aspect-ratio setting (you can have 4:3 in Ps2 configuration and 16:9 in OPL, games will boot in 16:9).
So it would be possible such a thing for the Language?? And if yes, it's possible even with a language that it's not present on the Ps2?? ('cause jap Ps2 has only jap and eng languages. My friend wants to play in Italian).
 
Shadow Man: 2econd Coming (SLES_504.46) seems to work through all devices without any compatibility modes.
Unfortunately when I trigger combination to power off the console or IGR, game freezes.

Ultimate Pro Pinball (SLES_535.08) seems to work through all devices without any compatibility modes.
Finally IGR works with this game, combination to power off also.

Ridge Racer V (SCES_500.00) works through USB & HDD without any compatibility modes.
However I've notice stuttering in NAMCO intro only through HDD.
Through SMB it needs in my config mode 2
or every 10-15 sec I'm getting short stuttering in intro or in menu.
IGR freezes the console, power off do not work.

@sp193 I confirm @jolek tests. RRV from HDD, there's stutter at the namco logo (before the intro) for the first time. Stutter is not noticeable in the intro for me. IGR freezes the Ps2 (need to hard-power-off)

Shadow man 2nd coming from HDD same IGR problem as RRV
 
  • Like
Reactions: TnA
What about games in .ul format, they would be listed in the games.bin??

Games in .ul format are not listed in "games.bin".
These games are listed in "ul.cfg", so probably there is no need to also list them in another list.

However I've notice that my CD games are also in "games.bin" in DVD folder.
I mean, in CD folder I've only CD games, in DVD folder DVD+CD games in "games.bin".

Tried through USB, OPNPS2LD-db5628c.ELF.
RRV from HDD, there's stutter at the namco logo (before the intro) for the first time. Stutter is not noticeable in the intro for me. IGR freezes the Ps2 (need to hard-power-off)

I don't know if I wrote something wrong, but through HDD I've stuttering only in Namco intro logo.
Game intro works well.
 
Last edited:
Games in .ul format are not listed in "games.bin".
These games are listed in "ul.cfg", so probably there is no need to also list them in another list.

However I've notice that my CD games are also in "games.bin" in DVD folder.
I mean, in CD folder I've only CD games, in DVD folder DVD+CD games in "games.bin".

Tried through USB, OPNPS2LD-db5628c.ELF.

Perfect, Thank you.

I don't know if I wrote something wrong, but through HDD I've stuttering only in Namco intro logo.
Game intro works well.

Ok, I wasn't sure what you meant with "Namco intro"... So we've the exact same result.
 
Perfect, Thank you.

I can only add that "ul.cfg" is in root folder of USB\SMB device.
OPL creates games list cache currently only for CD & DVD folder (for USB & SMB):
As for where the game list cache is stored:
  • HDD: hdd:/+OPL/games.bin
  • Others: CD/games.bin & DVD/games.bin
Ok, I wasn't sure what you meant with "Namco intro"... So we've the exact same result.

Yep.
 
To try solving some of the recently-found issues: https://github.com/sp193/Open-PS2-Loader/tree/gamepatch-fix
Test build: https://www.sendspace.com/file/9bf1mq
  • Corrected error in IOP module patch application if the module ID has A-F digits.
  • APEMOD & F2Tech patch: changed patch design to patch module before starting it up.
  • Fixed incomplete update of SRW Impact patch in commit 1faebb4. Changed LW offset parameter, as the positive number was causing GAS to emit macro instructions.
  • Changed Ridge Racer V workaround for US & European releases, to apply for all devices used. This is to ensure that the game will always work.
  • Added Japanese translation. Special thanks to yamamotonew!
  • ISOFS: replaced use of a single lseek with multiple long seeks when necessary, to avoid overflows when files are located towards the end of the disc. Changed all "cdrom_*" to "isofs_*".
  • IGR: disable interrupts & reset some peripherals with ResetEE, rather than doing things manually. Do not wait for the DMA channels to stop transferring because it might not end.

ResetEE will also acknowledge and clear interrupts.

I suspect that the Initialize GS part is hanging because the V-Blank interrupt stopped working, although I lack the equipment to determine what the real problem was.
I also believe that the code that waits for DMA transfers to end was causing problems, because sometimes IGR seems to get stuck within the interrupt hander, before any coloured screens.

The change to ISOFS is an attempt to improve reliability of OPL when a 2+GB game is stored on a USB disk or SMB share and the game has the SYSTEM.CNF file past the 2GB mark.
Specially, I am referring to Killzone. But who knows whether it was really a problem or not.

Take your time to try things out.


Not really. The game list is fully managed by OPL, when it comes to USB devices and SMB shares. So the user doesn't need to do anything else for games there.
I tested in this beta Srw Impact still broken
 
Last edited:
  • Like
Reactions: TnA
Unfortunately when I trigger combination to power off the console or IGR, game freezes.

But as a whole, is it better now or before? I do not think it is possible to perfect IGR, at least because there is no way to debug some hardware hangs.

Initially, I removed all changes I made to the padhook interrupt handler of IGR, but it did not seem to improve things, although I did not conduct experiments on a wide range of games.
I could not tell whether it was worse before or after the code for waiting for DMA transfers to end was added.

I've notice stuttering in NAMCO intro only through HDD.

As in, it was not previously like that? Then in that case, the workaround is the reason, and so we have to choose between keeping the original behaviour and the risk of the game crashing, or poorer performance (at only the logo?) and (probably) stability.

So I'd need to manually refresh the list, as with the HDD, when adding/removing games, right?? Otherwise, the cache-file would be useless.

No, OPL will automatically manage the cache for you. Only the HDD game list is special.

One last question: I've a friend with a japanise Ps2. Many of his PAL games (that have italian Language) automatically output in english Language.

If the game has no language selector, it probably uses the setting from the system configuration. As of now, OPL has no feature for changing any of the system configuration, but it can be done.

...I know OPL can overwrite the Ps2 aspect-ratio setting (you can have 4:3 in Ps2 configuration and 16:9 in OPL, games will boot in 16:9).

But we don't have such a feature..

So it would be possible such a thing for the Language?? And if yes, it's possible even with a language that it's not present on the Ps2?? ('cause jap Ps2 has only jap and eng languages. My friend wants to play in Italian).

Yes. The language setting is a software restriction by the browser.
 
But as a whole, is it better now or before? I do not think it is possible to perfect IGR, at least because there is no way to debug some hardware hangs.

Initially, I removed all changes I made to the padhook interrupt handler of IGR, but it did not seem to improve things, although I did not conduct experiments on a wide range of games.
I could not tell whether it was worse before or after the code for waiting for DMA transfers to end was added.

Previously when I trigger combination to power of the console, it never freezes.
It may not work like in Tekken 5, but it will never crash.
Now sometimes with some games (tested only 3 through all devices) I don't even have got debug colors.
The same is with IGR, triggering this combination freezes the console, debug colors will not be shown.

It seems that Ultimate Pro Pinball (SLES_535.08) like this change in IGR, because it is working finally for this game.

As in, it was not previously like that? Then in that case, the workaround is the reason, and so we have to choose between keeping the original behaviour and the risk of the game crashing, or poorer performance (at only the logo?) and (probably) stability.

No, previously everything was smooth through HDD.
Currently (through HDD) I've only notice this stuttering in Namco intro logo.
I haven't got much time to do further tests.

Super Robot Wars Impact
SLPS-251.03
SLPS-251.04
internal HDD broken
I tested in this beta Srw Impact still broken

Does this game worked previously?
Did you tried any compatibility modes?
What about other devices?
 
I think I know what I did wrong for SRW Impact. It is because I am not actually supposed to be writing a full function, as the caller's context is not preserved. What seemed to be a function, was a custom piece of code that was only meant to safely increment one of the game's variables. So I was not supposed to call other functions, like DIntr() or EIntr().

As a solution, I will probably replicate some code from DIntr and EIntr into the patch.

Regarding IGR: Then in that case, the new hangs here should be caused by ResetEE. ExecPS2 also does such a thing. Maybe I'll just use ResetEE here to reset the INTC and DMAC interrupts.

I felt that the INTC and/or DMAC interrupt reset code there is better, which is why it seems to work well with the Ultimate Pro Pinball game. I was using this game as a basis for tests yesterday, which is why it works well with IGR.
 
No, OPL will automatically manage the cache for you. Only the HDD game list is special.

Understood. But then if it scan for the games everytime, what's the cache file for?? How can it improve the list-loading time??
(I do not doubt that it does, I'd just like to understand how it works :) )


If the game has no language selector, it probably uses the setting from the system configuration. As of now, OPL has no feature for changing any of the system configuration, but it can be done.

Yes. The language setting is a software restriction by the browser.

Exactly, those games use the system configuration Language.

So you're saying that it would be possible even with a jap Ps2 to make a game booting in languages other than Eng and jap??

But we don't have such a feature..


I read about it in this site. I don't remember in which topic.
 
I have moved some of the reset stuff around and I think it works better now.
So now I:
  1. Stop all DMA channels.
  2. Reset the GS.
  3. Reset EE peripherals.
I IGR'ed from a number of my games, and didn't find any problems. Other than with RRV, but that one has a different problem.

With some luck, the SRW Impact patch will work. But I don't have that game and I have no time.
I have also adjusted the code for isofs, so maybe it'll now work properly with games that have SYSTEM.CNF located at the end of the disc, beyond the 4GB mark?

Please try this: https://www.sendspace.com/file/psy9g1

Some games like Ridge Racer V do something with the SPU2, which causes an interrupt to occur once CLEARSPU is run. So if you IGR to the browser (i.e. no path set), then the PS2 will crash then.
I couldn't figure out why the interrupt was occurring. We also have zero documentation on this part of the SPU2 anyway.

Thanks to @Krah, I now know that the Japanese translation was based on the ps2-home template. But right now, I have no time to correct it.

Understood. But then if it scan for the games everytime, what's the cache file for?? How can it improve the list-loading time??
(I do not doubt that it does, I'd just like to understand how it works :) )

The slow part is not the scanning, but the part that will:
  1. Open the .iso file.
  2. Locate SYSTEM.CNF.
  3. Parse SYSTEM.CNF
Exactly, those games use the system configuration Language.

So you're saying that it would be possible even with a jap Ps2 to make a game booting in languages other than Eng and jap??

Yes, you read it right. But we do not have that feature.
 
Please try this: https://www.sendspace.com/file/psy9g1

Some games like Ridge Racer V do something with the SPU2, which causes an interrupt to occur once CLEARSPU is run. So if you IGR to the browser (i.e. no path set), then the PS2 will crash then.
I couldn't figure out why the interrupt was occurring. We also have zero documentation on this part of the SPU2 anyway.

I've the IGR path set to OPL (mc1:/BOOT/BOOT.ELF). I renamed OPL to BOOT.ELF for IGR using POPS with Ps2-Home OPL_DBs.

The slow part is not the scanning, but the part that will:
  1. Open the .iso file.
  2. Locate SYSTEM.CNF.
  3. Parse SYSTEM.CNF
Thanks for the info :)

Yes, you read it right. But we do not have that feature.

Ok, we misunderstood ourselves (I was talking about the 16:9 option when saying that the option is present). I'll report the good news to my friend, so he won't lost his hope :D
 

IGR and PO* don't work in Tekken 5 (SCES-53202).
There is no reaction after triggering button combo.

dance.gif

Ultimate Pro Pinball (SLES_535.08) works through all devices without any compatibility modes.
IGR and PO* works.

hurra.gif

Shadow Man: 2econd Coming (SLES_504.46) works through all devices without any compatibility modes.
IGR and PO* works.

Ridge Racer V (SCES_500.00) works through USB & HDD without any compatibility modes.
Through SMB it needs in my config mode 2
or every 10-15 sec I'm getting short stuttering in intro or in menu.
IGR do not fully works (debug colors are shown), I mean after triggering button combo I'm getting BSOD.
PO* do not work with this game (no reaction after triggering button combo).

PO* - Power Off.
 
  • Like
Reactions: TnA
I have moved some of the reset stuff around and I think it works better now.
So now I:
  1. Stop all DMA channels.
  2. Reset the GS.
  3. Reset EE peripherals.
I IGR'ed from a number of my games, and didn't find any problems. Other than with RRV, but that one has a different problem.

With some luck, the SRW Impact patch will work. But I don't have that game and I have no time.
I have also adjusted the code for isofs, so maybe it'll now work properly with games that have SYSTEM.CNF located at the end of the disc, beyond the 4GB mark?

IGR and PO* don't work in Tekken 5 (SCES-53202).
There is no reaction after triggering button combo.

dance.gif

Ultimate Pro Pinball (SLES_535.08) works through all devices without any compatibility modes.
IGR and PO* works.

hurra.gif

Shadow Man: 2econd Coming (SLES_504.46) works through all devices without any compatibility modes.
IGR and PO* works.

Ridge Racer V (SCES_500.00) works through USB & HDD without any compatibility modes.
Through SMB it needs in my config mode 2
or every 10-15 sec I'm getting short stuttering in intro or in menu.
IGR do not fully works (debug colors are shown), I mean after triggering button combo I'm getting BSOD.
PO* do not work with this game (no reaction after triggering button combo).

PO* - Power Off.

Almost same results as @jolek Btw for me RRV (I've the USA version) perfectly IGR (I played it from iHDD).

About Tekken 5 (Playing from iHDD) if you enter the tekken arcades (I entered Tekken 3), you can at least normally power-off the Ps2 (no need to hard-powerOff) even with MODE 6 disabled.
 
  • Like
Reactions: TnA
I have moved some of the reset stuff around and I think it works better now.
So now I:
  1. Stop all DMA channels.
  2. Reset the GS.
  3. Reset EE peripherals.
I IGR'ed from a number of my games, and didn't find any problems. Other than with RRV, but that one has a different problem.

With some luck, the SRW Impact patch will work. But I don't have that game and I have no time.
I have also adjusted the code for isofs, so maybe it'll now work properly with games that have SYSTEM.CNF located at the end of the disc, beyond the 4GB mark?

Please try this: https://www.sendspace.com/file/psy9g1

Some games like Ridge Racer V do something with the SPU2, which causes an interrupt to occur once CLEARSPU is run. So if you IGR to the browser (i.e. no path set), then the PS2 will crash then.
I couldn't figure out why the interrupt was occurring. We also have zero documentation on this part of the SPU2 anyway.
@sp193,

Now Shadow Man 2cond Coming and Ultimate Pro Pinball works again with internal HDD.
IGR works with both games, thank you for the work.

With Metal Arms Glitch in the System the IGR still do not have any effect.

Best regards.
 
I have moved some of the reset stuff around and I think it works better now.
So now I:
  1. Stop all DMA channels.
  2. Reset the GS.
  3. Reset EE peripherals.
I IGR'ed from a number of my games, and didn't find any problems. Other than with RRV, but that one has a different problem.

With some luck, the SRW Impact patch will work. But I don't have that game and I have no time.
I have also adjusted the code for isofs, so maybe it'll now work properly with games that have SYSTEM.CNF located at the end of the disc, beyond the 4GB mark?

Please try this: https://www.sendspace.com/file/psy9g1

Some games like Ridge Racer V do something with the SPU2, which causes an interrupt to occur once CLEARSPU is run. So if you IGR to the browser (i.e. no path set), then the PS2 will crash then.
I couldn't figure out why the interrupt was occurring. We also have zero documentation on this part of the SPU2 anyway.

Thanks to @Krah, I now know that the Japanese translation was based on the ps2-home template. But right now, I have no time to correct it.



The slow part is not the scanning, but the part that will:
  1. Open the .iso file.
  2. Locate SYSTEM.CNF.
  3. Parse SYSTEM.CNF


Yes, you read it right. But we do not have that feature.
very lucky,SrwImpact working through this version
thank you sp193
 
If you cannot get the power off combo to work in a game, but the reset button combo does: press the ANALOG button of the controller to enable the L3 and R3 buttons in the game. This will not work if the game has analog disabled.
 
This game has a problem in the main menu too.

You mean It stutters?
It only happens with some 3rd party MC (not with all) & probably VMC (although I haven't test it).
With genuine MC, everything is fine.
Or you have a different problem?

If you cannot get the power off combo to work in a game, but the reset button combo does: press the ANALOG button of the controller to enable the L3 and R3 buttons in the game. This will not work if the game has analog disabled.

Thanks!
PO* after all is working with Ridge Racer V (SCES_500.00) when analog mode is on.

PO* - Power Off.
 

Similar threads

Back
Top