OPL (Open PS2 Loader)

PS2 Open PS2 Loader v1.1.0

I made a test with Half Life:

There's something about the FMCB hacked OSDSYS that remains in memory and could cause problems to certain games (or hopefully only to Half Life :D).
Maybe it's possible to modify FMCB in order to not leave something in memory when booting other programs (or at least OPL)?? Or otherwise, make OPL erasing all FMCB data at boot?? Or maybe I'm raving?? :chuncky:

Here what I actually done (always with Ps2 logo disabled [I've NTSC game with PAL console, so I can't use it even wanting]):

[-] Launched OPL without FMCB (Booted the Ps2 with a og Ps2 game inserted > cogswap > Ulaunchelf > OPL r1266). The game is perfect.

[-] Booted the Ps2 without game inserted, entered browse and configuration screens, then returned to the official OSDSYS main screen > inserted Ps2 game > cogswap > Ulaunchelf > OPL r1266. Game still perfect.

[-] Inserted a FMCB MC, cold booted the Ps2 to Ule > OPL. Game perfect (I tried different Ule versions, the newer from FMCB 1966, to make sure if some of them could cause problems).

[-] Booted the Ps2 to the FMCB OSDSYS > Ule > OPL. Usual audio problems.

Probably, somehow, the Ps2 logo overwrite that something bad, that the hacked OSDSYS leaves in memory (?)
 
Last edited:
  • Like
Reactions: TnA
Tried the USA game from USB with OPNPS2LD-RRV-US and it seems just perfect :encouragement:

So no lag at all? Hmm, I do hope this complicated mechanism they wrote, was really just for efficiency.
It seems like a good idea, but I just have no idea where the math is going wrong.

Yes in fact. RRV is one of those games that allow you to normal switch off the Ps2 even with MODE 6 OFF (but it noticeable that the HDD isn't gently powered off…).

o_O
What's this normal way to switch off a PS2? I meant to say that you should use the power-off button combo (L1+R1+L2+R2+L3+R3). Or you could use the reset button (the one at the front, not the AC switch at the back).
When IGR is enabled, pressing the reset button once will cause the PS2 to be shut down. Pressing it twice will cause IGR to boot the IGR boot ELF. Don't hold the reset button, as that will cause a forced shutdown (like your PC).

Yes, it remains turned on when playing from SMB (at least up to r1261, yet to try r1266).

I remember why now. It's because we don't have a command for putting the HDD in standby mode. So I changed HDD mode to put the disk in IDLE mode. Sony also does this.
After 21 minutes & 15s of no activity, it should enter standby mode and spin down.

At first, I was wondering if we should add a custom devctl() function call to be able to issue STANDBY IMMEDIATE, but then I realize that using the standby timer function should be already good enough - because what would happen if the user was to switch between games often? It'll be bad for the HDD.

The led should blink only when using the HDD?? Or it's related to the NA too? Btw it seems to blink only a few times when a game is starting. I'll check it with more attention.

Since you have HDD mode left on AUTO, we will close all files and flush all buffers within PFS, before issuing IDLE IMMEDIATE. So right before the OPL UI disappears, you might notice some activity (blinking).

After that, there should be no activity under SMB mode, because OPL will not have ATA code. If you notice quite a bit of activity, then it might be caused by the game checking for a HDD unit.

OPL r1266 can't list Ace Combat and State of Emergency, exactly as previous build, is commit ac5de9b3 integrated in r1266?? (I should try it with OPNPS2LD-RRV-US too??)

I don't know because I don't even know which r1266 is... :eek:
Git doesn't use revision numbers. And even if there was a way get them, they may differ between repositories. Due to what ps2-home did, their revision numbers will surely not match the ones here.

It was a commit made a few days ago.

Yes, if you are unsure as to what commits are what, you can check with that custom OPL build I provided for the RRV test. It is still a fully functional version of OPL.

No no, it's not the game design. However with r1266 the problem is gone, the game is perfect from SMB without enabling MODE 2, and even if I enable it, the game plays fine (don't freeze).
I'm testing with my Ps2 slim (75004) now, I'll try it with r1266 with the Fat Ps2 too, to be sure isn't the console making differences.

Maybe it's luck, you know. SMB is quite complex. Due to hardware restrictions, it's not difficult to make performance really substandard. Sometimes, my SCPH-39006's SCPH-10281 negotiates for weird things like 100Mbit Half-Duplex... or even 10Mbit.

Mode 2 should not make a difference for this game, IMO. Since it uses sceCdRead() from the EE, which will always be asynchronous, regardless of whether mode 2 is used or not. Hence mode 2 is useless for games like this.

the splinter cell double agent works with very very old opl 0.7 with game star sata but with newer opls like 9.2, 9.3, and opls bulids from ps2home doesn't work with gamestar only with orginal adapater with sata suppor or not

Have you tried a recent build? I tried to reach a compromise, to support users who had to use a compatible adaptor that isn't compatible with the DEV9 + ATAD updates.
But because there is no standard for these compatible adapters, not all adaptors were covered by the code for identifying a compatible adaptor.

maybe.
it's strange because with original adapter these games run well but in sata gamestar always go to black screen i tested with same hdd 2.5 1tb on this two adapters sony and gamestar. but stay here the report in hope some dev can make the splinter cell games run on gamestar

There are a few possibilities here:
  • OPL currently has some deficiency, causing the game to malfunction.
  • The game has a bug.
  • The network adaptor you use, is just unreliable.
Since the manufacturers of these compatible adaptors usually don't seem to make good adaptors, I regret to say that we have to take your complaint here less seriously. It's because we cannot rule out the possibility that the adaptor itself is just bad. It's not unheard of.

During the data gathering process for identifying a way to identify these compatible adaptors in some generic way, I noticed that some of these "GameStar" adaptors can have very different register contents. So there is a possibility that multiple teams have been flying their flags under the "GameStar" banner.

It's not strange at all, I found a lot of similar cases, also the opposite: i.e. I could boot State of Emergency with the Gamestar NA, but not with the OG NA (same HDD). Eventually this game has been patched by sp193 and now just work with every kind of configuration.

State of Emergency had no problem. The problem was with OPL.
Perhaps it worked because your adaptor caused some changes in execution within the game, causing the calls to sceCdStPause() and sceCdStResume() to be skipped.

That game too, worked with older OPL versions (with every config) and started having problems (on certain configurations) with newer OPL revs.

I would say it started happening, once the new streaming mechanism was added.

There's something about the FMCB hacked OSDSYS that remains in memory and could cause problems to certain games (or hopefully only to Half Life :D).

In the case of Half Life, I think it might be the SPU2. Software like the OSDSYS will load modules for controlling SPU2. Although I don't know (yet), which part of it might be the cause.
The question now is, how to deal with this? There is no documented procedure for dealing with this, as we're supposed to just load LIBSD and it should work.

Maybe it's possible to modify FMCB in order to not leave something in memory when booting other programs (or at least OPL)?? Or otherwise, make OPL erasing all FMCB data at boot?? Or maybe I'm raving?? :chuncky:

We erase all EE memory that can be erased (0x00082000 - end of memory), before booting the game. Whenever FMCB boots another ELF, it'll also erase all memory that can be erased.

But the PS2 has a lot of parts with memory. Not all were meant to be erased, but here we might be dealing with the game being affected by the hardware being left in some different state.

[-] Booted the Ps2 to the FMCB OSDSYS > Ule > OPL. Usual audio problems.

Thanks.
So it also affects FMCB? I always thought it only mattered with the HDD Browser.

The problem with your tests is that the browser will always boot PS2LOGO, which could very well be the reason why it works when the game is booted from a disc.
 
- Street racing sindycate [SLUS_205.82] First time I played it, it worked just perfectly, with no MODEs. Btw when I IGR it lost the ps2 video signal and freezed the console (I had to hard-power-off).

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.

Since the EE and IOP debuggers become inoperative, I can only hard-reset the console.
By the code in the kernel of the flash ROM, it should also be followed with this:
Code:
# Initialize GS ...
So somehow the EE has gotten stuck.

I have attempted to improve things by disabling the EE DMAC interrupts, which IGR somehow didn't disable. I also attempted to suspend all DMA channels (other than SIF0, SIF1 and SIF2), so that the GS cannot possibly hang due to invalid input from the GIF.
But no improvement was observed.

It is not impossible for the hardware to have entered some undefined state. I've been wondering about why the SIF can freeze up if we disable SIF0 and left the IOP trying to spam the EE across a disabled DMA channel. But if I remember right, the whole PS2 didn't hang. It's the EE that became uncontactable, but the IOP could still be accessed. It makes sense because the TOOL's PC communicates over the PIF, which is part of the IOP's bus (SSBUS). The SIF belongs to SBUS, which goes between the EE and IOP.

- Ultimate Pro Pinball [SLES_535.08] This game freezes my Ps2, BSOD at boot (Always need to hard-power off, even with MODE 6 ON).

If it doesn't work from SMB, perhaps it is due to memory constraints. It's working from the HDD unit, so the patch is working.
Anyway, if it didn't work, it used to crash while playing the opening video or at loading screens.
 
Last edited:
So no lag at all? Hmm, I do hope this complicated mechanism they wrote, was really just for efficiency.
It seems like a good idea, but I just have no idea where the math is going wrong.

No lag. It seems to me that the audio quality is not so great, but It can be just a matter of actual game's quality (it's the same quality from all devices).

...What's this normal way to switch off a PS2? I meant to say that you should use the power-off button combo (L1+R1+L2+R2+L3+R3). Or you could use the reset button (the one at the front, not the AC switch at the back).
When IGR is enabled, pressing the reset button once will cause the PS2 to be shut down. Pressing it twice will cause IGR to boot the IGR boot ELF. Don't hold the reset button, as that will cause a forced shutdown (like your PC).

Normal way for me is to just tap the Ps2 reset button once (har power-off is when I need to keep it pressed for about 4 secs).

RRV doesn't support IGR, so I can't use the power-off combo (L1+R1+L2+R2+L3+R3) either.

I simply enable MODE 6 and tap the reset button with RRV.
Anyway, what I was saying is that, even not supporting IGR, RRV allow you to shut-down the Ps2 just tapping the reset button, even if MODE 6 is OFF (as some other games do).

Most games that doesn't support IGR can't be powered-off just tapping the reset button, if MODE 6 is OFF (you need to hard-poweroff the Ps2).

In any case, it's better to set MODE 6 ON, 'cause the Ps2 is powered off in a more gentle way (the difference in the noise is really noticeable).


I remember why now. It's because we don't have a command for putting the HDD in standby mode. So I changed HDD mode to put the disk in IDLE mode. Sony also does this.
After 21 minutes & 15s of no activity, it should enter standby mode and spin down.

At first, I was wondering if we should add a custom devctl() function call to be able to issue STANDBY IMMEDIATE, but then I realize that using the standby timer function should be already good enough - because what would happen if the user was to switch between games often? It'll be bad for the HDD.

Well, the same principle can be applied to the USB too… It would be possible to expand the function of the "HDD spin-down" option to when playing from other devices too??
This would be perfect, i.e.:

- I want to test many games switching from USB/SMB/HDD, so I want the HDD to not spin-down. I set the value to 30 minutes (or directly to 0).
- I want to just play a game from USB/SMB (I set the HDD spin-down to 1 minute).

Or maybe the HDD spindown option alredy affect the SMB playing?? You said after about 20 minutes it spindown. This value is not related with the OPL option, right?


Since you have HDD mode left on AUTO, we will close all files and flush all buffers within PFS, before issuing IDLE IMMEDIATE. So right before the OPL UI disappears, you might notice some activity (blinking).

After that, there should be no activity under SMB mode, because OPL will not have ATA code. If you notice quite a bit of activity, then it might be caused by the game checking for a HDD unit.

It's clear, thank you.


I don't know because I don't even know which r1266 is... :eek:
Git doesn't use revision numbers. And even if there was a way get them, they may differ between repositories. Due to what ps2-home did, their revision numbers will surely not match the ones here.

It was a commit made a few days ago.

Yes, if you are unsure as to what commits are what, you can check with that custom OPL build I provided for the RRV test. It is still a fully functional version of OPL.

OPL r1266 is out since Yesterday (is the last beta by El_Patas .


Maybe it's luck, you know. SMB is quite complex. Due to hardware restrictions, it's not difficult to make performance really substandard. Sometimes, my SCPH-39006's SCPH-10281 negotiates for weird things like 100Mbit Half-Duplex... or even 10Mbit.

Mode 2 should not make a difference for this game, IMO. Since it uses sceCdRead() from the EE, which will always be asynchronous, regardless of whether mode 2 is used or not. Hence mode 2 is useless for games like this.

Anyway with previous builds MODE 2 make difference (enabling it you make the menu/intro stutter to completely disappear, but the game freezes at the loading time).
But it's a problem of the past :D



We erase all EE memory that can be erased (0x00082000 - end of memory), before booting the game. Whenever FMCB boots another ELF, it'll also erase all memory that can be erased.

But the PS2 has a lot of parts with memory. Not all were meant to be erased, but here we might be dealing with the game being affected by the hardware being left in some different state.

Thanks.
So it also affects FMCB? I always thought it only mattered with the HDD Browser.

The problem with your tests is that the browser will always boot PS2LOGO, which could very well be the reason why it works when the game is booted from a disc.

You're right, it appear the Ps2 logo from the game I use to launch cogswap (btw it's a PAL logo, I dont' know if it matters).

I tried col booting to Ule (with a fmcb MC) and browsing around a little (entered the FMCB configurator too), then I booted OPL and launched the game (Half Life). I noticed some very little audio hiccups just at the game's boot (when there's the loading logo). After it was perfect, and no buzzing in game.

When passing through the hscked OSDSYS instead, the audio loops a lot in the menu, then disappear. And in game there's the background buzz.
 
If the Init is a clone and nothing is left in the memory, there pretty much is only one reason which comes to my mind...

Atleast one of the manual OSDSYS-HACKS - which patch some MIPS-ASM-Stuff into the OSDSYS - are not 100% correct and possibly leaves/produces a memory-leak! That's just an assumption what could cause this... Hm...
 
Last edited:
If it doesn't work from SMB, perhaps it is due to memory constraints. It's working from the HDD unit, so the patch is working.
Anyway, if it didn't work, it used to crash while playing the opening video or at loading screens.

I'll try it with MODE 2 as @jolek suggested me.
 
No lag. It seems to me that the audio quality is not so great, but It can be just a matter of actual game's quality (it's the same quality from all devices).

That's great! Thank you.

RRV doesn't support IGR, so I can't use the power-off combo (L1+R1+L2+R2+L3+R3) either.

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.

Anyway, what I was saying is that, even not supporting IGR, RRV allow you to shut-down the Ps2 just tapping the reset button, even if MODE 6 is OFF (as some other games do).

It's a function of OPL. Rightfully, it should work with every game.

Most games that doesn't support IGR can't be powered-off just tapping the reset button, if MODE 6 is OFF (you need to hard-poweroff the Ps2).

Then what usually happens when you press the reset button?

In any case, it's better to set MODE 6 ON, 'cause the Ps2 is powered off in a more gentle way (the difference in the noise is really noticeable).

I'm still not sure how you got such a difference. Does it still happen with the current head commit?
A few days ago (January 10th), there was this missing change to get padhook to shutdown the PS2 properly, so yes... you would have observed this behaviour back then.

Well, the same principle can be applied to the USB too… It would be possible to expand the function of the "HDD spin-down" option to when playing from other devices too??

AFAIK, there're no corresponding SCSI command for this (USB uses SCSI), so no.

Anyway, the HDD spin-down option in OPL doesn't work as you have described here. At this moment, that option only applies to the HDD, only in HDD mode.

- I want to test many games switching from USB/SMB/HDD, so I want the HDD to not spin-down. I set the value to 30 minutes (or directly to 0).

I recommend consolidating your tests before you begin.

Or maybe the HDD spindown option alredy affect the SMB playing?? You said after about 20 minutes it spindown. This value is not related with the OPL option, right?

Yes, not related to the OPL option.
If you're referring to what I wrote earlier about the standby timer, it's a built-in feature of ATA devices. Sony used a default standby timer value of 0xff (21 minutes & 15 seconds). The "spin down" option in OPL configures this, but only if HDD mode is used.

OPL r1266 is out since Yesterday (is the last beta by El_Patas .

I see. Then I don't know what's wrong. :|
At least, not now.

When passing through the hscked OSDSYS instead, the audio loops a lot in the menu, then disappear. And in game there's the background buzz.

I see. Thanks.

Atleast one of the manual OSDSYS-HACKS - which patch some MIPS-ASM-Stuff into the OSDSYS - are not 100% correct and possibly leaves/produces a memory-leak! That's just an assumption what could cause this... Hm...

Memory allocation is also done by the software itself. So any problems with the OSDSYS, will stay with OSDSYS.

The problem is that we cannot possibly separate PS2LOGO from OSDSYS, under normal circumstances.
This glitch also doesn't occur when the hardware is just switched on, which probably explains why it wasn't picked up by the developers at the time.
 
@sp193: Could it be, that this lib (regarding SPU2) is initialized and not de-inited correctly, when an ELF is started (and only then)?

So essentially there might be a missing step, before another ELF is launched!
One of the steps the PS2 does, when starting a disc...


@Peppe90: Would you mind making 2 other tests?

Test 1:
  • Keep the FMCB-MC connected
  • power on the PS2
  • start OPL via swapping (once you are in the hacked OSDSYS)
  • make sure the PS2Logo-function is 'off' in OPL
  • start and test Half Life
  • report back if it works correctly or not

If it works correctly, that would be interesting to know! I think it will work fine, due to the PS2Logo being shown and everything correctly 'handled' when starting another app.


Test 2:
  • Test an ESR-Game which has an issue when started through the hacked OSDSYS
  • Start ESR via the swapping-method you tried before!
So....Swap, and start i.e. ESR GUI, then unblock the sensor and insert the ESR-Disc... Start it and report back!



If both work: I suppose the issue lies between pressing a button and loading an app, i.e. a missing de-init...

...and it would be interesting to find the relation to PS2Logo there.


Btw.: I did wrote my last post, when I was still reading page 17. ;)
 
Last edited:
Probably it's the same from SMB, I'll try MODE 2
I'll try it with MODE 2 as @jolek suggested me.

I've also tested Ultimate Pro Pinball through SMB with OPL 1266 and none of the compatibility modes seems to help to boot this game (BSOD after passing debug colors).
Game do not needs any compatibility through USB, through HDD it needs mode 2?!

Workaround for Ridge Racer V...

If you can somehow make also workaround for SCES_500.00, I'll try it through USB.

I made a test with Half Life...

I don't know if OPL+FMCB is leaving something in memory...
If I'll have more time I can try this game with swap magic without FMCB\FHDB.
 
Last edited:
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.

Actually I think I don't even tried to IGR. I'll make you know.


Then what usually happens when you press the reset button?

Nothing :D ...Tekken 5 should be one of them if I remember correctly. Btw I was using a Gamestar adaptor when initially set the games. I'll test it again.

I'm still not sure how you got such a difference. Does it still happen with the current head commit?
A few days ago (January 10th), there was this missing change to get padhook to shutdown the PS2 properly, so yes... you would have observed this behaviour back then.

If I press the reset button with MODE 6 OFF, the Ps2 shut down all, immediately (and I can hear a strong buzz of the menu music…).
With MODE 6 ON instead, when pressing the reset button, I can hear the HDD to gently spin down, then the Ps2 (no bad sounds in the tv).



AFAIK, there're no corresponding SCSI command for this (USB uses SCSI), so no.

Anyway, the HDD spin-down option in OPL doesn't work as you have described here. At this moment, that option only applies to the HDD, only in HDD mode.

Yes I know, I was asking if would be possible to modify it. Btw it's not a problem at all.


Yes, not related to the OPL option.
If you're referring to what I wrote earlier about the standby timer, it's a built-in feature of ATA devices. Sony used a default standby timer value of 0xff (21 minutes & 15 seconds). The "spin down" option in OPL configures this, but only if HDD mode is used.

Understood, thank you.

I see. Then I don't know what's wrong. :|
At least, not now.

Indeed, OPL-RRV too, can't list those games (it can only adding the ID prefix)

I tried Ultimate Pro Pinball [SLES_535.08] from SMB again. I get BSOD at the boot everytime. It perfectly works with OPL_DB_1392 (that is taken from official r1229).
 
@Peppe90: Would you mind making 2 other tests?

No problem

Test 1:
  • Keep the FMCB-MC connected
  • power on the PS2
  • start OPL via swapping (once you are in the hacked OSDSYS)
  • make sure the PS2Logo-function is 'off' in OPL
  • start and test Half Life
  • report back if it works correctly or not

If it works correctly, that would be interesting to know! I think it will work fine, due to the PS2Logo being shown and everything correctly 'handled' when starting another app.

Good idea! :encouragement:


Test 2:
  • Test an ESR-Game which has an issue when started through the hacked OSDSYS
  • Start ESR via the swapping-method you tried before!
So....Swap, and start i.e. ESR GUI, then unblock the sensor and insert the ESR-Disc... Start it and report back!


I have to burn a copy of Half Life to do this (I've a lot of ESR games, but never had problems with any of them)

Btw, you (or someone else) could confirm that Half Life have problem even with ESR??
 
No, I didn't enable MODE 2. It works without any MODE with DB_1392.
BSOD with r1266 and OPL-RRV. I'll test some other revs to see on which the game stopped to work

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
 
I made some further test with Half Life [SLUS_200.66] (playing from SMB with a 75004 Ps2, Ps2 Logo in OPL always Off).

- cold booting to OPL the game is perfect.
- cold booting to Ulaunchelf I can hear a hoarse sound in the menu music once every few seconds (is just noticeable). Once is game all is fine, no buzz.
- booting to the hacked OSDSYS, the music loop for a while, then silent (just the music, the cursor sound in menu is audible). Background buzz in game.

I noticed that when I access the OSDSYS, then reset the Ps2, the game keeps the problems (even cold-booting to OPL, I get the menu problems and buzz in game). I need to power-off the Ps2 to reset all things.


Test 1:
  • Keep the FMCB-MC connected
  • power on the PS2
  • start OPL via swapping (once you are in the hacked OSDSYS)
  • make sure the PS2Logo-function is 'off' in OPL
  • start and test Half Life
  • report back if it works correctly or not

If it works correctly, that would be interesting to know! I think it will work fine, due to the PS2Logo being shown and everything correctly 'handled' when starting another app.

- I booted to the hacked OSDSYS
- insert a Ps2 game, Ps2 Logo appeared
- swap to cogswap > swap to Ule > OPL

The game is perfect.

(I used OPL_DB_1392)
 
@TnA

I returned to the hacked OSDSYS after the PS2 Logo showed up (Ps2 Logo > cogswap > Ule > hacked OSDSYS > OPL)
This way all problems returns.

So every time you go to the OSDSYS you need the Ps2 Logo to show up (for this game audio to play fine).
 
I don't if I'll be rude, but why not make tests with DB and post it here:
http://www.ps2-home.com/forum/viewforum.php?f=13.
I mean official support for this fork is there.

Test Ifcaro builds and post it here.
My intentions when this topic was made was to support this repo.

It's just that I have that version on the MC connected to the slim '^^

I think for this tests it doesn't matter, but if you are unsure, tell me exactly what you want to test and I'll do it with the official r1266 :)
 

Similar threads

Back
Top