May i remind you all that this is a thread of payload development, and not adaptations of it to different devices (i.e. iPods etc ) that should be taken care of in its respectful threads.
Anyways, this payload is not equal to that of kakaroto’s, if you are inserting it via hex and misbehaves it wouldn’t be a surprise and what is required is that someone compiles it and post it around in some thread.
This said, lets continue to other matters.
Why don’t you post this at github?
First, this was born due to the fact that the payload used by psgroove was not public ( at least I didn’t saw source) and because certain people, limited themselves to work on the payload without the ability to run backups. So I took port1_config_descriptor and disassembled it, with help of comments on the ps3wiki.lan.st about the payload and collaborations of AerialX , this resulted in us being able to launch backups.
The idea was to have a source code that could be compiled and upgrade, without moral and or legal restrictions which could affect other people and let some of us who think different about this legal stuff, and let us do some contributions.
Anyways, I don’t think it’s fair or “legal” to add a psgroove parallel at github, with the owners having already one posted, and I don’t think it’s fair that I add my copyright as an author of a payload that does not belongs to me, due to the fact that the original developers form part of that thing known as psjailbreak. From my point of view the source code of the payload belongs to some anonymous people with a not so trusted copyright but it is theirs, and I contribute with some upgrades and not taking advantage of others people code.
If others want to do it and even change the code they are in their whole right to do it, but I think we should not be throwing dirt at the GPL, for example, posting payloads code with that license and neither is good adding a Hermes Copyright, unless the original team does it and that would made me co author with my changes. I don’t think original authors like the idea of some other people meddling in their source code, that said I also don’t think they have been very respectful and legal, at least I bring upgrades and not take advantage of others code.
Also I think the scene should be a collective work, not that of a team. When a team is made, a restriction is made to all outside users in meddling with the code.
Lets suppose tomorrow I would post the project at github, Who will be able to upload contributions? Well easy only the persons I decide, and basically all that ideas that I don’t like wouldn’t be taken into account, they would not be added and in the end we would have the same problem as we do now.
A clear example is this: I have a philosophy of work that kakarotos doesn’t shares, Think we would be able to work in that way? That’s an absolute NO, he can include what he likes of my code, and I can include what I like of his code but WE follow different paths and have different ideas. As a result github would not work
So for me a simple .rar with everything included should be a good solution to facilitate development and portability of the payload to some people, and basically they can apport their own patches or sources and even follow their own paths. Github would be great if this was really open source friendly and people had the will to work all in one same sense, this would have an outstanding size basically, but here right now at this post there have not been contributions made to the payload, just some pokes to some games and pass an .s file that weights around 25kb without being compressed, I don’t think that’s a big deal.
Why don’t I support older firmware?
Two reasons for that: first, I only have 1 ps3 and it has firm 3.41, second, I think it’s a mistake to work older firms when we should be worrying about newer versions of firmware, why because older firmware offer less compatibility with games and they give the most difficult time to work around this bugs at the end it only increases the work 10 times more.
I know some of you don’t update because you want to keep linux , etc. but sometimes in life we just can’t have all we want, and In my opinion its illogical to work for example firm 3.15, when there are already games asking for firmware 3.42 , and I think it’s more logical to seat and examinee, study really well what firmware 3.41 does.
Peek/poke, syscall 36 and syscall 8
I don’t really like these peek and poke calls , they just move 8 bytes of data and are just too simple. Even though I have a better solution ( memcpy using syscall 8) rule of thumb here that every dev should have is having compatibility. Also poke and peek calls are the windows lv2 some uses and think its absurd to limit us.
For that matter syscall 36 must not suppress, even though open manager allows us to change it for other one real easy, we are passing the buck on to the dev making his program, this dev will have to work out with those who can’t change to syscall 36 ( those who have psjailbreak for example) and also limits us in the case that that team posts something that we all could benefit from.
Syscall 8 is a toolbox very useful. Despite someone’s opinion, I don’t think its too difficult to comprehend what it’s basically a switch/case that connects other functions to that syscall and in syscall8.h can be found a lot of explanation of its purpose, also anyone can ask of it here I don’t bite lol.
Syscall 8 allows us to copy, fill with zeros, run kernel routines and even redirect devices and files using a data structure, as explained on syscall8.h
But it has 3 interesting functions: one allows us to fix the access permits, and the other two are that we can enable or disable the use of the syscalls we are using.
So syscall8_disable(key) allows us to hide poke/peek/ syscall36 apps, and even syscall 8 which onlye works waiting for a syscall8_enable(key).
The 64 bit key is used so it is only possible to habilitate syscalls again with the right key, and this way we avoid an app or game find the right key by brute force also this way we can limit number of intents.
I think it’s a stupid reason to prevent the supposed dangerous uses of those syscalls which allow lv2 access and it’s a pitty that there are still people who have not understood the use of those functions and discard them just because I haven’t written a book with these functions, man even a neophyte like me in ppc assembler would understand it
Why you allocate payload on 0x7ff000? Isn’t that dangerous?
I allocate it there because we don’t have empty space. So we got 2 choices: we modify the code so it will only fit on its original spot, taking out our possibilities or we allocate it somewhere else where it should not bother us, given that the lv2 code ends like 2 MB before we allocated our payload.
Dangerous is everything in life, and if someone mentions, when returning from a game to the XMB payload hangs well it must not be to the place where we allocate our code, I have tested and verified it many times and all there is in those spots are pure zeros, If I had seen something else there basically I would not have chosen that address.
And I’m not of those who does things and nothing else, I do test all my apps and I go in and out of games launch and re launch test test test. Truthfully since ive been using open manager ( the original one not those with a lot of bugs made by other people without source code) with all games on folder OMANXXXX I have not had any weird hangs only with games which require disc, basically if disc is not inserted.
Obviously I don’t have all games on the market and thus I cannot know if there are excemptions breaking the rules, but its more likely that a game will hang or something similar due to another reason, not because or where the payload was allocated.