OPL (Open PS2 Loader)

PS2 Open PS2 Loader v1.1.0

I have a test for getting game size when config is requested but I can't test on real hardware as all my games are on iHDD and it only affects USB & SMB.

@jolek if you have a moment are you able to give it a quick test.
https://github.com/KrahJohlito/Open-PS2-Loader/actions/runs/452600981

This has all of Maximus32s fixes included (not gcc10 build) and also we should be able to see file size on Info page.. so ideally we want boot up from USB to still be ~14 sec and see file size exactly the same as in previous builds.

I've never used USBLD format and I have no idea how it works or even what it is so I'm not sure if this change is sufficient?
 
USBLD is the predecessor of OPL! ;)
Before it supported multiple devices, it only supported USB to replace USB-Advance.

Ifcaro wrote a replacement-GUI for USBA and Jimmikaelkael was working on a GUI-less USB-Loader.
I told them about their projects, one week later we had an open source game-Loader, the rest is history.


tl;dr
What the USBLD-format is? Probably the split-files!
 
I have a test for getting game size when config is requested but I can't test on real hardware as all my games are on iHDD and it only affects USB & SMB.

Can I test this build without any config for any game?
If yes... then OPL_1581-Beta-4ba6c7e boots really fast (~12-13 sec).
However when I want to view Game info in ISO format I have 0 MiB:
size-2.png

While in ul format I do not have any size:
size-1.png

The same thing is with OPL_1581-Beta-a2b2efc.

OPL 1442 shows size for ISO:
size-3.png

But no for UL.
 
I have a test for getting game size when config is requested but I can't test on real hardware as all my games are on iHDD and it only affects USB & SMB.

I additionally tried a game with CFG:
Code:
CfgVersion=7
Title=Fight Night Round 3
Vmode=vmode/pal
VmodeText=PAL
Genre=Boxing
Release=20\02\2006
Description= Boxing, Boxing, Boxing!

Unfortunately I have the same results even with CFG:
size-1a.png


While in OPL 1442 (which boots quite fast) I have game size:
size-2a.png
 
  • Like
Reactions: TnA
Thanks for testing, I didn't realise there is an "old" and "new" naming convention.. I'm guessing you're using the old way eg gameid.name.iso ? I'll add an additional check and it should be all good.

Yea you don't need a cfg to check because the size gets added by the software.
 
I tried your patch on a real ps2 using usb and smb. There seem to be a lot of places in OPL where a "path" to a game iso is created. I've added a single function that should always create the correct path. This also makes some functions a lot smaller. I've added code so the filesize should also be calculated on multi-part games. Patch here:
https://github.com/rickgaiser/Open-PS2-Loader/commit/e689b443c510557fbfb96b30670b3afcc182964e

I've tested the filesize on usb and smb and it works now, BUT:
On usb there is a noticable delay when browsing through the file list the first time. This delay is caused by the stat call in the gui thread. So I think the call should be delayed :-(.

EDIT: I'm trying to create a USBLD formatted usb stick, but I cannot find any recent information about tools or file structure. Is this format still used/tested/supported?
 
Last edited:
Where did this USBLD-topic came up now?

It wasn't a specific format AFAIR!
Just the USB-Advance-Split-files.
Am I off?
 
I've tested the filesize on usb and smb and it works now, BUT:
On usb there is a noticable delay when browsing through the file list the first time. This delay is caused by the stat call in the gui thread. So I think the call should be delayed :-(.

Except of a noticeable delay through USB I also have a problem with files size (not in every ISO):
Size-1-OPL.png
Size-2-OPL.png

However everything seems to be fine with ul:
Size-3-OPL.png


I'm guessing you're using the old way eg gameid.name.iso ?

Yes, that is right.
SXXX_XXX.XX.Game name.ISO
 
Last edited:
  • Like
Reactions: TnA
Where did this USBLD-topic came up now?

It wasn't a specific format AFAIR!
Just the USB-Advance-Split-files.
Am I off?
In the source code it is referred to as USBLD format and other places USB Advance so yea I think it's just the split files but not so clear comments in the source.

I was going to suggest delaying the whole config request but it looks like this is already happening..
https://github.com/ps2homebrew/Open-PS2-Loader/blob/master/src/menusys.c#L163

Although the condition seems weird to me as changing selections causes itemConfigId to be -1 which would nullify the whole delay anyway?? Maybe it should be literal & rather than | (or).

@jolek
Is there any discernible difference between the ISOs that correctly display file size and those that don't? Do they use different naming methods? Are they different formats(CD/DVD)?
 
Last edited:
  • Like
Reactions: TnA
Except of a noticeable delay through USB I also have a problem with files size (not in every ISO)
I've tracked down this issue to be related to the gcc10 build. The "long" type has changed from 64bit to 32bit. So only split iso's, or iso's smaller than 4GB will be displayed properly. This will not be an issue for the current OPL builds, or for the "v1.0.z" branch, as that should use the current/old gcc3.2.3 toolchain.
 
Is there any discernible difference between the ISOs that correctly display file size and those that don't? Do they use different naming methods? Are they different formats(CD/DVD)?

For ISO (>4GiB) I use old naming "SXXX_XXX.XX.Game Name.iso".
For games <4 GiB I use ul format.

I do not use new naming "Game Name.iso".
 
I was going to suggest delaying the whole config request but it looks like this is already happening..
https://github.com/ps2homebrew/Open-PS2-Loader/blob/master/src/menusys.c#L163
I think 'menuSemaId' is locked during the config request. This is good, becouse we cannot update the current config, and change the current menu position at the same time (at least I think).
The gui / menu system is complex...

I would like to go 1 step back:
This problem was introduced in the newlib port. When using fileXio the fileXioDread also contains the filesize (for free). With newlib, this had to be split into readdir + stat function calls.
readdir actually calls fileXioDread, but does not use the filesize. Then stat is called, but it requests much more than just the size (like dates and permissions).

As it turns out, what readdir returns (dirent) can be changed per system, so I would like to change it so it holds the filesize, for free, just like fileXioDread. It's not something I have time for to fix now, but I think it's a much better solution than trying to properly delay the stat call just to get the file size. It's a shame such a simple basic function call takes such a long time to complete.

I suggest we temporarily disable file size as in the PR, then fix this later.
 
  • Like
Reactions: TnA
OPL 1581 is out.

Short list of changes:
  • Disable getting a game size to make loading files faster
  • Fix rendering special characters
  • Fix loading translation from memory cards
  • Fix memory card detection
rev1581 - Tupakaveli - Merge pull request #342 from rickgaiser/for-ps2homebrew
rev1580 - Maximus32 - ee_core: load debug modules before loading drivers
rev1579 - Maximus32 - Fix rendering special characters
rev1578 - Maximus32 - Add debugging for parameters passed to ee_core
rev1577 - Maximus32 - ee_core: pack structs used in assembly code
rev1576 - Maximus32 - Disable stat function to make loading files fast
rev1575 - Rick Gaiser - Merge pull request #340 from KrahJohlito/patch
rev1574 - KrahJohlito - fix freeing languages at switch
rev1573 - KrahJohlito - fix memory card detection
 

Attachments

  • Like
Reactions: TnA
If anybody\anyone wants to test first release candidate for OPL v1.0.0, here is a link (look for "Assets" at the bottom):
https://github.com/ps2homebrew/Open-PS2-Loader/releases/tag/v1.0.0-rc1.

If you find any issues, please report them here.

Here are known bugs\issues:

GUI:
  • Getting ISO\ul game size has been temporary turn off to reduce boot time (#345)
  • When a PS1 MC will be inserted into 1st port, OPL still will update game history
    causing corrupted data to appear on it (#284)
  • OPL will freeze e.g. on HDD Games page when a power off button will be tap
    instead of turning off the console:
    https://www.psx-place.com/threads/open-ps2-loader-v0-9-3.13415/page-47#post-223965.
  • When OPL is doing something in background and I want to reboot it or shut it down it will freeze (#312)
  • OPL locks up when creating VMC if there is not enough free space on internal HDD (#260)
In game:
  • Few (at least 5) in-game reboots will crash\freeze game (#231)
  • IGS (#336)
Still problematic games:
 
Last edited:
For all those who get hyped now:
  1. Yes, the big OPL 1.0.0-release is meant to be released soon!
  2. This is a "release candidate", but NOT yet the "final" release-build.
  3. No new features will be added to OPL, until the 1.0.0 release-build is out!
So please don't post news-threads about it yet, but wait for the true release-build!

I'm already writing up a news-thread for psx-place.com and psxtools.de and will publish them, once the official release is out! :)


Bug-reports are welcome!
 
Last edited:
If anybody\anyone wants to test first release candidate for OPL v1.0.0, here is a link (look for "Assets" at the bottom):
https://github.com/ps2homebrew/Open-PS2-Loader/releases/tag/v1.0.0-rc1.

If you find any issues, please report them here.

Here are known bugs\issues:

GUI:
  • Getting ISO\ul game size has been temporary turn off to reduce boot time (#345)
  • When a PS1 MC will be inserted into 1st port, OPL still will update game history
    causing corrupted data to appear on it (#284)
  • OPL will freeze e.g. on HDD Games page when a power off button will be tap
    instead of turning off the console:
    https://www.psx-place.com/threads/open-ps2-loader-v0-9-3.13415/page-47#post-223965.
  • When OPL is doing something in background and I want to reboot it or shut it down it will freeze (#312)
  • OPL locks up when creating VMC if there is not enough free space on internal HDD (#260)
In game:
  • Few (at least 5) in-game reboots will crash\freeze game (#231)
  • IGS (#336)
Still problematic games:

I quickly checked it:

- Checked the booting time, no problems, it takes the same as OPL 1319: in my case 12 secs counting from when I launch the ELF until I see the gamelist (games are on HDD, cache mode enabled. I also have a couple games on USB).

- menu changes are perfectly smooth (no slowdowns or little video artifacts I saw on some builds).

- About games, tried a couple, it seems that compatibility is mostly unchanged (it'd need more testing though). I found a little issue on GT4:
the pad doesn't work unless I enable MODE 6.
 
I found a little issue on GT4:
the pad doesn't work unless I enable MODE 6.
I can confirm this, and add to it that the reset combo DOES work. Do you know the last version where this worked?

EDIT: Tested using the official v1.0.0-rc1 on a FAT ps2 using SMB mode with SCUS_973.28.
 
Last edited:
  • Like
Reactions: TnA
- About games, tried a couple, it seems that compatibility is mostly unchanged (it'd need more testing though). I found a little issue on GT4:
the pad doesn't work unless I enable MODE 6.

I can confirm this, and add to it that the reset combo DOES work. Do you know the last version where this worked?

Which version did you check?
I tried SCES_517.19 through HDD on SCPH-50004.
Everything is fine with v1.0.0-rc1.

But the problem starts with v1.0.0-rc1-1597-344ad42-gcc10.
I mean I cannot skip the intro FMV, gamepad has got an analog mode enabled, I can only IGR or shutdown console with buttons combo.
So theoretically gamepad is working... It just that something is blocking it to skip intro.
 
  • Like
Reactions: TnA

Similar threads

Back
Top