Hiyas :), I post here with hopes of getting some help with a piece of code, maybe
@deroad
,
@flatz
or some other dev could help me out.
I found an old code I had from a simple PS3 backup manager I made based on OpenBM.
Now I compiled it and of course the syscalls and method used then seems to have changed for higher CFW versions.
With this simple piece of code I was able to mount a game back then:
On main init:
Syscall functions:
Mounting a game:
Now my question is, how do I achieve the same thing on CFW 4.XX ? I have tried a few things but they don't work, maybe I'm missing something.
Thanks for any help anyone can provide, as you can see I am not experienced on syscalls and this kind of stuff xD, but I am willing to learn :)
EDIT: I am not using PSL1GHT at this moment for this, just in case.
EDIT2: What I wanted to achieve here is mounting of for example:
as...
...but I don't know if this would be possible.
SeeYa!
:hello:
I found an old code I had from a simple PS3 backup manager I made based on OpenBM.
Now I compiled it and of course the syscalls and method used then seems to have changed for higher CFW versions.
With this simple piece of code I was able to mount a game back then:
On main init:
Code:
uint64_t memvaloriginal = 0x386000014E800020ULL;
//uint64_t memvalnew = 0xE92296887C0802A6ULL;
uint64_t patchmode = 2; // 0 -> PS3 perms normally, 1-> Psjailbreak by default, 2-> Special for games as F1 2010 (option by default)
int payload_type = 0; // 0->psgroove 1->hermesV3 2->PL3
if (syscall35("/dev_hdd0", "/dev_hdd0") == 0) {
payload_type = 2;
} else {
if(sys8_enable(0) > 0) {
payload_type = 1;
} else {
payload_type = 0;
}
}
if(payload_type == 1) {
sys8_perm_mode(patchmode);
} else if(payload_type == 0) {
pokeq(0x80000000000505d0ULL, memvaloriginal);
}
restorebind("/app_home");
restorebind("/dev_bdvd"); // restore bluray
Code:
#include "syscall8.h"
uint32_t syscall35(const char *old_path, const char *new_path)
{
system_call_2(35, (uint32_t) old_path, (uint32_t) new_path);
return_to_user_prog(uint32_t);
}
void syscall36(const char* path)
{
if (syscall35("/dev_bdvd", path) != 0)
{
system_call_1(36, (uint32_t) path);
} else {
syscall35("/app_home", path);
}
}
void restorebind(const char* path)
{
if (syscall35(path, path) != 0)
{
system_call_1(36, (uint32_t) path);
}
}
Code:
syscall36(glist[nSelectedGame]->path);
Thanks for any help anyone can provide, as you can see I am not experienced on syscalls and this kind of stuff xD, but I am willing to learn :)
EDIT: I am not using PSL1GHT at this moment for this, just in case.
EDIT2: What I wanted to achieve here is mounting of for example:
Code:
/dev_usb000/PS2ISO/[SLUS-00000] Game name/
Code:
/dev_hdd0/game/PS2U10000/
SeeYa!
:hello: