citronalco / OPL-Daily-Builds

OPL "Daily" Builds (Releases)
http://www.ps2-home.com/forum/viewtopic.php?f=13&t=3
Academic Free License v3.0
4 stars 1 forks source link

Popstarter is not working #1

Open citronalco opened 9 months ago

citronalco commented 9 months ago

I had to change the makefile of elfldr to get it to compile with the current ps2sdk, see 68e584ad1008f67801c4ce3137a6840ebc639d86.

EDIT: Seems like it causes trouble: Starting ELF applications works, but Popstarter does not. When trying to start a PS1 game, popstarter does not start but the screen gets black.

Elfldr got removed in official OPL (https://github.com/ps2homebrew/Open-PS2-Loader/pull/564/commits/706cd5e28b977b2363637ec55c98b85036636604).

TODO: Try to get popstarter started the same way as they do with elfs.

https://github.com/ps2dev/ps2sdk/commits/master/ee/elf-loader

10522 commented 9 months ago

@citronalco, if I understood correctly, @Jay-Jay-OPL used the old PS2SDK to update the OPL DB. I wrote to him here, maybe he can tell you more. Also, POPStarter does not work in this fork either.

By the way, would it be easier to take the official OPL and replace the APPS page with the PS1 page using the code from the OPL DB?

citronalco commented 9 months ago

Jay-Jay-OPL was not updated for some time. PS2SDK evolved during that time, so to be able to compile Jay-Jay-OPL with the current PS2SDK some changes are required.

The differences between APPS page ("appsupport") and PS1 page ("elmsupport") are quite small. In fact elmsupport seems to be based on appsupport. Changes that were done in appsupport got even ported to elmsupport.

I was not aware of https://github.com/YAGAMI55/OPL-Daily-Builds There someone seems to manually integrate all changes into OPL-DB, that were done in OPL since JayJay stopped updating it. I did basically the same, but semi-automatically, with git merge.

The biggest thing that happened in OPL (besides the outsouring of the language files) since JayJay stopped updating OPL-DB: elfldr, the library that starts binaries like uLaunchElf, emulators or, here, popstarter, got replaced. Formerly a bundled library was used, and patched for OPL-DB's popstarter loading. elfldr got integrated into PS2SDK, removed from OPL, and OPL uses now the elfldr fom PS2SDK. PS2SDK's elfldr seems to contain many (if not all) patches from OPL-DB, so very likely it can be used to start popstarter. Somehow. The current PS2SDK no longer compiles the old, patched elfldr library from OPL-DB, so it has to either be fixed, or better, replaced.

Though I'm not sure that elfldr is the culprit for popstarter no longer working, it seems very likely. Maybe also other things must get updated, but that should be trivial.

I'm no programmer, and barely can read C code. So I have difficulties in understanding what happens in OPL-DB, and I do not know how to debug that stuff.

citronalco commented 9 months ago

No, OPL-DBs elfldr supports loading ELFs from memory. It seems like PS2SDK's does not. So it has to be kept.

citronalco commented 9 months ago

Current state: Popstarter is starting in PCSX2, but not on real hardware (black screen).