forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

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

 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development
View previous topic :: View next topic  
Author Message
KickinAezz



Joined: 03 Jun 2007
Posts: 328

PostPosted: Tue Dec 30, 2008 7:19 am    Post subject: Where have all sceGu* exports gone from PAF FW3.40 onwards? Reply with quote

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.
Back to top
View user's profile Send private message
moonlight



Joined: 26 Oct 2005
Posts: 567

PostPosted: Tue Dec 30, 2008 8:49 am    Post subject: Reply with quote

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!
Back to top
View user's profile Send private message
Dariusc123456



Joined: 12 Aug 2008
Posts: 394

PostPosted: Tue Dec 30, 2008 8:55 am    Post subject: Reply with quote

Moonlight, I thought that the nids where encoded, or was that the hashes?
Back to top
View user's profile Send private message AIM Address
KickinAezz



Joined: 03 Jun 2007
Posts: 328

PostPosted: Tue Dec 30, 2008 9:35 am    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
NoEffex



Joined: 27 Nov 2008
Posts: 108

PostPosted: Tue Dec 30, 2008 10:36 am    Post subject: Reply with quote

If you need I can use prxtool on it for ya.
_________________
Programming with:
Geany + Latest PSPSDK from svn
Back to top
View user's profile Send private message
KickinAezz



Joined: 03 Jun 2007
Posts: 328

PostPosted: Tue Dec 30, 2008 10:58 am    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Dariusc123456



Joined: 12 Aug 2008
Posts: 394

PostPosted: Tue Dec 30, 2008 11:39 am    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message AIM Address
KickinAezz



Joined: 03 Jun 2007
Posts: 328

PostPosted: Tue Dec 30, 2008 11:48 am    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Dariusc123456



Joined: 12 Aug 2008
Posts: 394

PostPosted: Tue Dec 30, 2008 1:18 pm    Post subject: Reply with quote

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).
Back to top
View user's profile Send private message AIM Address
KickinAezz



Joined: 03 Jun 2007
Posts: 328

PostPosted: Tue Dec 30, 2008 11:22 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
moonlight



Joined: 26 Oct 2005
Posts: 567

PostPosted: Wed Dec 31, 2008 2:27 am    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
KickinAezz



Joined: 03 Jun 2007
Posts: 328

PostPosted: Wed Dec 31, 2008 6:23 am    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
moonlight



Joined: 26 Oct 2005
Posts: 567

PostPosted: Wed Dec 31, 2008 7:06 am    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
SilverSpring



Joined: 27 Feb 2007
Posts: 115

PostPosted: Wed Dec 31, 2008 7:39 am    Post subject: Reply with quote

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.
_________________
PSP PRX LibDocs
Back to top
View user's profile Send private message Visit poster's website
KickinAezz



Joined: 03 Jun 2007
Posts: 328

PostPosted: Wed Dec 31, 2008 10:21 am    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
Torch



Joined: 28 May 2008
Posts: 842

PostPosted: Wed Dec 31, 2008 3:59 pm    Post subject: Reply with quote

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.
Back to top
View user's profile Send private message
SilverSpring



Joined: 27 Feb 2007
Posts: 115

PostPosted: Wed Dec 31, 2008 7:07 pm    Post subject: Reply with quote

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:
From scePaf:

0xC19D3436 sceGuColor
0x6F24371F sceGuBlendFunc
0x63313176 sceGuTexFilter

0x3F946A3C sceGumDrawArray
0x702A5582 sceGumRotateX
0x7C5F6924 sceGumRotateY
0x5D92CBB8 sceGumRotateZ


And you'll probably want these:

Code:
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.
_________________
PSP PRX LibDocs
Back to top
View user's profile Send private message Visit poster's website
KickinAezz



Joined: 03 Jun 2007
Posts: 328

PostPosted: Thu Jan 01, 2009 1:33 am    Post subject: Reply with quote

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:
From scePaf:

0xC19D3436 sceGuColor
0x6F24371F sceGuBlendFunc
0x63313176 sceGuTexFilter

0x3F946A3C sceGumDrawArray
0x702A5582 sceGumRotateX
0x7C5F6924 sceGumRotateY
0x5D92CBB8 sceGumRotateZ


And you'll probably want these:

Code:
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.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development All times are GMT + 10 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group