Where have all sceGu* exports gone from PAF FW3.40 onwards?

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

Moderators: cheriff, TyRaNiD

Post Reply
KickinAezz
Posts: 328
Joined: Sun Jun 03, 2007 10:05 pm

Where have all sceGu* exports gone from PAF FW3.40 onwards?

Post by KickinAezz »

Where have they all gone?

Why aren't they exported any longer?


If anyone has an idea, it would be great!
Intrigued by PSP system Since December 2006.
Use it more for Development than for Gaming.
moonlight
Posts: 567
Joined: Wed Oct 26, 2005 7:46 pm

Post by moonlight »

They are exported but they randomized nids, and they do it again each few new firmwares. They are not handled by nids resolver, paf is too big!
Dariusc123456
Posts: 388
Joined: Tue Aug 12, 2008 12:46 am

Post by Dariusc123456 »

Moonlight, I thought that the nids where encoded, or was that the hashes?
KickinAezz
Posts: 328
Joined: Sun Jun 03, 2007 10:05 pm

Post by KickinAezz »

moonlight wrote:They are exported but they randomized nids, and they do it again each few new firmwares. They are not handled by nids resolver, paf is too big!
Could you post most of what you know for 5.00 Paf i.e. the nids?


Bad SCE!
Intrigued by PSP system Since December 2006.
Use it more for Development than for Gaming.
NoEffex
Posts: 106
Joined: Thu Nov 27, 2008 6:48 am

Post by NoEffex »

If you need I can use prxtool on it for ya.
Programming with:
Geany + Latest PSPSDK from svn
KickinAezz
Posts: 328
Joined: Sun Jun 03, 2007 10:05 pm

Post by KickinAezz »

NoEffex wrote:If you need I can use prxtool on it for ya.
Sure; if you know the names too.
Intrigued by PSP system Since December 2006.
Use it more for Development than for Gaming.
Dariusc123456
Posts: 388
Joined: Tue Aug 12, 2008 12:46 am

Post by Dariusc123456 »

KickinAezz wrote:
NoEffex wrote:If you need I can use prxtool on it for ya.
Sure; if you know the names too.
prxtool disassemble elf or prx files. Its use to reverse enginner the file that output mips asm.
KickinAezz
Posts: 328
Joined: Sun Jun 03, 2007 10:05 pm

Post by KickinAezz »

Dariusc123456 wrote:
KickinAezz wrote:
NoEffex wrote:If you need I can use prxtool on it for ya.
Sure; if you know the names too.
prxtool disassemble elf or prx files. Its use to reverse enginner the file that output mips asm.
wut?

/ye

-

Still open for answers.
Intrigued by PSP system Since December 2006.
Use it more for Development than for Gaming.
Dariusc123456
Posts: 388
Joined: Tue Aug 12, 2008 12:46 am

Post by Dariusc123456 »

Im just sayin that you dont need to know the name when using prxtool. You looking for all SceGu commands, and minus what commands we have, you just need to find the names we dont have, unless you want to brute force the prx file and get the exports (that been hash with sha, but havent been encoded).
KickinAezz
Posts: 328
Joined: Sun Jun 03, 2007 10:05 pm

Post by KickinAezz »

Dariusc123456 wrote:Im just sayin that you dont need to know the name when using prxtool. You looking for all SceGu commands, and minus what commands we have, you just need to find the names we dont have, unless you want to brute force the prx file and get the exports (that been hash with sha, but havent been encoded).
Please donot ruin this thread again.

---

I am only looking for NIDs, if any one has them, kindly post it please. Thanks!
Intrigued by PSP system Since December 2006.
Use it more for Development than for Gaming.
moonlight
Posts: 567
Joined: Wed Oct 26, 2005 7:46 pm

Post by moonlight »

I don't have the nids. It is a waste of time because it would make your app not work whenever 5.10 or whatever comes out.
KickinAezz
Posts: 328
Joined: Sun Jun 03, 2007 10:05 pm

Post by KickinAezz »

moonlight wrote:I don't have the nids. It is a waste of time because it would make your app not work whenever 5.10 or whatever comes out.
Got it.

There's always the option to consume more memory and use our own code instead of the ones already there :D

---

From which module do Games import sceGu* function from?
Intrigued by PSP system Since December 2006.
Use it more for Development than for Gaming.
moonlight
Posts: 567
Joined: Wed Oct 26, 2005 7:46 pm

Post by moonlight »

KickinAezz wrote:
moonlight wrote:I don't have the nids. It is a waste of time because it would make your app not work whenever 5.10 or whatever comes out.
Got it.

There's always the option to consume more memory and use our own code instead of the ones already there :D

---

From which module do Games import sceGu* function from?
From none. gu library in games is a static library.
SilverSpring
Posts: 110
Joined: Tue Feb 27, 2007 9:43 pm
Contact:

Post by SilverSpring »

It would be better if you just asked for particular functions rather than all the NID's. There are simply too many NID's to list them all. Which sceGu functions do you need? I'll post the 5.00 NID's for them (if that particular function is exported that is, not all of the sceGu API is exposed. Though the entire sceGu lib is embedded in paf only a handful of functions are actually exported).

Also like Moonlight said, games do not import sceGu functions from any module, they are statically linked during compilation. So the sceGu code would be inside the game binary itself (the libs are provided by Sony to the game developers to use). This is the same with the PSPSDK, the GU lib is statically linked it's not dynamically imported from any module.

