OPL (Open PS2 Loader)

PS2 Open PS2 Loader v1.1.0

The Fast and The furious works through USB!
Twisted Metal Black Online (SCES 51480 AND SCUS 97196) are stuck in orange screen.
I do not remember exactly, but also Twisted Metal: Black (SCES_503.60 & SCUS_971.01) through all devices
have BSOD after exiting to menu from race:
http://www.psx-place.com/threads/open-ps2-loader-game-bug-reports.19401/page-3#post-139686.

However I do not tested this game with commit 1fb7445 (OPNPS2LD-1fb7445.ELF).

I remember this games worked perfectly for me (with OPL 0.9.3). I'll check it.
 
There is a report of Twisted Metal Black working fine through HDD on 0.9.1, but failing via SMB and USB.
 
Replaced SPU2 reset code with resetspu module. Moved DMA reset code after SSBUS access to SPU2 is enabled.
Enable SPU2 interrupts after resetting the SPU2, to avoid causing a crash when an interrupt is asserted, when CLEARSPU is loaded by the OSDSYS.

As for WHY, I don't know. I just noticed that loading OSDSND (aka rspu2drv, the tentative sound driver) would magically prevent CLEARSPU from crashing and it enables the SPU2 interrupts, which is something that libsd doesn't do (unless you call sceSdInit). It might be that the SPU2 is no longer in a state for asserting an interrupt.
These commits certainly have a lot of magic to them. :eek:

Module hook: set module status to RESIDENT END, REMOVABLE END or FAREWELL END.

Download: https://www.sendspace.com/file/95x8v0
Branch: https://github.com/sp193/Open-PS2-Loader/tree/gamepatch-fix
Great(!!!) track down on the SPU2/Non-coldboot-issue!

But I told you, I would remember you if it is related to init!

I even mentioned that:
  • the 'different state' could be related to a 'setting in a register';
  • is probably related to 'init';
  • how PS2Logo might make a call which de-inits it;
  • how some games might be incapable to reset it probably&properly
  • (and thus it only happens in a few [likely old] games) and so on...
I pointed out that there possibly is an init-issue, over a year ago on psx-scene.com (and here and Ps2-home.com and possibly other places
[during the last months]) and I also asked if I should remind you (like I also did here a few weeks or months ago)! ;)


So... I ought to say (and asked/said back then, that I will use that sentence): 'Sorry, to say but... I told you so.', do you remember?
I can even link and quote myself, if that's necessary... :)



Now I need to find the FMCB-Post, because IMO the issue is CAUSED by FMCB's way of ELF-Loading and does NOT fix the issues of external apps, but an issue the structure of FMCB/FHDB's ELF-Loading has inherent when loading an ELF through the hacked OSDSYS, a.k.a./tl;dr: 'It is an issue of FMCB/FHDB and introduced by it!'

If it were not, the ELFs would run exactly like on a Button- or Auto-Launch!


THE 'HACKED OSDSYS' ISSUES are IMO caused by not (or not properly) de-initializing the SPU2 (or something else, but it seems to point to it), when an ELF is started through the 'hacked OSDSYS', which is no issue on discs because they are properly disabled there via the OSDSYS's own function (i.e. starting PS2-Games through PS2Logo and others via other means...)!


That means, that the issue is inherent and caused by FMCB/FHDB and NOT the ELFs afterwards!


De-initializing the SPU2 before an ELF is started and when the OSDSYS is terminated, is the proper fix IMO, instead of implementation of a de-init in every app, to fix FMCB/FHDB's fault! Yes, FAULT/ISSUE/ERROR IN FMCB/FHDB, not the apps themselves!


I really like ALL of your implementations, ideas, and structures, but I stand by the FACT that this is an issue caused and inherent by and in the FMCB/FHDB-Loader (specifically how ELFs are launched from the 'hacked OSDSYS')!

That's the only thing I have to tell you that I think you are wrong at!
 
Last edited:
How do you know that? You assumed that there is a way to do deinitialization, but there is no documented procedure for this.
As a matter of fact, FMCB does call the RPC deinitialization function of OSDSYS (with no effect in the matter discussed here). But even so, not all versions of OSDSYS have such a capability.
So if OSDSYS does not have the capabilities to solve this problem to begin with, how is this FMCB's problem?

Based on the information and knowledge I have, the best solution is to reset that part of the SPU2 before the game boots. Rightfully, there would be no problem if the SPU2 was initialized properly.
If you think it should be done differently, go do your research and present your facts. Then we shall discuss.

We've got hundreds of games, but only a handful (maybe even less than 10) have such an issue.
 
Regarding IGR. Tekken 5 (SLUS 21059) works without issues for me. The only game I have tested that will not work with IGR is Yakuza 2 (SLUS 21769).
 
@sp193

Tried Twisted Metal: Head-On: Extra Twisted Edition [SCUS-97621] I set it long time ago with OPL 0.9.3 I list the differences I noticed (iHDD):

- OPL 0.9.3 There's a little video glitch at the beginning of the intro (just the first few seconds), the more the DMA speed the more is noticeable (some stuttering too on higher UDMA, but always just at the beginning).
I had the game set with MODE 2 ON (otherwise you can't hear the vehicle engines sound).

- OPNPS2LD-1fb7445 Same behavior about the intro. Btw to be able to hear the engine sound in game, MODE 2 isn't enough.
I need MODE 1+2 (dramatically increasing loading times… It works fine anyway).
 
How do you know that?
What exactly?
  • That the way FMCB starts an ELF from the OSDSYS without 'clearing' the 'state' of the SPU2 is at fault?
  • That it would be correct to implement the 'clearing' of the 'state' of the SPU2 once the OSDSYS is terminated?
  • That launching ELFs from OSDSYS, causes ELFs (beside games started from i.e. OPL) to react and work differently, due to a different (initial) 'state' of the hardware?
Please be more specific!

You assumed that there is a way to do deinitialization, but there is no documented procedure for this.
I STATED that there MUST be 'something', which causes apps and games to start&work normally - even when the OSDSYS is invoked - if they are not having the same issues when they are started normally from disc like a PS2-game!

This invokes PS2Logo, which possibly makes SOMETHING which causes the PS2's 'state' to become 'more normal' again, because the same problems/coldboot-issues vanish, if even an old OPL-Version is started via disc, but it won't work starting the same ELF from the hacked OSDSYS - except if PS2Logo has been turned on!

As a matter of fact, FMCB does call the RPC deinitialization function of OSDSYS (with no effect in the matter discussed here).
Then there is something missing or not working as intended, because it is also a matter of fact that apps can behave differently depending on the way they are started!

This is most obvious in starting apps from the OSDSYS (from FMCB/FHDB's 'list') and does not happen when you start these ELFs via either disc or auto-/button-launch!

This does happen on a reboot-button-launch or reboot-auto-launch as well, because the SPU2 (or whatever else causes these issues) was never 'cleared' or 'set to the previous state' - after the OSDSYS invoked it -, to begin with!

So you were right! This will probably also happen on an IGR,... [if it doesn't clear the state the game left]
(but MIGHT only affect jumping from certain games to others, depending on the way these games have it initialized themselve, or which settings they use!)
To prevent that, IGR should also 'clear the state', IMO.

But even so, not all versions of OSDSYS have such a capability.
It doesn't need to!
Obviously Programms are USUALLY meant to be started via disc (except for KELFs) and thus it could be 'PS2Logo' or something else which is called/executed during the start of a disc!

So if OSDSYS does not have the capabilities to solve this problem to begin with, how is this FMCB's problem?
First off... The OSDSYS OBVIOUSLY does 'SOMETHING', which causes the PS2 to be in a 'state' that it doesn't have the previously mentioned issues like Sound-Stutters in Half Life, if OPL is simply started from disc (even after the hacked OSDSYS was running)!

Starting PS2Logo before also 'fixed'/'worked around' the issue, so PS2Logo also OBVIOUSLY does either something itself or one of the things it calls does something, which causes the PS2 to be in a 'cleaner state'!


Second... The issue is triggered by not terminating the OSDSYS on starting an ELF via FMCB's list/hacked OSDSYS... All other methods do NOT cause these issues.
  • Starting it/an app from disc through the hacked OSDSYS (invokes PS2Logo) works and causes the issues to disappear!
  • Not starting into the OSDSYS makes the issue disappear!
  • Activating 'PS2Logo' in OPL makes the issues disappear, even when the app was started through the hacked OSDSYS from the list and even on those older versions which do not include the newest fix to clear the SPU2's state, before a game is started!
All these things point to the OSDSYS having an issue when starting ELFs the FMCB-way and that invoking PS2Logo does in fact do something to the PS2's 'state', that makes all those related problems vanish/disappear!

Based on the information
Well, you might not know all the informations!
It would be a pretty ENORMOUS work, if you had read EVERY post which is or could be related to this issue and still pulled off so many updates, game-patches and etc. in that short time!

and knowledge I have,
I am not saying anything against your knowledge tho', haha... You're hacking the sh#% out of that console and on a quite broad spectrum of things as well!

the best solution is to reset that part of the SPU2 before the game boots.
Based on the information and knowledge I have, I've got to tell you that I THINK you are wrong on that one occasion!

When have I ever said anything against your stuff and implementations? Lol! I bet I am ONE OF those in the scene which 'hailed' you and your work (and still do) the most, especially because I like the structure and implementation of those! :)
You are pretty much the only one that I never pestered about 'implementation' because of that.


IMO, 'rightfully' it should reset that specific part not just before a game starts (but rather after an IGR), but before the app itself is started, thus by the 'app' which invokes the SPU2 to begin with, which in regard to the coldboot-issues IS FMCB/FHDB's way of not 'clearing the state', when an ELF is launched from the OSDSYS...

So how do I 'know' that?
EVERY of those tests I asked those people to do and where related to the issue + your debugging of the SPU2 being the cause for Half Life's issues, is pointing to this!

There is just no way to warrant, that ELFs would work different either when started from the OSDSYS or after a soft-reboot after the OSDSYS was started!
?
What do you mean by that?
It should atleast cause no problems, just because someone wants to start an ELF/App from the hacked OSDSYS...

Rightfully, there would be no problem if the SPU2 was initialized properly.
You mean in regards to the state before an app is started, or how the app initializes it?

Right!
Like I said! I SUPPOSE only some games suffer from problems and they are probably even old!
A newer lib might properly change the settings/state to be valid again, but old games might not change the setting if it is not '0' (i.e. empty), which would cause it to use the previous settings.

If you think it should be done differently, go do your research and present your facts. Then we shall discuss.
Well... I tryed to... Please also look at some tests @jolek and @Peppe90 have posted regarding this...

AFAIK it also does not solely affect OPL, but can affect various apps!

Maybe we should create a seperate thread about this issue!

We've got hundreds of games, but only a handful (maybe even less than 10) have such an issue.
Indeed, but afaik this is NOT limited to OPL!
 
Last edited:
@sp193

Tried Twisted Metal: Head-On: Extra Twisted Edition [SCUS-97621] I set it long time ago with OPL 0.9.3 I list the differences I noticed (iHDD):

- OPL 0.9.3 There's a little video glitch at the beginning of the intro (just the first few seconds), the more the DMA speed the more is noticeable (some stuttering too on higher UDMA, but always just at the beginning).
I had the game set with MODE 2 ON (otherwise you can't hear the vehicle engines sound).

- OPNPS2LD-1fb7445 Same behavior about the intro. Btw to be able to hear the engine sound in game, MODE 2 isn't enough.
I need MODE 1+2 (dramatically increasing loading times… It works fine anyway).

@sp193 Do you remember how MODE 1 worked on OPL 0.9.2?? I tried the game with it and just need MODE 1 to make the game to perfectly work (to solve the audio engine bug). However the thing that surprise me is that the loading time not get worse, it remains the same (I'm launching the game in UDMA 4).
 
  • Added The Fast and the Furious (SLUS-21449 & SLES-54483) to the patch list for the Eutechnyx Ltd patch.
  • Changes to CDVDMAN callback should be binding immediately.
  • Corrected return values of cdrom_devctl() and cdrom_ioctl2() function calls, added sceCdSync() where required.
  • IGR padhook: do not dereference SocketParam if it is NULL (it is optional).
Splinter Cell: Double Agent multiplayer mode itself seemed to have no problem booting with OPL, but the IGR padhook encounters a NULL pointer dereference problem if the libpad2 scePad2CreateSocket function was passed a NULL for the socket argument.

Twisted Metal Black: the PS2 becomes fully unresponsive, so I do not have any clue as to what actually happens and cannot debug this.

Twisted Metal Black Online: unable to replicate the problem. If you always get a failure to boot, check that your dump and installation are good.

Harvest Moon: A Wonderful Life: unable to replicate the problem.

***
Mode 1 was different in OPL v0.9.2. It was for changing the module storage location, partly because v0.9.2 had a much larger EE core. After variously changes, the use case was rendered obsolete and the compatibility mode was removed.
Neither should that have made a difference here.

What if you only used Accurate Reads today?
 
  • Added The Fast and the Furious (SLUS-21449 & SLES-54483) to the patch list for the Eutechnyx Ltd patch.
  • Changes to CDVDMAN callback should be binding immediately.
  • Corrected return values of cdrom_devctl() and cdrom_ioctl2() function calls, added sceCdSync() where required.
  • IGR padhook: do not dereference SocketParam if it is NULL (it is optional).
Splinter Cell: Double Agent multiplayer mode itself seemed to have no problem booting with OPL, but the IGR padhook encounters a NULL pointer dereference problem if the libpad2 scePad2CreateSocket function was passed a NULL for the socket argument.

Twisted Metal Black: the PS2 becomes fully unresponsive, so I do not have any clue as to what actually happens and cannot debug this.

Twisted Metal Black Online: unable to replicate the problem. If you always get a failure to boot, check that your dump and installation are good.

Harvest Moon: A Wonderful Life: unable to replicate the problem.

***
Mode 1 was different in OPL v0.9.2. It was for changing the module storage location, partly because v0.9.2 had a much larger EE core. After variously changes, the use case was rendered obsolete and the compatibility mode was removed.
Neither should that have made a difference here.

What if you only used Accurate Reads today?
is there have new beta elf download link for test?because it still pull request status in ifcaro
thanks
 
Regarding IGR. Tekken 5 (SLUS 21059) works without issues for me. The only game I have tested that will not work with IGR is Yakuza 2 (SLUS 21769).

Hmm, theoretically SLUS_210.59 & SCES_532.02 should have the same version 1.0:
http://redump.org/disc/413/,
http://redump.org/disc/7994/.

After triggering button combo I still can't neither IGR or PO* console with this game.
Tested on SCPH-77004 through USB.

PO* - Power Off.
 
Twisted Metal Black: the PS2 becomes fully unresponsive, so I do not have any clue as to what actually happens and cannot debug this.
There are interesting reports for this game working via HD Loader 0.8c:

Freezes if you quit out of a game. One person reports it works using hdl_dumb (check the box with dvd9)

Compatible: [Mode 2] Works perfect if you use hdl_dumb
Mode 2 is "disable DVD9 support". The game is not on a DVD9 disc, so it seems absurd this Mode 2 would fix it, but it does in HD Loader 0.8c, so I'm wondering if this isn't' about some obscure memory issue and picking Mode 2 in HDL 0.8c moves the memory around in a way which makes this game work by chance?
 
Last edited:
Twisted Metal Black Online: unable to replicate the problem. If you always get a failure to boot, check that your dump and installation are good.
Mind to check this video? My ISOs, like in OPL 0.9.3 boot normally in PCSX2. I will post a SHA1 of the two ISOs soon as I can!

Twisted Metal - Black Online (USA).iso
445732864 bytes (425 MiB)
SHA1 7FFE161D267D1A19659E0AA8EB354851681CEDDF

Twisted Metal - Black Online (Europe).iso
447035392 bytes (426 MiB)
SHA1 3E1CD6830C356D747A82DB3D4B9E84C4F74BA669

PS: USB MODE!
 
Last edited:
Mode 1 was different in OPL v0.9.2. It was for changing the module storage location, partly because v0.9.2 had a much larger EE core. After variously changes, the use case was rendered obsolete and the compatibility mode was removed.
Neither should that have made a difference here.

Thank you for this info :)

What if you only used Accurate Reads today?

@sp193

Tried Twisted Metal: Head-On: Extra Twisted Edition [SCUS-97621] I set it long time ago with OPL 0.9.3 I list the differences I noticed (iHDD):

- OPL 0.9.3 There's a little video glitch at the beginning of the intro (just the first few seconds), the more the DMA speed the more is noticeable (some stuttering too on higher UDMA, but always just at the beginning).
I had the game set with MODE 2 ON (otherwise you can't hear the vehicle engines sound).

- OPNPS2LD-1fb7445 Same behavior about the intro. Btw to be able to hear the engine sound in game, MODE 2 isn't enough.
I need MODE 1+2 (dramatically increasing loading times… It works fine anyway).

MODE 1, solve all game problems with only OPL 0.9.2

with OPL 0.9.3 it need MODE 2

On newer OPL it plays fine with MODE 1+2. Btw loading performance are better with OPL 0.9.2/0.9.3 ('cause you can play the game at full UDMA 4 speed, pratically eliminating loading times).

What about Super Dragon Ball Z it ìs possible to fix? (it's still broken on OPNPS2LD-1fb7445)
 
Regarding IGR. Tekken 5 (SLUS 21059) works without issues for me. The only game I have tested that will not work with IGR is Yakuza 2 (SLUS 21769).

From iHDD Tekken 5 [SCES_532.02] IGR doesn't work as usually. Both IGR combinations do nothing.

Playing Tekken 5 main game, you can't power-off the ps2, you have to hard-power-off it. However accessing Tekken arcades, it's possible to normally shut-down the Ps2, just tapping the reset button.

@sp193 There's a reset in OPL when accesing the tekken arcades elf?? I mean I'd be using same settings as when I pressed "Test" in OPL gaming options, or it will reload my saved settings once I switch to tekken arcades??
 
IGR padhook: do not dereference SocketParam if it is NULL (it is optional).
Was this supposed to fix Splinter Cell Double Agent multiplayer? I tested 6571f0d and the game still crashes.

-------
VMC bug

Some games, crash if using VMC when they're "Retrieving Your Network configuration file from memory card" this is more common in recent months. VMC works fine the rest of the game, though, just this part, when network configs are to be read from a VMC...

Some of these games are

Cold Winter video
Mortal Kombat Armageddon
Sniper Elite
Splinter Cell Double Agent

I remember Cold Winter and Sniper Elite working fine with VMC on older OPLs...

PS: USB and HDD MODE!
 
Last edited:
I think I found a bug with the apps menu.

I can get ulaunchelf to load by either:
1. Setting up the folder structure and title.cfg (this works on USB and SMB)
2. Making a conf_apps.cfg file on the memory card that points to the ulaunchelf file (works on USB but not on SMB)

The problem is that I need to use the old conf_apps.cfg file for popstarter, because the elf needs to be in the pops folder (it doesn't work if you put it in an apps folder with title.cfg).

Has anyone else had problems running apps from SMB with the current beta 1307?

I know I could just use the special version provided by PS2-Home for popstarter... but I really can't stand the skin that it comes with!! (sorry to whoever created it!) And I don't want to bloat it any more by using an external skin.
 
Making a conf_apps.cfg file on the memory card that points to the ulaunchelf file (works on USB but not on SMB)

Does it ever worked for SMB via conf_apps.cfg?
Also unfortunately from I remember "conf_apps.cfg" need to be copied into "mc?:/OPL".
I cannot be on mass, hdd0, smb, because it might not be loaded from other devices.

What path you used to make a shortcut to apps on SMB (smb:/APPS/)?

BTW: Is there is a possibility to load translation files from other devices than MC?
 

Similar threads

Back
Top