OPL (Open PS2 Loader)

PS2 Open PS2 Loader v1.1.0

can someone else please confirm that new APPS method dont work with USB?
HDD and SMB are ok!

----

I will test if APPS supports setups like this

title=uLE kHn - subfolder
boot=\test\BOOT.ELF

BOOT.ELF is in "test" folder

EDIT: Yeah it does :)
 
  • Like
Reactions: TnA
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.
Poorer performance (even if only at the logo) should never be an option.
 
I have changed the game list cache option to only affect HDD game list caching, since the SMB & USB game list caching feature is different and works a lot more seamlessly. So to reflect the new behaviour of the the game list cache option, I changed the "Cache Game List" to "Cache Game List (HDD)".

Well i tested, and it didnt changed. The only way to make the games see the network adaptor is using OPL 0.7
Sure, my bad.

-Delta Force Black Hawk Down
-Delta Force Black Hawk Down Team Sabre
-Rogue Trooper

Need for Speed Underground 2 might be in that list too, but since it isnt playable online anymore, I didn't test.

Thanks. The problem was with the return value of the faked module loading.
So until the new commits are merged, you can play with this: https://www.sendspace.com/file/sv17dg

EDIT: replaced file.

Not sure if any of the improvement will have any gain for OPLs purpose. Here's a link to a overview of some of them.
https://blogs.technet.microsoft.com...of-the-main-remote-file-protocol-for-windows/

I see, thanks.
Hence by their definition of being less "chatty", we will not really benefit from having a simpler protocol because we were always using a subset of whatever they offered for CIFS/SMB 1.0.
But it's great that they've gotten rid of the hundreds of commands. Some of which were deprecated as well.

Well, it's a shame that it is only ver 1.0.



For most of the time I'm using Win XP for old games, some PS2 software & for sharing files through SMB for OPL.

If at least Win 7 can support SMB 2.0... well maybe it's time to upgrade OS?!

I'm a little surprised that you could use Windows XP though. I used to use it until I replaced my PC in 2010 with a Core2Duo, but found that Windows XP was giving some lag as I quickly went through my folders...
Then it eventually had very poor support for new hardware (including >4GB RAM, unless you use the x64 edition, which was poorly supported for reasons). But it was a great OS, if not EOL'ed.

We'll still support SMB 1.0. At least, I see no reason to remove support for it. We might have NAS units that do not support SMB 2.0.

Another game that is broken since some time is Super Dragon Ball Z I've the USA version. I had it with MODE 2 from iHDD (I don't remember if it was necessary for the game to boot or just to work better). Now I get BSOD at the boot.

Same problem with Jap version of the game: http://www.ps2-home.com/forum/viewtopic.php?p=35395#p35395

according on @oga tests it got broken on DB_1330, it works up to DB_1313. So the problem should be on some changes between ifcaro revs 1179 and 1192

It's been pure luck that the game would even work on OPL.

OPL doesn't emulate interrupts with the device's interrupt handler. It's because not all devices we use, have an interrupt handler that can be used with the application, which is OPL's CDVDMAN module. So we emulate interrupts separately, with SetAlarm(). By the documentation of SetAlarm(), we can only get an interrupt callback run with a delay of at least 100us. Although the IOP is not very fast, approximately 3686 instructions can be executed in 100us.
For example, what seems to happen in Super Dragon Ball Z's ARKD_DVD.IRX:
  1. User callback is registered.
  2. sceCdSearch() is used to locate the TOC file, which will internally call sceCdRead().
  3. sceCdRead() is called after WaitSema() is called.
  4. Wait for the CD/DVD drive to complete reading with WaitSema, but the callback from the last sceCdRead() call causes the semaphore to be signalled prematurely.
Other games may be affected.
There may be additional slowdowns in other games, due to the CD/DVD drive's status always being held back by 100us (or more, if Accurate Reads mode is enabled). But I think this should be the more correct behaviour.
PS2ESDL also had this design, from what I remember.

can someone else please confirm that new APPS method dont work with USB?
HDD and SMB are ok!

It should be working.

On a side note, I don't know if anybody knows this, but this design was also made so that we can use themes with APPS.
 
