OPL (Open PS2 Loader)

PS2 Open PS2 Loader v1.1.0

Actually... I told you before that the compatibility of the DBs MIGHT vary, so yes... Just test the ifcaro-builds...

In this case both revs act the same way though… Which part of the test you think may give a different result?? I'll redo it Tomorrow.
 
On the test I suggested it probably won't make a difference, but for general game-compatibility, it could actually have an influence!

They included some minor-changes regarding the core (atleast they used to), which can affect compatibility.
 
On the test I suggested it probably won't make a difference, but for general game-compatibility, it could actually have an influence!

They included some minor-changes regarding the core (atleast they used to), which can affect compatibility.

I'll make sure to Always use the official revs from now on ;)

Btw I tested this game a lot of times with official builds too (r1266 and olders) and it acts the same way (I think since ever…).
 
AFAIK, there is nobody on their forum who can and will fix games. The way they pull patches over, wasn't always really correct either (sometimes they pull patches over, even before the final version is merged).
In theory, their version of OPL should be equivalent, but it was not always the case. We know that it has happened before, whereby their customizations have caused the UI to be bugged.

But if you asked me, I think it is okay to make tests with their work, but you have to be careful.

***

For this week, and perhaps for quite a while:
  • Added workaround for Ridge Racer V (SLPS-20001, SLUS-20002, SLES-50000), for USB mode.
  • Use DIntr() and EIntr() instead of just di and ei, as these op-codes are not atomic.
  • Added patch for SRS: Street Racing Syndicate (SLUS-20582 & SLES-53045).
  • APEMOD, F2Tech & IREMSND patch: patches will now patch the specified module, to avoid targetting the wrong module. IREMSND patch: re-added deleted fno argument to _SifLoadModule function.
  • Disable digital effects for games that have improper initialization for libsd.
  • APPSUPPORT: Removed extra deinitialization of audsrv from sysExecElf & changed item startup for new apps to be just the boot file (prevent potential crashing due to the IO thread accessing the startup name as the UI is updating the startup name with appGetItemStartup()).
  • Changed memory wipe to begin at 0x00084000 instead of 0x00082000, as the alarm patch exists at the latter. The HDD Browser also uses 0x00084000.
  • Replaced built-in SPU code with CLEARSPU. This module is available with all PS2 types, including the PSX and TOOL (for some reason).
  • Increased Accurate Reads speed limit to 3600KB/s.
  • IGR: disable DMAC interrupts & wait for ongoing DMA transfers to end. No need to change priorities of threads.

The sound bug in Half Life should not be a problem with this. I noticed that setting the digital effects volume (EVOLL & EVOLR) of SPU2 core 1 to 0 would mute the buzzing. The same thing happened when digital sound effects were disabled.

Clearing the SPU2 digital effects with libsd seemed to work, so I guess this small patch module should fix all games like that.

As for why it was ever a problem, I think it's caused by their gbxcd.irx module doing sceSdInit() with the hot init option. That option also causes digital effects to be enabled.
I didn't try proving whether the game uses digital sound effects or not, but this can allow the old settings from previously-run software to be used with the game.

I was more concentrated about change that I've linked:
https://github.com/ifcaro/Open-PS2-Loader/commit/18e5a119d1c4e5f2163f08cc5f8a2765923472b3.
From what I've remembered it was some kind of a change in mode 2?
Maybe because of that fix and specific fix for that game something might been broke,
because in past game needs modes 2+6 (before specific fix for that game was made),
without mode 2 game will not even pass 1st loading screen.
After specific fix game can boots without any modes at least through USB

That's not a change to mode 2. Mode 2 has not been adjusted in years.
This commit fixes sceCdStPause(), so sceCdStResume() can work. It's a positive change, since the sceCdStPause() function was totally unusable.

You guys can try the new OPL build, once the patches are merged.
I noticed that sometimes, the IOP patches will sometimes select the wrong module to patch. This was why the PAL version of Shadow Man: 2econd Coming somehow stopped working via USB devices. :eek:

Somehow the module ID of the module to patch isn't always the 2nd-last. I don't know what this means, maybe I was always wrong about that. So I changed the IOP patches to always patch a specific module.

I was wondering when this could happen, until I tried doing IGR when the menus were transitioning (when the screen fades away).

I cannot debug this, unfortunately. The DTL-T10000 will hang during the reset part of ExecPS2, showing just this message:
Code:
# Restart Without Memory Clear.

I added a new patch that will disable the DMAC interrupts and wait for all ongoing DMA transfers to end (except for SIF0, SIF1 & SIF2), and I haven't gotten the same problem again. I only tried thrice though.

Does it still not work? I won't expect the Japanese version to be compatible, but I saw that the padhook has support for SDK v1.5, which the US and European versions of RRV were based on.

No, it doesn't work. Perhaps the libpad structure was different for this particular SDK release.
 
Last edited:
For this week, and perhaps for quite a while:
If the time you have for working on PS2 stuff is going to be limited for a while, would it be possible to add a temporary transfer rate limitation to PS gen:1, until a proper fix is found?
Would be nice to be able to play, especially with SMB, without the graphic glitches.
I believe the translation project would be grateful to be able to give a solution to their testers/users as well.
 
Added workaround for Ridge Racer V (SLPS-20001, SLUS-20002, SLES-50000), for USB mode.

Does really SLPS-20001 need some kind of workaround?
I mean, only this version was working fine through USB.
It even can pass "Press start button" without a problem with OPL 1266, start race, however I do not have time for further test today.

That's not a change to mode 2. Mode 2 has not been adjusted in years.
This commit fixes sceCdStPause(), so sceCdStResume() can work. It's a positive change, since the sceCdStPause() function was totally unusable.

My bad, recently I've very limited time for reading and keeping up what is going on.
I do not know why I was thinking that something has been changed in mode 2...
Maybe because of that posts + recently added fix for ultimate pro pinball + recent changes:

http://www.psx-place.com/threads/open-ps2-loader-game-bug-reports.19401/#post-133885.

I'll try Ultimate pro pinball with previous commits\rev and check in which rev something gone wrong.

You guys can try the new OPL build, once the patches are merged.
I noticed that sometimes, the IOP patches will sometimes select the wrong module to patch. This was why the PAL version of Shadow Man: 2econd Coming somehow stopped working via USB devices. :eek:

Somehow the module ID of the module to patch isn't always the 2nd-last. I don't know what this means, maybe I was always wrong about that. So I changed the IOP patches to always patch a specific module.

Thanks, will do some tests in future.
 
Last edited:
Does really SLPS-20001 need some kind of workaround?
I mean, only this version was working fine through USB.
It even can pass "Press start button" without a problem with OPL 1266, start race, however I do not have time for further test today.

That's a very good question. I didn't find a difference between it and the other the 2 releases, so I don't actually know why it worked, if it actually does.

There is a possibility that it was a bug caused by the developers upgrading their SDK. The Japanese release was made with release 1.4.4, while the European & US releases were made with release 1.5).
Around that time, there was a transition from 16-byte alignment to 64-byte (writing back the D-Cache became more favourable and/or the risks associated with mixing cached & uncached accesses became more evident). I think that was release 1.6 though.

Okay, I shall exclude the NTSC-J release. Thanks for your input.

Disabling the EE Data Cache seems to allow the US release to work, so perhaps there is a cache coherency bug. I have no idea how to trap it though, since a lot of the Sony libraries are using 16-byte aligned addresses with SifWriteBackDCache too.

Phantasy Star Generation 1 doesn't seem to have the same problem, however. Disabling the cache didn't make a difference.

My bad, recently I've very limited time for reading and keeping up what is going on.

The game does work fine from USB & HDD, with no modes required too. Why not try the latest commit, once it's all merged in?
 
Last edited:
That's a very good question. I didn't find a difference between it and the other the 2 releases, so I don't actually know why it worked, if it actually does.

There is a possibility that it was a bug caused by the developers upgrading their SDK. The Japanese release was made with release 1.4.4, while the European & US releases were made with release 1.5).
Around that time, there was a transition from 16-byte alignment to 64-byte (writing back the D-Cache became more favourable and/or the risks associated with mixing cached & uncached accesses became more evident). I think that was release 1.6 though.

Okay, I shall exclude the NTSC-J release. Thanks for your input.

I never dig in deeper except of searching for game version:
http://redump.org/discs/quicksearch/ridge-racer-v/sort/system/.
PAL & NTSC-U/C has got ver 1.10, NTSC-J 1.00.
Thanks for adding more info about differences between versions.

The game does work fine from USB & HDD, with no modes required too. Why not try the latest commit, once it's all merged in?

Will try it, this game currently (OPL 1266) do not needs\required any modes only for USB, for HDD it requires mode 2.
Do not work through SMB.
When new changes will be merged, I'll try it, thanks.
 
Why not try the latest commit, once it's all merged in?

I've tried Ridge Racer V and there is something missing in PAL (SCES_500.00) version.
I mean, currently it works only through HDD.
I cannot pass 1st loading screen through USB & SMB.

SLUS_200.02 seems to work fine through USB.
I haven't tried this version through SMB & HDD.

SLPS_200.01 works through USB.
Through SMB it needs in my config mode 2
or every 10-15 sec I'm getting short stuttering in intro or in menu (it was only a quick test).
I haven't tested this version through HDD.

Shadow Man: 2econd Coming (SLES_504.46) seems to work through USB & SMB,
however I cannot boot this game through HDD.
I'm getting BSOD after debug colors.

Ultimate Pro Pinball (SLES_535.08) seems to work without any modes through USB & SMB,
there is stuttering in intro FMV credits (especially through USB).
Through HDD I'm getting BSOD after debug colors, even with\without mode 2.

zastanawia.gif

Ultimate Pro Pinball worked though USB & HDD (with mode 2).
Now it works through USB & SMB (without any compatibility modes).
 
Last edited:
I've tried Ridge Racer V and there is something missing in PAL (SCES_500.00) version.
I mean, currently it works only through HDD.
I cannot pass 1st loading screen through USB & SMB.

SLUS_200.02 seems to work fine through USB.
I haven't tried this version through SMB & HDD.

SLPS_200.01 works through USB.
Through SMB it needs in my config mode 2
or every 10-15 sec I'm getting short stuttering in intro or in menu (it was only a quick test).
I haven't tested this version through HDD.

Shadow Man: 2econd Coming (SLES_504.46) seems to work through USB & SMB,
however I cannot boot this game through HDD.
I'm getting BSOD after debug colors.

Ultimate Pro Pinball (SLES_535.08) seems to work without any modes through USB & SMB,
there is stuttering in intro FMV credits (especially through USB).
Through HDD I'm getting BSOD after debug colors, even with\without mode 2.

zastanawia.gif

Ultimate Pro Pinball worked though USB & HDD (with mode 2).
Now it works through USB & SMB (without any compatibility modes).
You tried all this with the latest r1277?

And Shadow Man: 2econd Coming through HDD now is broken in this latest r1277?

Best regards.
 
Yes i confirm also that the game Shadow Man: 2econd Coming not works now
in the r1277 through internal HDD, tested PAL and NTSC-U versions, BSOD.

Best regards.
 
