Hi all,
TL;DR does anyone know how to properly make PS3 syscalls in C/C++ from within OtherOS?
I recently jailbroke a PS3 with a dead disc drive and got Fedora 12 installed with XFCE4 (3.15 OFW DEX downgrade, OtherOS regular). Been playing around with the SDK, since in school I learned on C. My goal for now is to write some Linux utilities to better understand the platform, and benchmark SPU multithreading performance.
First thing I wanted to try was getting temp readings of the CBE and RSX, but the lm_sensors package doesn't provide support for Cell BE. I also couldn't find anything in the Cell SDK, but I assume there has to be something there. I noticed there's an LV2 syscall for this (sys_game_get_temperature), but it looks like these are intended to be called from GameOS.
In C you can also make a syscall, but it requires you knowing the architecture and how to call it. The wiki talks about tables and offsets and packets...I don't get it at all. The discussion page kind of describes it, but a lot of the variables don't make sense.
Example: syscall(621,packet_id,r4,r5)
Don't know what r4 or r5 are supposed to be. The wiki is lacking any complete examples, and I can't find anything anywhere else. Any help would be greatly appreciated
TL;DR does anyone know how to properly make PS3 syscalls in C/C++ from within OtherOS?
I recently jailbroke a PS3 with a dead disc drive and got Fedora 12 installed with XFCE4 (3.15 OFW DEX downgrade, OtherOS regular). Been playing around with the SDK, since in school I learned on C. My goal for now is to write some Linux utilities to better understand the platform, and benchmark SPU multithreading performance.
First thing I wanted to try was getting temp readings of the CBE and RSX, but the lm_sensors package doesn't provide support for Cell BE. I also couldn't find anything in the Cell SDK, but I assume there has to be something there. I noticed there's an LV2 syscall for this (sys_game_get_temperature), but it looks like these are intended to be called from GameOS.
In C you can also make a syscall, but it requires you knowing the architecture and how to call it. The wiki talks about tables and offsets and packets...I don't get it at all. The discussion page kind of describes it, but a lot of the variables don't make sense.
Example: syscall(621,packet_id,r4,r5)
Don't know what r4 or r5 are supposed to be. The wiki is lacking any complete examples, and I can't find anything anywhere else. Any help would be greatly appreciated