Page 1 of 1

SCEI EE gcc patches?

Posted: Sat Mar 19, 2005 2:09 am
by mharris
Something I noticed when reading the (publicly available) paper from SCEA Research Procedural Rendering on PlayStation 2:
Unlike the early days of the PS2 where everything had to be painstakingly pieced together from the manuals and example code, lately there are some new tools to help you program PS2. Most of these are freely available for registered developers from the PS2 support websites and nearly all come with source.
The GCC inline assembler patch adds a number of new features to the inline assembler:
  • Introduces a new j register type for 128-bit vector registers, allowing the compiler to know that these values are to be assigned to VU0 Macro Mode registers
  • Allows register naming, so more descriptive symbols can be used.
  • Allows access to fields in VU0 broadcast instructions allowing you to, say, template a function across broadcast fields (x, xy, xyz, xyzw)
  • No more volatile inline assembly, the compiler is free to reorder instructions as the context is properly described.
  • No more explicit loading and moving registers to and from VU registers, the compiler is free to keep values in VU registers as long as possible.
  • No need to use explicit registers, unless you want to. The compiler can assign free registers
I've tried using some of this based on the examples, but with no success, so I'm assuming that these changes are not in our toolchain, but in one that's only available to registered developers. Has SCEI released this patch to the public? It would seem like a violation of the GPL if they haven't...

The "j" register type, along with better native support for the 128-bit data types, would be very nice.

Posted: Sat Mar 19, 2005 2:23 am
by modman
This was on slashdot recently:

http://developers.slashdot.org/develope ... 156&tid=17

Seems that maybe we should give Sony a call:

http://www.yellowpages.com/SearchResult ... k&state=NY

Maybe http://www.eff.org/ can help us if we have a case.

"We want teh source!" :-)

Posted: Sat Mar 19, 2005 3:00 am
by mharris
Just to be clear, I don't want this to turn into a SCEI-bashing flamewar...

I'm just curious: if they're distributing a patch to product(s) licensed under the GPL (e.g., gcc, binutils), are they required to redistribute the source to anyone, even if the tools are only available to licensed developers? Since their changes are not being distributed to the public at large, are there requirements in the GPL that require them to distribute the source to the public at large? I don't know the answer to this, and reading the GPL doesn't shed any light on it.

Correspondingly, are there any restrictions on licensed developers who have received this patch? In other words, even if you've signed Sony's NDA, do you still have the right to distribute the patches that SCEI made to GPL'd code?

Of course, I could be jumping to conclusions here -- maybe the source is somewhere, and I just haven't been able to find it ;-)

Posted: Sat Mar 19, 2005 3:42 am
by mrbrown
mharris: Talk to some of the GCC hackers in #ps2dev, chances are (well I guarantee :) that they have the patches and are willng to share with you.

And no, SCEA is not in GPL violation, since they only distribute the binaries to licensed developers. Ignore anyone who suggests otherwise - that one seems to make the top ten of the misunderstood GPL list :). I don't know about the NDA bit, I remember Sparky asking for permission to distribute the patches out of courtesy to SCEE and they told him yes. But that was awhile ago, and I'm a bit fuzzy on the details. Better ask him :).

Posted: Sat Mar 19, 2005 5:17 am
by pixel
Actually, any registred developper is allowed to distribute the binutils/gcc patches. mrbrown is right: the GPL is allowing SONY to distribute his crafted binaries to some people only, and not giving out the patches to anyone directly. But, indirectly, as long as only the patches are given out, the NDA doesn't apply, because THAT would be a GPL violation (that is, unallowing people to redistribute the patches freely)

So any people who gets the patches (that is, any developper) is perfectly and utterly allowed to distribute them. And sony is perfectly "allowed" to frankly dislike this developper afterward. So, it is maybe a bit difficult to convince a registered developper to give out the patches.

So I don't know. Maybe some of you may want to try to convince registered developpers to ask the patches out and redistribute them to us. *shrug*

Posted: Sat Mar 19, 2005 9:05 am
by mrbrown
*slaps forehead*

There are #ps2dev'rs that already have the SCEA GCC patches. Just ask them for them. Since they haven't posted in the affirmative, I'll tell you who it is: blackdroid and MrHTFord.

Posted: Sat Mar 19, 2005 9:26 am
by pixel
I'll try to taunt them to death then.

Posted: Sat Mar 19, 2005 9:59 am
by blackdroid
modman wrote:This was on slashdot recently:

http://developers.slashdot.org/develope ... 156&tid=17

Seems that maybe we should give Sony a call:
Please get lost with your viral outcry, as mr.b has said Sony is following the license by the book.

I have a gcc-3.2 source that includes these datatypes, when using those you will get mmi and cop2 generated code.

Posted: Mon Mar 21, 2005 10:50 am
by modman
sorry blackdroid...

i was not taught the finer points of the GPL license in college... i have read about two paragraphs and do not wish to read anymore :)

the post was mostly meant to be a joke, as i don't think u will be able to reach anyone directly calling that number.

sorry sony ;-)