Hm... Would adding CLEARSPU (to FMCB's Loader/Payload) before executing an ELF from the 'hacked OSDSYS' possibly resolve some of the issues, most notably 'coldboot-issues'?
 
I've tried Ridge Racer V and there is something missing in PAL (SCES_500.00) version.
I mean, currently it works only through HDD.
I cannot pass 1st loading screen through USB & SMB.

SLUS_200.02 seems to work fine through USB.
I haven't tried this version through SMB & HDD.

SLPS_200.01 works through USB.
Through SMB it needs in my config mode 2
or every 10-15 sec I'm getting short stuttering in intro or in menu (it was only a quick test).
I haven't tested this version through HDD.

Shadow Man: 2econd Coming (SLES_504.46) seems to work through USB & SMB,
however I cannot boot this game through HDD.
I'm getting BSOD after debug colors.

Ultimate Pro Pinball (SLES_535.08) seems to work without any modes through USB & SMB,
there is stuttering in intro FMV credits (especially through USB).
Through HDD I'm getting BSOD after debug colors, even with\without mode 2.

zastanawia.gif

Ultimate Pro Pinball worked though USB & HDD (with mode 2).
Now it works through USB & SMB (without any compatibility modes).

Made some tests with r1277 from SMB, with Ps2 slim (75004):

RRV [SLUS_200.02] with no MODEs play fine from SMB (no stutter). No need of MODE 2 (if I enable it, I get the BSOD at boot). The only thing that doesn't convince me is the audio quality. i think I'll try it with ESR to make sure.
@sp193 I confirm that IGR doesn't work, as always, with this game (or at least the USA version).

I noticed that IGR (both, normal and IGR-poweroff) from SMB doesn't work right for most games (with Ace Combat using the IGR-power-off just freeze the screen, same with Shadow man. Tried IGR with Ultimate pro Pinball and BSOD...). Btw I don't know if it's a normal known behavior, I'm not a SMB player (I'm using it only now just for testing).
But it's not a real problem with a Ps2 slim.

Shadow Man (USA) works fine through SMB.

Ultimate Pro Pinball (PAL) works fine from SMB (the stuttering in intro LOGO is barely noticeable, just at the end of the first Logo. It was more noticeable before).

Half Life Now works fine, even booting the OSDSYS (Ps2 Logo disabled) :encouragement: IGR works fine with this game.
 
Last edited:
I have adjusted the padhook to support SDK release <1.6.0, so IGR should now work on early games.

I have rolled back the change that replaces the built-in SPU reset code with CLEARSPU as the old problem with CLEARSPU has come back to bug me. Now I understand what's happening: CLEARSPU will register an interrupt handler for the SPU, which will jump to a another callback. However, the callback is never set, so it jumps to 0x00000000.
I don't know what this means. But this weird quirk seems to be around in CLEARSPU in all ROMs. :eek:
It might have been a feature leftover from debugging or is incomplete. Perhaps under normal circumstances, it will never be a problem because the SPU2 is not doing anything.

I did try booting the Ultimate Pro Pinball & Shadow Man: 2econd Coming (NTSC-U/C & PAL) from my HDD unit, and they work with no modes. I don't know what this means. o_O

Here's the ELF that I used, in case something weird is happening with the ps2sdk: https://www.sendspace.com/file/rnppvs
I haven't actually tried any of these games on a CEX PS2, which has a HDD. My fat PS2s are not connected at the moment.

I've tried Ridge Racer V and there is something missing in PAL (SCES_500.00) version.
I mean, currently it works only through HDD.
I cannot pass 1st loading screen through USB & SMB.

I entered it as SLES_500.00. :oops:
This has been corrected. Thanks.

Hm... Would adding CLEARSPU (to FMCB's Loader/Payload) before executing an ELF from the 'hacked OSDSYS' possibly resolve some of the issues, most notably 'coldboot-issues'?

It's a feature of FMCB, since v1.90. It does not seem to clear the digital effect settings.
The new patch should already take care of all games with the same mistake as in Half Life.

The only thing that doesn't convince me is the audio
quality. i think I'll try it with ESR to make sure.

I don't think it's really possible to make it exactly the same. SMB is quite heavy.
At least because our IOP is like a PC from 1989 lol.

@sp193 I confirm that IGR doesn't work, as always, with this game (or at least the USA version).

It wasn't supported because there was no code for such early versions of libpad.

I noticed that IGR (both, normal and IGR-poweroff) from SMB doesn't work right for most games (with Ace Combat using the IGR-power-off just freeze the screen, same with Shadow man. Tried IGR with Ultimate pro Pinball and BSOD...).

Which colour was it stuck at? You need to not disable debug colours, to see the coloured screens.
 
I don't think it's really possible to make it exactly the same. SMB is quite heavy.
At least because our IOP is like a PC from 1989 lol.


Indeed, the menù music is a lot "speckled" from SMB. From internal HDD is almost perfect (I can hear the issue once every while with r1277). MODE 1 or MODE 2 don't make differences.


It wasn't supported because there was no code for such early versions of libpad.

I'll try with the build you linked here, thank you.



Which colour was it stuck at? You need to not disable debug colours, to see the coloured screens.

I wasn't booting the game. When playing Ace Combat, I pressed L1+L2+R1+R2+L3+R3 combination and the image freezed on screen (I then just reset the slim Ps2), same with Shadow Man 2nd coming.
With Ultimate Pro Pinball I performed the "normal" IGR (L1+L2+R1+R2+select+start) and I got the BSOD.
 
I wasn't booting the game. When playing Ace Combat, I pressed L1+L2+R1+R2+L3+R3 combination and the image freezed on screen (I then just reset the slim Ps2), same with Shadow Man 2nd coming.
With Ultimate Pro Pinball I performed the "normal" IGR (L1+L2+R1+R2+select+start) and I got the BSOD.

IGR has coloured debug screens as well. Since the colour is drawn as the background, it sometimes appears as a border around the (last) image drawn by the game.
 
IGR has coloured debug screens as well. Since the colour is drawn as the background, it sometimes appears as a border around the (last) image drawn by the game.

Anyway with the build you linked IGR perfectly works with all games I tried from SMB!!

It's even faster loading my ETH game list :D

Strangely, first try I booted it, I launch Ace Combat and got the BSOD, but it never happened anymnore. Maybe it was a occasional problem related to the connection...
 

Similar threads

Back
Top