Sponsored Links

Sponsored Links

PS3 SFO Reader and SFO2SFX Homebrew Applications Released


Sponsored Links
137w ago - Following up on his previous work, this weekend PlayStation 3 developer deroad has released a PS3 SFO Reader and SFO2SFX homebrew applications complete with source code.

Download: [Register or Login to view links]

To quote: Since today sandungas talked about a bug in the old SFO Reader, i immediately fixed it (you can find it here: ps3devwiki.com/wiki/Dev_Tools#SFO_Reader).

Then he started talking about SFX. They are simple XML files that the ps3 can read as SFO. This is an example:

[Register or Login to view code]

So i converted my SFO reader into a SFO to SFX converter. You can get it here: ps3devwiki.com/wiki/Dev_Tools#SFO2SFX

I hope that someone will find it useful. From:

[Register or Login to view code]

to
[Register or Login to view code]

Finally, how to call a PS3 Syscall: In computing, a system call (aka Syscall) is how a program requests a service from an operating system’s kernel. This may include hardware related services (e.g. accessing the hard disk), creating and executing new processes, and communicating with integral kernel services (like scheduling). System calls provide the interface between a process and the operating system.

With PSL1GHT we can call all the 989 Syscalls.. it’s really simple to call one, but you need to know how many parameters it needs; there are some syscalls that needs just 1 parameter, there are others that needs 8 parameters.

You can find the list of syscalls with the numbers of the parameters here: ps3devwiki.com/wiki/LV2_Functions_and_Syscalls#Syscalls

Once you know the numbers of the parameter that you need (and the type of the parameters if they are written), you are ready to call one:

first thing add the following include:

#include

Then you can call the syscall:

lv2syscallN(number_of_the_syscall, parameters… );
Change N with the number of the parameters, and put the number of the syscall that you need to call with the parameters.

some examples:

Shutdown the PS3:

1) Look into the dev wiki and you will see that the syscall to shutdown the PS3 is number 379 ( sys_sm_shutdown ) and it wants 4 parameters:
2) So now i can call the syscall with 4 parameters:

lv2syscall4(379,SHUTDOWN_PARAM,0,0,0);
now on the wiki it says, that the shutdown value is 0x1100 or 0x100, so i will write:
lv2syscall4(379,0x100,0,0,0)

now if i call this on a stupid homebrew like:
#include
int main(){
lv2syscall4(379,0x100,0,0,0);
return 0;
}

it will really shutdown the ps3.

now if you are not sure to completely understood this, i will make another example:

Get current time:
now this example comes from the PSL1GHT SDK:

this is the function that get the current time on the ps3.

#include
s32 sysGetCurrentTime(u64 *sec,u64 *nsec)
{
lv2syscall2(145,(u64)sec,(u64)nsec);
return_to_user_prog(s32);
}

now it uses 2 parameters so it calls lv2syscall2, then it needs the parameters that will get the value sec and nsec. now, in this function you can see that it ask the return of this syscall; to call any return of a determinate syscall, you can simply ask it by calling:

return_to_user_prog(type_of_the_variable);

you need to define the type of the returning variable. in that case it was s32 (aka signed int).
so it calls:
return_to_user_prog(s32);

if it was a normal integer, you had to call:
return_to_user_prog(int);

to compile it correctly you need to simply add the following flags:

-llv2



Stay tuned for more PS3 Hacks and PS3 CFW news, follow us on Twitter and be sure to drop by the PS3 Hacks and PS3 Custom Firmware Forums for the latest PlayStation 3 scene updates and homebrew releases!

Comments 43 Comments - Go to Forum Thread »

• Please Register at PS3News.com or Login to make comments on Site News articles. Thanks!

Brenza's Avatar
#28 - Brenza - 102w ago
Blade86 if you don't know what you're talking about you should just be quiet instead of calling something "useless"

Blade86's Avatar
#27 - Blade86 - 102w ago
Those who got no Option to install pkgs, HOW WOULD THEY INSTALL THIS?
Those who can, dont need this.
Those who want to install multiple pkgs, use the feauture of PS3-EXTRA or self-merge existing ones.

So the question is: WHO NEEDS THIS? No offence, but also no respect!

Cheers
Blade

Brenza's Avatar
#26 - Brenza - 102w ago
Very very nice!

You should search for pkg also in \dev_hdd0\packages, it would be useful!

BTW thank you!

shummyr's Avatar
#25 - shummyr - 102w ago
Very nice setup, I love it

condorstrike's Avatar
#24 - condorstrike - 102w ago
awesome tool, thanks Deroad.

Sponsored Links

Sponsored Links
Sponsored Links

Sponsored Links







Advertising - Affiliates - Contact Us - PS3 Downloads - Privacy Statement - Site Rules - Top - © 2014 PlayStation 3 News