@Dariusc123456:
None of your posts ever make any sense. Btw, prxtool is much more than just a disassembler.
KickinAezz
Posts: 328
Joined: Sun Jun 03, 2007 10:05 pm

Post by KickinAezz »

SilverSpring wrote:It would be better if you just asked for particular functions rather than all the NID's. There are simply too many NID's to list them all. Which sceGu functions do you need? I'll post the 5.00 NID's for them (if that particular function is exported that is, not all of the sceGu API is exposed. Though the entire sceGu lib is embedded in paf only a handful of functions are actually exported).

Also like Moonlight said, games do not import sceGu functions from any module, they are statically linked during compilation. So the sceGu code would be inside the game binary itself (the libs are provided by Sony to the game developers to use). This is the same with the PSPSDK, the GU lib is statically linked it's not dynamically imported from any module.
I am particularly looking for sceGuColor, DrawArray, RotateX, RotateY, RotateZ, Finish, sceGuBlendFunc, TexFilter all sorts of interesting ones; they will save me a whole lot of user mem space.
Intrigued by PSP system Since December 2006.
Use it more for Development than for Gaming.
User avatar
Torch
Posts: 825
Joined: Wed May 28, 2008 2:50 am

Post by Torch »

Wouldn't it be technically possible to make an 'intelligent' NIDs resolver for sceGu functions? Since the old 3.xx NIDs are known, can't you identify some unique code in each function and programmatically look for the corresponding new NID function? Plus won't there be other clues, like the physical order of the functions in the compiled lib will be similar to the old one, even if the NIDs are different?

This process might take a few seconds to compute though, if its possible. Or you could build a mapping table for each firmware.
SilverSpring
Posts: 110
Joined: Tue Feb 27, 2007 9:43 pm
Contact:

Post by SilverSpring »

KickinAezz wrote:
SilverSpring wrote:It would be better if you just asked for particular functions rather than all the NID's. There are simply too many NID's to list them all. Which sceGu functions do you need? I'll post the 5.00 NID's for them (if that particular function is exported that is, not all of the sceGu API is exposed. Though the entire sceGu lib is embedded in paf only a handful of functions are actually exported).

Also like Moonlight said, games do not import sceGu functions from any module, they are statically linked during compilation. So the sceGu code would be inside the game binary itself (the libs are provided by Sony to the game developers to use). This is the same with the PSPSDK, the GU lib is statically linked it's not dynamically imported from any module.
I am particularly looking for sceGuColor, DrawArray, RotateX, RotateY, RotateZ, Finish, sceGuBlendFunc, TexFilter all sorts of interesting ones; they will save me a whole lot of user mem space.
You should be more specific, DrawArray, RotateX, RotateY, RotateZ, are from libGUM not libGU.

Anyway here are the NID's (for 5.00 only!!):

Code: Select all

From scePaf:

0xC19D3436 sceGuColor
0x6F24371F sceGuBlendFunc
0x63313176 sceGuTexFilter

0x3F946A3C sceGumDrawArray
0x702A5582 sceGumRotateX
0x7C5F6924 sceGumRotateY
0x5D92CBB8 sceGumRotateZ
And you'll probably want these:

Code: Select all

0x742E5D6B sceGuInit
0x9EF060BF sceGuTerm
0x4CF520A3 sceGuStart
0x4170FB8F sceGuFinish
0xE252131C sceGuEnable
0xB173F74B sceGuDisable
0xB8D78044 sceGuSync
@Torch: I think that's how the current NID resolver works already. Does an 'intelligent' search.
KickinAezz
Posts: 328
Joined: Sun Jun 03, 2007 10:05 pm

Post by KickinAezz »

SilverSpring wrote:
KickinAezz wrote:
SilverSpring wrote:It would be better if you just asked for particular functions rather than all the NID's. There are simply too many NID's to list them all. Which sceGu functions do you need? I'll post the 5.00 NID's for them (if that particular function is exported that is, not all of the sceGu API is exposed. Though the entire sceGu lib is embedded in paf only a handful of functions are actually exported).

Also like Moonlight said, games do not import sceGu functions from any module, they are statically linked during compilation. So the sceGu code would be inside the game binary itself (the libs are provided by Sony to the game developers to use). This is the same with the PSPSDK, the GU lib is statically linked it's not dynamically imported from any module.
I am particularly looking for sceGuColor, DrawArray, RotateX, RotateY, RotateZ, Finish, sceGuBlendFunc, TexFilter all sorts of interesting ones; they will save me a whole lot of user mem space.
You should be more specific, DrawArray, RotateX, RotateY, RotateZ, are from libGUM not libGU.

Anyway here are the NID's (for 5.00 only!!):

Code: Select all

From scePaf:

0xC19D3436 sceGuColor
0x6F24371F sceGuBlendFunc
0x63313176 sceGuTexFilter

0x3F946A3C sceGumDrawArray
0x702A5582 sceGumRotateX
0x7C5F6924 sceGumRotateY
0x5D92CBB8 sceGumRotateZ
And you'll probably want these:

Code: Select all

0x742E5D6B sceGuInit
0x9EF060BF sceGuTerm
0x4CF520A3 sceGuStart
0x4170FB8F sceGuFinish
0xE252131C sceGuEnable
0xB173F74B sceGuDisable
0xB8D78044 sceGuSync
@Torch: I think that's how the current NID resolver works already. Does an 'intelligent' search.
Awesomatic!

Thanks.


Edit: What was the Randomizing string?
Intrigued by PSP system Since December 2006.
Use it more for Development than for Gaming.
Post Reply