Quantcast
Channel: PS3Hax Network - Playstation 3 and Playstation 4 Hacks and Mods
Viewing all articles
Browse latest Browse all 19236

[Code Help] Old syscalls and mounting games on CFW 4.XX ...

$
0
0
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:

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

Syscall functions:

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);
        }
}

Mounting a game:

Code:

syscall36(glist[nSelectedGame]->path);
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:

Code:

/dev_usb000/PS2ISO/[SLUS-00000] Game name/
as...

Code:

/dev_hdd0/game/PS2U10000/
...but I don't know if this would be possible.

SeeYa!
:hello:

Viewing all articles
Browse latest Browse all 19236

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>