Last edited:
I'm a little surprised that you could use Windows XP though. I used to use it until I replaced my PC in 2010 with a Core2Duo, but found that Windows XP was giving some lag as I quickly went through my folders...
Then it eventually had very poor support for new hardware (including >4GB RAM, unless you use the x64 edition, which was poorly supported for reasons). But it was a great OS, if not EOL'ed.

We'll still support SMB 1.0. At least, I see no reason to remove support for it. We might have NAS units that do not support SMB 2.0.

My AM3 motherboard, graphic\sound card has got pretty good support for that OS.
I can use VirtualBox, etc...
I rally do not like Win 10.
Win 7 is currently my best\suitable option.
Max SMB version that this OS can have is 2.0?

If you've in plan to still support SMB 1.0... hmm.
Does adding support for SMB 2\3 will not "extend" ELF size drastically?
 
Thanks. The problem was with the return value of the faked module loading.
So until the new commits are merged, you can play with this: https://www.sendspace.com/file/sv17dg
Hi thanks for the new build, i tested it soon as i got home and here are the results

OPNPS2LD-76d393e

UPDATE 1: I Will test soon and I will update the post

UPDATE 2:
-Rogue Trooper (working)
-Metal Gear Solid 3 - Subsistence (working)
-Delta Force Black Hawk Down Team Sabre (working)

EDIT: replaced file.
OPNPS2LD-aad402c

-Delta Force Black Hawk Down Team Sabre = Network Adapter is not connected
-SOCOM II U.S. Navy SEALs = Network Adapter is not connected (it worked in previous OPL)
-Metal Gear Solid 3: Subsistence = Network Adapter is not connected (it worked in previous OPL)
-Rogue Trooper = Network Adapter is not connected

It should be working.
It isn't, at least for me. If i connect my FAT32 HDD to PS2 USB, game list is load, but nothing appears in APPS page, however, if I use the same HDD in SMB mode, APPS are loaded.
 
Last edited:
Hi thanks for the new build, i tested it soon as i got home and here are the results

OPNPS2LD-76d393e

Thanks.
I was not sure if the ReferModuleStatus hook was required, so I removed it from the newer file. I had concerns that it could affect games that somehow needed mode 8. But since we need it, some compromise has to be reached.

Do you have NFS Underground 2 installed? I remember this was one game that needed mode 8. If you can, please try playing this game without mode 8, with this earlier version.
But I remember it would not boot at all without mode 8.
 
Last edited:
@sp193: What's the deal with Super Dragon Ball Z (and possibly others, as you've mentioned in that earlier post)? Does it mean this whole interrupt handler problem can't be solved?
 
Do you have NFS Underground 2 installed? I remember this was one game that needed mode 8. If you can, please try playing this game without mode 8, with this earlier version.
But I remember it would not boot at all without mode 8.
I installed and tested it. It works fine, i could even connect to internet, authenticate DNAS and reach EA login screen.

I was searching in compability lists of OPL games that require mode 8, so far i only spotted
NameCodeMediaLauncherDeviceModes
Ring of RedSLUS_201.45CDOPL v0.9.1HDD1, 2, 3, 6, 8
wich works fine without any modes.

NFSU2 with mode 6 req. is listed on PS2-Home compability list

Its seem Jak X Combat Racing is broken now. Lots/loop of debug colors, it gets stuck in blue screen. HDD and USB. In aad402c it boots, but no network. Jak X isnt listed anywhere requiring mode 8.

Jak X also dont boot in OPL 0.7 over HDD (black screen),
 
Last edited:
This whole odyssey regarding RRV... What's even the current status for that? I remember the game working perfectly via HDD with Mode 6 and now I've seen something about lowered audio quality, stuttering and crashes. It seems like all of that has popped out because of attempts to force it to work via USB. We can't cripple a game's performance like that. The bandwidth just isn't there and there's no point trying to bend reality here.

I hope RRV works like from the retail disc now, at least through HDD. It's a wonderful racing game.
 
Last edited:
Win 7 is currently my best\suitable option.

I'm using Windows 7 too.

Max SMB version that this OS can have is 2.0?

It's 2.1.
But older doesn't mean it's worse. They've kept SMB 1.0 (and CIFS) around for a really, really long time.

If you've in plan to still support SMB 1.0... hmm.
Does adding support for SMB 2\3 will not "extend" ELF size drastically?

