-
-
Notifications
You must be signed in to change notification settings - Fork 2k
PS2: Fix booting from internal HDD #18591
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@mlevogiannis your PR looks ok in terms of hdd support, but can you also test if it will still support cdfs? Cause cdfs has weird slashes and this PR may broke it. |
|
@mlevogiannis can you add into description that it |
|
I would like to verify this, because so far the HDD support has been working fine. Then |
|
Here you have how the dependencies are loaded automatically. |
HDD is broken in RA for a long time, you can check if toolchain update will fix it, but I doubt that it helps. |
It must fix it, as I'm using |
ad2f6ce to
7a6d68e
Compare
@AKuHAK Good catch. I updated the workaround to be applied only if the CWD is an HDD path. |
@AKuHAK Issue #16010 is already there. The original description of issue #15865 is about external USB HDD with FAT32 partitions, not internal HDD with APA partitions. So this PR does not apply to that case. |
@fjtrujy Although the code to automatically load the dev9 dependency is there in ps2_drivers, As described in the commit message, it is preferable to initialize and deinitialize dev9 manually. If we used the automatic functionality offered by ps2_drivers, fileXio (and bdm in later versions of ps2_drivers) would have been deinitialized too early. It won't make a functional difference the way Consequently, using the latest version of ps2_drivers would not have helped in this case, as automatic loading of the dev9 dependency is disabled by the caller. |
You're totally right! Cheers |
I will rebase this branch to the current master to resolve the conflicts. You are correct about Furthermore, regarding the toolchain upgrade and commit 0f62d73 that has already been merged, |
ps2atad IRX requires ps2dev9 IRX, the former has to be unloaded before the latter.
7a6d68e to
90d5b39
Compare
|
@fjtrujy The conflicts have been resolved and the PR is now ready to be merged. I tested the changes again and internal HDD support seems to be working fine. However, I noticed something probably unrelated to this PR: When booting from a memory card, it fails to save the configuration file, unless the |
90d5b39 to
b7f7e11
Compare
This partially reverts commit e824225. The strlcat was irrelevant to the strlcpy in the previous line. The result was that the : was added at a random point in the string.
Renamed "mountPoint" to "partition" and "mountString" to "mountPoint". Previously, "mountPoint" and "mountString" were misleading as the data they hold are the partition and the mount point, respectively. This change aligns variable names with the actual data to improve readability.
Commit 3e0a4fa unconditionally appended a slash to the CWD, assuming that it never ends with one. However, this is not always true (e.g. when CWD is the root of the device).
Workaround for PS2SDK issue ps2dev/ps2sdk#805. PS2SDK's initialization routine does not properly set the CWD for HDD paths, leading to all slashes being converted to backslashes. This change ensures that they are converted back to slashes, until the issue is properly fixed in PS2SDK.
b7f7e11 to
8f3147f
Compare
|
@fjtrujy Your latest comments have been resolved. |
Description
Fixes booting from the internal HDD which has been broken for quite some time:
Also see the commits' descriptions for more details and the rationale behind each change.
Related Issues
Fixes: #16010
Reviewers
@fjtrujy @AKuHAK
(Referencing users with recent activity, edit if required)