A question about legality

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

Post Reply
piercer
Posts: 21
Joined: Fri Apr 01, 2005 4:45 pm

A question about legality

Post by piercer »

I know this forum tries to be very careful about legal issues, and I respect that.

So I wonder where the forums stand on this.

I have seen the example code from the Metrowerks leak (only seen the code, I do not have the studio) and it made it very clear how to write code to use the gpu.

I saw some function names and wondered how to get the proper addresses for them (nids I belive they are called) into my oopo tool chain so thay I can try using them.

Is it illegal for me to post the names of the functions that I saw? Do the actual names not matter atall?

Please advise.
ector
Posts: 195
Joined: Thu May 12, 2005 10:22 pm

Post by ector »

A more legal way, as has been discussed in other threads, is reverse engineering Puzzle Bobble which has full debug symbols. Chip-Nat has reverse engineered the MIPS code, and I have tried running it in my experimental emulator and gotten valid display lists (no it's not playable and won't be for a while, other parts of the code keeps writing and reading from bad memory locations probably due to some missed relocation, mostly the libc for some reason, printf is all screwed up). I'm now using his list from the wiki to figure out what it's doing.
BTW, it looks like 04 is the primitive kick command, with the count of primitives in the low 16 bits and the primitive type in the 3 bits just above that.
chp
Posts: 313
Joined: Wed Jun 23, 2004 7:16 am

Post by chp »

ector wrote:A more legal way, as has been discussed in other threads, is reverse engineering Puzzle Bobble which has full debug symbols. Chip-Nat has reverse engineered the MIPS code, and I have tried running it in my experimental emulator and gotten valid display lists (no it's not playable and won't be for a while, other parts of the code keeps writing and reading from bad memory locations probably due to some missed relocation, mostly the libc for some reason, printf is all screwed up). I'm now using his list from the wiki to figure out what it's doing.
BTW, it looks like 04 is the primitive kick command, with the count of primitives in the low 16 bits and the primitive type in the 3 bits just above that.
Yes, 04 is the primitive kick (I've finally given sceGuDraw*() a proper reverse), and primitive count is in the lower 16 bits, with primitive type just above it as you've observed. And also, sprites seems to be index 6 (sceGuClear() uses this), so my assumption that the GS primitive-types are used for normal geometry-rendering seems to hold (except that I placed the primitive type in the wrong location :) ).
Post Reply