Maybe it'll add another 100KB? That'll be before packing.
But I cannot please everybody lol. There will be those that feel that SMB is now too difficult to set up, with all the hurdles and so on. And those that want to stay with Windows XP.

@sp193: What's the deal with Super Dragon Ball Z (and possibly others, as you've mentioned in that earlier post)? Does it mean this whole interrupt handler problem can't be solved?

There is a fix to OPL, to get that game working regularly. I wrote the post to explain what it was about.
The Jak and Daxter game can already be played, but I dug into it so that we can get an understanding of why this game needs mode 3+6. Usually, this is a sign that the game overwrites OPL.

I installed and tested it. It works fine, i could even connect to internet, authenticate DNAS and reach EA login screen.

That's strange...
I went back in time to find the commit which had mode 8 introduced, and it was for Need for Speed: Underground 2. I remember that it needed this setting.

Since there's no game that needs mode 8 anymore, I think we can deprecate & remove the option.

I was searching in compability lists of OPL games that require mode 8, so far i only spotted
NameCodeMediaLauncherDeviceModes
Ring of RedSLUS_201.45CDOPL v0.9.1HDD1, 2, 3, 6, 8
wich works fine without any modes.

I think that report was a case of the user enabling all modes, just because he could. This game was made with SDK 2.1, which had no support for the network adaptor.

Its seem Jak X Combat Racing is broken now. Lots/loop of debug colors, it gets stuck in blue screen. HDD and USB. In aad402c it boots, but no network. Jak X isnt listed anywhere requiring mode 8.

By the description of the old Jak X patch, it has got to do with the anti-HDLoader protection. I remember it would try to unload CDVDFSV. And if it fails, it'll quit.
The changes to the module hook must have caused this.

This whole odyssey regarding RRV... What's even the current status for that? I remember the game working perfectly via HDD with Mode 6 and now I've seen something about lowered audio quality, stuttering and crashes.

It works as it always does, but with no compatibility modes required.

It seems like all of that has popped out because of attempts to force it to work via USB. We can't cripple a game's performance like that. The bandwidth just isn't there and there's no point trying to bend reality here.

It wasn't to cripple performance and neither was there a problem with bandwidth...
If I might say, the game doesn't have synchronization problems.

The code was changed so that it will not process partially-read data. It was to work around the bug, which we cannot contain. If you disabled the EE cache, the game will work with no problems.
If it's a cache coherency problem, then the only easy way to fix it is to prevent it, by aligning all buffers properly before compiling the game. But that's now 19 years too late.

Such a bug doesn't disappear due to speed. It depends on which cache lines get dirtied, evicted and/or flushed, which is indirectly influenced by data locality. We have no controls for debugging such an issue either.

Since the earlier Japanese version seems to have no such issue and the game seemed to only have minor revisions in code, the glitch might have materialized when they upgraded their SDK from 1.4.4 to 1.5, causing a shift in the locality of data.

I was also told that it can crash when booted from the HDD as well, hence why I was considering applying the patch in all cases.
But because people nitpicked and it only happened once or something, so I just closed both eyes.
 
It wasn't to cripple performance and neither was there a problem with bandwidth...
The intro was stuttering via USB and/or SMB, IIRC. @jolek tried Mode 2 and it removed the stuttering, but caused the game to crash later on.
If it's a cache coherency problem, then the only easy way to fix it is to prevent it, by aligning all buffers properly before compiling the game. But that's now 19 years too late.
Like I said from the start, it's wonderful if programmers as great as you can actually make patches for PS2 games, BUT we can't assume (and some here do) that everything can be patched. Many of old console games have very weird code and sometimes it's there for obscure reasons (often something to do with performance) which only the original programmers understand. Don't sweat it, man. Sometimes a workaround is the only way.
 
Last edited:
The intro was stuttering via USB and SMB, IIRC. @jolektried Mode 2 and it removed the stuttering, but caused the game to crash later on.

I've only a problem with stuttering Intro and in main menu through SMB.
With Mode 2 through SMB everything is fine in my config.

It's not working for Peppe90 when he enables mode 2 through SMB,
causing in his config game to crash after "Press start button" page.

Peppe90 config:
http://www.psx-place.com/threads/open-ps2-loader-v0-9-3.13415/page-21#post-154662.

He do not needs any modes through SMB with this game.

Namco credit intro was stuttering through HDD,
but workaround for this device has been deleted, so for now everything is fine.
 
Last edited:
Namco credit intro was stuttering through HDD,
but workaround for this device has been deleted, so for now everything is fine.
Thank God. It would probably cause performance issues in-game as well.

RRV is actually a very interesting PS2 game, BTW. I recommend watching the DF Retro episode about this game. It has very advanced graphics for an early PS2 title and strives for a smooth 60 FPS gameplay. There was a lot of optimization work on Namco's side to make it happen.
 
Commit 1fb7445: OPNPS2LD-1fb7445.ELF
Branch: https://github.com/sp193/Open-PS2-Loader/tree/read-callback-sync-fix

Changes:
  • Changed EE core starting free memory range from 0x00088000 to 0x00084000.
  • Games that have online play functions should now detect dev9 properly, when booted via HDD. Nothing will change for SMB users because we cannot share the SMAP with the game.
  • CDVDMAN will no longer be changed to "dev9" for HDD mode, as the module hook will spoof the existence of the dev9 module instead.
  • Removed mode 8 since no game needs it.
  • Added The Fast and the Furious (SLUS-21449 & SLES-54483) to the list for the Eutechnyx Ltd patch.

Regarding the change of the EE core load address from 0x00088000 to 0x00084000: We've been using 0x00088000 because HDLoader did, so OPL did that since the dawn of time.
I remember that I could go lower with PS2ESDL, but chose not to.

Usually, the free memory begins at 0x00082000, where the ROM EELOAD is loaded to.
Now that we know that the alarm patch gets loaded to 0x00082000 and Sony officially used 0x00084000 as the new loading address for the HDD Browser's EELOAD module (to cater for the alarm patch within the HDD Browser) and even Jak and Daxter starts using memory from 0x00084000, we can try and explore the option of annexing the memory between 0x00084000-0x00088000.

On a side note, Ring of Red can boot with no modes required.

It isn't, at least for me. If i connect my FAT32 HDD to PS2 USB, game list is load, but nothing appears in APPS page, however, if I use the same HDD in SMB mode, APPS are loaded.

I have confirmed again that it is working. Not sure what's different for you. I don't use a prefix.
If you use a prefix, I hope it isn't too many levels deep because the APPS feature currently has a maximum prefix length of 64.

It's not working for Peppe90 when he enables mode 2 through SMB,
causing in his config game to crash after "Press start button" page.

Which is also where it crashes for everybody else who uses USB.

Thank God. It would probably cause performance issues in-game as well.

That was the point behind the whole discussion: it seemed to only affect the logo. The rest of the game seemed to work as usual.
But in case it doesn't actually, the patch isn't applied for HDD and SMB.
 
Last edited:
That was the point behind the whole discussion: it seemed to only affect the logo. The rest of the game seemed to work as usual.
Seemed to. Nobody actually did frame rate analysis for the game (mainly because it requires an expansive set of devices). I might be paranoid ever since that Onimusha 2 dealio, when the game had crippled performance and most people assumed it's OK, but better safe than sorry.
 
Jak X is working again through USB and HDD! Network is working too!

I have confirmed again that it is working. Not sure what's different for you. I don't use a prefix.
If you use a prefix, I hope it isn't too many levels deep because the APPS feature currently has a maximum prefix length of 64.
my prefixes are "Games" both ETH and USB. So i am within limits.
 
Which is also where it crashes for everybody else who uses USB.

Without workaround, or with workaround with mode 2 for USB?

Added The Fast and the Furious (SLUS-21449 & SLES-54483) to the list for the Eutechnyx Ltd patch.

After super-ultra fast test I've notice that with recent patch, I can pass this screen:
Screenshot_9.jpg

without cold boot with Commit 1fb7445 (OPNPS2LD-1fb7445.ELF) at least with SLES_544.83 through HDD.

ThAnKs!
hurra.gif
 
The Fast and The furious works through USB!
Twisted Metal Black Online (SCES 51480 AND SCUS 97196) are stuck in orange screen.
 

Similar threads

Back
Top