Is there an introduction on how ELF, PRX, Kernel etc. works?

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

Moderators: cheriff, TyRaNiD

Post Reply
Sdw
Posts: 29
Joined: Tue Jul 17, 2007 9:50 am

Is there an introduction on how ELF, PRX, Kernel etc. works?

Post by Sdw »

I've tried out some homebrew coding on the PSP (using 'make kxploit' from the toolchain) and placing the in the GAME150 folder on my 3.40OE and it works fine.
However, I must confess that I've never really understood the inner workings on how executables work and on which mahcines it works (regarding for example the new PSP slims).

Is there a good introduction that explains all this?
Stuff like ELF, PRX, User mode vs. kernal mode, 1.00 homebrew vs. 1.50 homebrew vs. 3.xx homebrew erc.?

It would be good to know this so that the programs I make works for as much people as possible...
Sdw
Posts: 29
Joined: Tue Jul 17, 2007 9:50 am

Post by Sdw »

Thanks, but I was thinking more PSP-specific information.
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

Sdw wrote:Thanks, but I was thinking more PSP-specific information.
No, you figure it out using your more general knowledge and looking at available code. This is DEVELOPER level stuff - it you can't learn from hex dumps, you're not ready for it yet. :)

Programming the PSP isn't Visual Basic. I don't know why so many people expect it to be. They come in thinking a book on C++ for dummies (which they haven't read yet) will make them PSP programmers. Game consoles are generally much more complex than regular computers.
ufoz
Posts: 86
Joined: Thu Nov 10, 2005 2:36 am
Location: Tokyo
Contact:

Post by ufoz »

J.F. wrote:
Sdw wrote:Thanks, but I was thinking more PSP-specific information.
No, you figure it out using your more general knowledge and looking at available code. This is DEVELOPER level stuff - it you can't learn from hex dumps, you're not ready for it yet. :)

Programming the PSP isn't Visual Basic. I don't know why so many people expect it to be. They come in thinking a book on C++ for dummies (which they haven't read yet) will make them PSP programmers. Game consoles are generally much more complex than regular computers.
What's with the elitist attitude?

There's a very well-written guide on how PRXes work right here on this site --> http://ps2dev.org/psp/Tutorials
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

ufoz wrote:
J.F. wrote:
Sdw wrote:Thanks, but I was thinking more PSP-specific information.
No, you figure it out using your more general knowledge and looking at available code. This is DEVELOPER level stuff - it you can't learn from hex dumps, you're not ready for it yet. :)

Programming the PSP isn't Visual Basic. I don't know why so many people expect it to be. They come in thinking a book on C++ for dummies (which they haven't read yet) will make them PSP programmers. Game consoles are generally much more complex than regular computers.
What's with the elitist attitude?

There's a very well-written guide on how PRXes work right here on this site --> http://ps2dev.org/psp/Tutorials
That doc uses ASSEMBLY reversed from compiled code to make points, among other things. If he could understand that doc, he wouldn't have been asking in the first place. :)

Well, I'll give him the benefit on the doubt on this for the moment. He did realize that 1.50 software needed "make kxploit" instead of "make", so maybe he's not as bad as most of the noobs that occasionally drop by and ask why Visual Basic doesn't run on the PSP. :D

It's not an elitist attitude, it's a realistic attitude. Despite people barely managing to make "Hello World" work in Visual Basic, they somehow feel they're qualified to program the PSP. They think that because the PSP is a "toy" it should somehow be easier to program than a regular computer. They feel that skimming a "dummies" book on programming is better than taking classes and studying references manuals. And do they want to do a PSP "Hello World"? NO! They want to make their first app a PS3 emulator or custom firmware. :X
Sdw
Posts: 29
Joined: Tue Jul 17, 2007 9:50 am

Post by Sdw »

J.F. wrote:
Sdw wrote:Thanks, but I was thinking more PSP-specific information.
No, you figure it out using your more general knowledge and looking at available code. This is DEVELOPER level stuff - it you can't learn from hex dumps, you're not ready for it yet. :)

Programming the PSP isn't Visual Basic. I don't know why so many people expect it to be. They come in thinking a book on C++ for dummies (which they haven't read yet) will make them PSP programmers. Game consoles are generally much more complex than regular computers.
What the hell??? That's among the most insulting responses I've ever gotten on a board. Are you questioning whether I can develop? Here's a link to stuff I've programmed on various platforms:
http://sdw.webhop.net/prods.html
I've done my work on poorly documented platforms where you have to test and reverse engineer to get things working (for example the DTV)

BUT, the PSP seems to have a fairly mature development community, so instead of having to do all that hard work yourself, I thought there might be some good documents how PSP stuff works. For example, what a PRX is and what differs it from an ELF, how the different firmware versions affect what the developer can do etc.

I don't think it is unreasonable to try that route first before trying to reinvent the wheel.

I guess you get a lot of newbies asking stupid questions here, but while I might be a newbie when it comes to PSP, I assure you that I know a thing or two about developing...
Istari
Posts: 10
Joined: Fri Sep 30, 2005 2:34 am

Post by Istari »

I just thought of another link that might get you started a bit.
http://hitmen.c02.at/html/psp_docs.html

Just check out Yet another Playstation Portable Documentation it is incomplete but better than nothing.

edit:
oh and http://silverspring.lan.st/ if you are trying to reverse engineer something.
Sdw
Posts: 29
Joined: Tue Jul 17, 2007 9:50 am

Post by Sdw »

Istari wrote:I just thought of another link that might get you started a bit.
http://hitmen.c02.at/html/psp_docs.html

Just check out Yet another Playstation Portable Documentation it is incomplete but better than nothing.
Thanks! That was just the kind of document I was looking for, very nice!
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

Sdw wrote:
J.F. wrote:
Sdw wrote:Thanks, but I was thinking more PSP-specific information.
No, you figure it out using your more general knowledge and looking at available code. This is DEVELOPER level stuff - it you can't learn from hex dumps, you're not ready for it yet. :)

Programming the PSP isn't Visual Basic. I don't know why so many people expect it to be. They come in thinking a book on C++ for dummies (which they haven't read yet) will make them PSP programmers. Game consoles are generally much more complex than regular computers.
What the hell??? That's among the most insulting responses I've ever gotten on a board. Are you questioning whether I can develop? Here's a link to stuff I've programmed on various platforms:
http://sdw.webhop.net/prods.html
I've done my work on poorly documented platforms where you have to test and reverse engineer to get things working (for example the DTV)

BUT, the PSP seems to have a fairly mature development community, so instead of having to do all that hard work yourself, I thought there might be some good documents how PSP stuff works. For example, what a PRX is and what differs it from an ELF, how the different firmware versions affect what the developer can do etc.

I don't think it is unreasonable to try that route first before trying to reinvent the wheel.

I guess you get a lot of newbies asking stupid questions here, but while I might be a newbie when it comes to PSP, I assure you that I know a thing or two about developing...
Very nice. You do indeed seem to be quite accomplished. That's good, but you could have at least looked through the older threads before asking. I found all that info you asked about here and elsewhere without ever asking a single question. Ask questions that are easily answered by looking at older threads and a little googling and you can expect at least a little razzing - and I'm not nearly the worst here for that. Yes, I expect it's faster and less work, but it makes you appear noobish, so you wind up getting those kinds of answers.

The fact that you thought my answer was one of the most insulting you've ever gotten just says how little you visit developer forums. :) On most of the dev forums I belong to (this is one of about a dozen I visit), I'm considered mild and polite. :D If you look at SOME posts here, noobs have been run out of the forum on a rail by certain members (not me). If you stick around, you'll find they're a good group - just not terribly noob-friendly. 8)
Sdw
Posts: 29
Joined: Tue Jul 17, 2007 9:50 am

Post by Sdw »

J.F. wrote: Very nice. You do indeed seem to be quite accomplished. That's good, but you could have at least looked through the older threads before asking. I found all that info you asked about here and elsewhere without ever asking a single question. Ask questions that are easily answered by looking at older threads and a little googling and you can expect at least a little razzing - and I'm not nearly the worst here for that. Yes, I expect it's faster and less work, but it makes you appear noobish, so you wind up getting those kinds of answers.
I did a bit of searching, but using common terms like PRX, PBP etc. yields a whole lot of threads that really doesn't shed any light on what I was looking for. Ofcourse I'm a bit lazy, and asking if all this info is collected in one place seemed like the better solution! :D
The fact that you thought my answer was one of the most insulting you've ever gotten just says how little you visit developer forums. :) On most of the dev forums I belong to (this is one of about a dozen I visit), I'm considered mild and polite. :D If you look at SOME posts here, noobs have been run out of the forum on a rail by certain members (not me). If you stick around, you'll find they're a good group - just not terribly noob-friendly. 8)
Are you saying there are worse insults than accusing someone of not even being able to do "Hello World" in Visual Basic?!? ;)

Seriously - lets forget this and get back to discussing the PSP instead!
edepot
Posts: 111
Joined: Sat Apr 09, 2005 3:39 pm

Post by edepot »

[quote]I did a bit of searching, but using common terms like PRX, PBP etc. yields a whole lot of threads that really doesn't shed any light on what I was looking for. Ofcourse I'm a bit lazy, and asking if all this info is collected in one place seemed like the better solution! :D[/quote]

The best page to get you started is here:

http://www.edepot.com/reviews_sony_psp.html

Search for "PSP Software" section in that page. I suggest linking to it as it is a very good page with tons of useful information. Not just for programming but lots of things too.
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

Sdw wrote:Seriously - lets forget this and get back to discussing the PSP instead!
Yes, please. I'm embarrassed enough already. :)

I just posted a review of how external kernel mode libs are made and used for doing 3.xx/Slim apps in another thread.

http://forums.ps2dev.org/viewtopic.php?t=9022

That should give you a simple overview of external libs in general, and kernel mode usage on the latest PSP and custom firmware. Simple examples are good for understanding, then you go and bump up the complexity for your own stuff. :)
Post Reply