Here is the final revision of SynaPS3 preceding the release of fail0verflow's tools. SynaPS3 will not be updated further until the fail0verflow team releases their tools.
Download: SynaPS3 FINAL "JailBreak" Library / SynaPS3 GIT
This is a final revision in the sense that all further github pushes will be based on the new private key related tools, and I can only hope that the improvements made to SynaPS3 in the near future will help it become a powerful tool for PS3 devs when the new tools become available.
The next github push will remove all syscalls and focus on fail0verflow specific tools, so all functions related to specific payloads or calls will be unavailable, in the hopes that the next push will have far better means of implementing many things.
Once again, I hoped to finish coding a way of writing to /dev_flash without Peek/Poke, but this goal was not realized as I did not have that much time this month to work on SynaPS3 as I had hoped.
syscalls.h, payload.h, and patches.h are all removed in the next update.
This release of SynaPS3 includes the following functions:
IsBD - Returns true if there is either a PS3 game inserted or a valid Bluray movie.
IsPS3Game - Returns true is there is a PS3 game inserted.
MountBD(char *game_path) - Mounts the argument to /dev_bdvd.
BootDisc - "Direct Boot" for inserted discs. Should carry the same failure rate as other direct boot methods.
fsStat(char *filename) - Returns true if the given file exists.
fsMkdir(char* newDir) - Creates a directory if it doesn't already exist. Returns false if it fails to create or if it exists already.
fsRename(char* from, char* to) - Renames the given file to the second argument. Checks if the file exists, returns false if it exists or if the rename failed.
pad_read - Ripped from OM code.
Firmware342Fix - As it says, fixes games that refuse to boot because they require 3.42. Only works for 3.01, 3.15, and 3.41.
ControllerFix - For Hermes v3/v4, and those with Peek/Poke on 3.41. For games with controller issues.
GetPayloadCaps - STILL never extensively tested, but SHOULD work. Returns a value depending on payload capabilities. Add 1 if it has syscall36, add 2 if it has syscall8, add 4 if it has Peek/Poke, add 8 if it has syscall35.
GetPayloadName - A rip of GetPayloadCaps but returns a different value, depending on which payload it is. Returns; 5 for PL3Dev, 4 for PL3, 3 for Hermes v3/v4, 2 for PSGroove 1.1/Hermes v1/v2, and 1 for PSGroove 1.0.
syscalls.h: Behind the scenes stuff, mostly syscall8 stuff and the other syscalls. Don't use syscall36 or syscall35, use MountBD and Mount instead, respectively. Peek/Poke is syscall6/syscall7.
exit - Exits the app.
versionTXT - Writes the firmware version to FirmwareVersion and returns it.
getFW - Peeks the FW version from memory.
BootGame - Boots game from given parameters.
Mount - Mounts using syscall8 or syscall35.
MountHome(char *home_path) - Mounts argument to the app_home path.
MountFlash(char* fla) - Mounts argument to dev_flash path.
LoadIOFSModules - Loads IOFS Modules.
UnloadIOFSModules - Unloads IOFS Modules.
LV2_Flash(bool flashStatus) - Does nothing. Ignore.
SynaPS3 is still very very small and the improvements are mainly "shortcuts" for existing code and functions. It could, in it's current state, speed up some program development/coding, most notably backup managers and minimalistic apps.
I am still a mediocre developer at best but I think the PS3 scene and their devs have helped me greatly in understanding and learning a lot these past few months. I look forward in helping the scene with my less than mediocre skills and improving myself as a programmer, hopefully enough so that next year I can make some major improvements to this amateur library.
Happy New Years!
More PlayStation 3 News...