Open citronalco opened 9 months ago
ps2sdk docker images:
Last three build current master of my opl-db, but none works on ps2 hardware. Neither with -G0 not with -G8129
@citronalco, i found that @Jay-Jay-OPL wrote about OPL DB 2202:
these OPL versions were compiled via GIT's Workflow feature with the changes made to PS2SDK DEV Development up to date: 2021-11-14.
Also maybe these forks (1, 2, 3) will help you. And also check the SDK folder in PS2 AIO Project, you can find a lot of useful stuff there.
With "smaller-steps" branch (includes commits until 2022-06-06), POPS gets started on a real PS2 when compiled with:
Quickly scrolling through ps2sdk's commits between 2021-10-16 and 2022-06-06, there's no commit that obviously could do any harm here.
@citronalco, here (elfldr.zip) and here there is information about how POPS was added to PS2NETBOX (a fork of OPL with closed source code). Also in POPSLoader there is code for launching VCD files using a single POPSTARTER.ELF file. You can also contact crt0, who merged OPL with neutrino. Maybe he can help you or for example he can add POPS to OPLNEUTRINO. Also I found that @Jay-Jay-OPL wrote about OPL DB 2158:
this OPL version was compiled with the changes made to: gsKit a44b884 newlib 415fdd4 ps2-packer 02c99f3 ps2client 211df54 ps2dev 08eb341 ps2eth 791126f ps2link 86e1d8c PS2SDK e4f6dfb ps2sdk-ports 9565ff9 ps2toolchain 69c557e ps2toolchain-dvp 1b0054c ps2toolchain-ee a1d264b ps2toolchain-iop d82437e
@10522 Thanks a lot, that could be helpful indeed! I'm going to look into those projects.
Compilation is no problem: It builds without issues, even on current ps2sdk (though I haven't tried for a while). The problem is: The resulting binary only works in PCSX2, but not on my PS2 slim.
Compiles with gkbmdz/ps2dev:latest, which is ps2sdk from 2021-10-16 (ps2sdk:v1.3.0 is from 2021-06-18), until including:
Jay-Jay's last commit is aa531a858c583104bfd577c4715339c8ce68d534
TODO: Test ELM. If it works: Switch to a slightly newer ps2sdk, try again, if it still works: Move forward! DONE! Result: Yes, works, including ELM/popstarter. In PCSX2 and on real hardware. Branch: "smaller-steps", Commit cf7215de60088b59c0b68a700eb02edfc4233d75
Next commit would be 49e383cd5145cdbd52e5d6ced7956fb8f95de389 ("Fix: rename NRExit to __NR_KExit"), which works around a syscall renaming in ps2sdk in 2022/05/31 (https://github.com/ps2dev/ps2sdk/commit/00a4a9ab5e61037f24ac76e24a7d0e68012ec6fe) - means I have to either skip that patch, or move to a newer toolchain.
When skipping this patch and (reverting this commit) and merging all commits until end of 2022 (see branch smaller-steps-2), building fails with make[1]: Entering directory '/project'
This was introduced in 8f04d009100eca007a980ec4ea66104e698385d4 at 2022-06-15.
TODO: Try building with a newer ps2sdk and try again DONE!:
apk add make git python3 py3-yaml bash
TODO: Apply more commits and try again DONE!:
apk add make git python3 py3-yaml bash
TODO: Apply more commits and try again DONE!:
apk add make git python3 py3-yaml bash
TODO: Ignore last failure, but apply more commits and try again DONE!:
apk add make git python3 py3-yaml bash
TODO: ps2homebrew switched from ps2dev/ps2dev:latest to ghcr.io/ps2homebrew/ps2homebrew:main (c276b438361418c722e0d04fa1345ce766640228). Try with that! DONE!: Works, including ELM/popstarter! (Branch: 2023-08-19)
TODO:
TODO: ??? Clueless... ????
Here are some older ps2sdk versions as docker image: https://github.com/ps2dev/ps2sdk/pkgs/container/ps2sdk/versions?filters%5Bversion_type%5D=tagged
Here's another commit that looks helpful for elfldr: https://github.com/citronalco/OPL-Daily-Builds/commit/fb847e6232238b44ecec43cffc1c74839b501ab1