Skip to content
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

Allow booting any ELF inside disc directory, not just ones at 'PS3_GAME/USRDIR/' #11015

Merged
merged 4 commits into from
Oct 24, 2021

Conversation

elad335
Copy link
Contributor

@elad335 elad335 commented Oct 15, 2021

  1. Disable incorrect error check which checks for a PARAM.SFO mismatch between the one at "elf-path/../../PARAM.SFO" and "/dev_bdvd/PS3_GAME/PARAM.SFO", allows to boot any ELF within any subdirectory of "/dev_bdvd/PS3_GAME/USRDIR". This also includes loading of PRX/OVL inside the game files.
  2. Improve disc directory search by searching the PS3_DISC.SFB closest to root directory, in case there is such file in game files.
  3. Mount /dev_bdvd even for files outside of "/PS3_GAME/USRDIR".

@elad335 elad335 force-pushed the param-sfo branch 2 times, most recently from e019bb6 to 65bec01 Compare October 15, 2021 18:24
@Megamouse Megamouse added the Loader Involving the load of PS3 file formats label Oct 15, 2021
@elad335 elad335 force-pushed the param-sfo branch 6 times, most recently from b7b8f2e to 62b9b39 Compare October 15, 2021 19:11
Utilities/File.cpp Outdated Show resolved Hide resolved
if (const usz usrdir_pos = elf_dir.rfind("/USRDIR"); usrdir_pos != umax)
#endif
// Find disc directory by searching a valid PS3_DISC.SFB closest to root directory
std::string sfb_dir, main_dir;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

main dir can be moved to most inner scope

rpcs3/Emu/System.cpp Show resolved Hide resolved
rpcs3/Emu/System.cpp Outdated Show resolved Hide resolved
rpcs3/Emu/System.cpp Outdated Show resolved Hide resolved
rpcs3/Emu/System.cpp Outdated Show resolved Hide resolved
rpcs3/Emu/System.cpp Outdated Show resolved Hide resolved
rpcs3/Emu/System.cpp Outdated Show resolved Hide resolved
@elad335 elad335 force-pushed the param-sfo branch 2 times, most recently from 0bb480e to d96b6c2 Compare October 22, 2021 15:53
@Megamouse Megamouse merged commit ee7ed1f into RPCS3:master Oct 24, 2021
@Augusto7743
Copy link

Augusto7743 commented Oct 26, 2021

I not understand if all above is related with eboot.bin.
I has ISO being mounted in virtual drive being possible read copy files without issues.
In Windows mounting create a virtual drive and using command button OPEN in mounted virtual drive path work perfectly. The eboot is compiled and load the game. Gameplay is exactly the same how loading the game in dev_hdd0/disc/
In Linux the same command above not work. RPCS3 read and compile the eboot, but in next task being load the game close the load game window returning to RPCS3 GUI.
I not understand if is RPCS3 issue or enabled any security setting in Linux.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Loader Involving the load of PS3 file formats
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants