Page 1 of 1

ps2dev FAQ in progress

Posted: Sat Aug 28, 2004 1:22 am
by mharris
I've started putting together a FAQ for ps2dev. This will hopefully become the "newbies guide to ps2dev" that we get a lot of requests for. The idea is to have a one-stop solution for the majority of the questions that newcomers ask.

The basic contents will be:
  • How to get the tools
  • How to build/install the tools
  • How to build an app
  • How to get an app running on the ps2 using Independence with ps2link or naplink
  • I'm thinking about having an appendix about the ps2 architecture, similar to the venerable Ars Technica article
I'll probably also add a little philosophy in the introduction -- what the ps2dev community does and doesn't do (e.g., cracking/modding commecial games, etc.), and Gorim's "we don't need an easier loader" manifesto.

I probably will not have much in the way of coding tutorials, mainly to keep the size onder control. I'll probably have a very basic "hello ps2" for completeness.

I am open to other topics that need to be included; post them here. If you want to contribute as an author, let me know as well. I'll post a more complete outline soon. When I have something usable, I'll see about getting it into CVS.

Posted: Sat Aug 28, 2004 6:40 am
by apache37
Are you going to cover boot methods? That and "how do I get X onto my memory card?" seem to be common newbie questions.

Posted: Sat Aug 28, 2004 7:10 am
by redcoat
Speaking as a newbie, myself, I think this would be an excellent addition to ps2dev. I'm sure the ps2dev team get tired of the same old questions coming around.

My two cents worth of suggestions are:
- list common mistakes, and how to fix them,
- what environment variables should be defined in your .bash_profile (I "discovered" the ones that were missing by looking in the Makefiles), e.g. I had $PS2SDK == $PS2SDKSRC for a few days which caused odd problems,
- known problems/incompatibilities, e.g. ps2link v1.24 (current) doesn't appear to work with current ps2atad.irx & ps2hdd.irx, but ps2link v1.22 does(?),
- tutorials would be an excellent addition, but I appreciate that these are time-consuming (and not as much fun as coding :wink: ).

Adding a created/modified timestamp to the FAQ would be a great help. Maybe, even to each section (& sub-section) so us newbies have a clue as to how recent/relevant a piece of information is. It is really frustrating to bang your head against the wall for hours/days only to discover that the information that you are using is so old it should be in a muesum. :(

I'll pull together my own notes as to how I've done things myself, and more importantly the traps/mistakes I've fallen into.

Posted: Sat Aug 28, 2004 8:56 am
by bendarr
I applaud your efforts and wish you well. One thing I've been very impressed with (for the most part) around here is the lack or trolls that frequent the X-Box development scene. Most everyone is extremely helpful and patient. Not like "HA HA you stupid n00b! What a dumb question!"

One thing you might keep in mind is that you know a lot about what you're talking about. We dont. Try to keep it simple and straight forward, explaining every step along the way.

But I'm sure you know that...

Posted: Sat Aug 28, 2004 10:12 am
by ooPo
If you open my toolchain.sh script with a text editor, you'll see instructions like which environment variables need to be set. :)

( http://www.oopo.net/consoledev )

Posted: Sat Aug 28, 2004 10:42 am
by mharris
apache37 wrote:Are you going to cover boot methods? That and "how do I get X onto my memory card?" seem to be common newbie questions.
Yes, and sort of.

I'll cover the PS2 Independence boot method, since it's the most flexible, the best-supported, and the one I have the most experience with.

Things like nPort that I have no experience with, I'll leave to other authors. Like the rest of ps2dev, I expect that this will be a collaborative project. I'm going to start it and maintain it, but anyone is welcome to contribute.
bendarr wrote:One thing you might keep in mind is that you know a lot about what you're talking about. We dont. Try to keep it simple and straight forward, explaining every step along the way.
Absolutely. I am assuming the reader has nothing beyond rudimentary C knowledge. That, and the ability to follow directions ;-)
ooPo wrote:If you open my toolchain.sh script with a text editor, you'll see instructions like which environment variables need to be set. :)
ooPo, I am going to be using your toolchain shell script as the "preferred way" to configure the environment -- so keep it working ;-) I'll spell out the env variables (and the commands needed to set them), so hopefully no one will need to open the source.


(FYI, the document itself is in DocBook XML format, which is formally defined, yet very flexible and is easily translated into HTML, PDF, and other formats. It's a text format, which leads to much easier collaboration and versioning, and is much richer in terms of meta-data than HTML.)

Posted: Sat Aug 28, 2004 10:45 am
by ooPo
The only things I can really see changing with the toolchain script would be to grab ps2sdk from an archive rather than right out of cvs, and maybe adding a couple other software packages like gslib or whatever the crazy kids are using these days...

Posted: Sat Aug 28, 2004 11:23 am
by redcoat
ooPo wrote:If you open my toolchain.sh script with a text editor, you'll see instructions like which environment variables need to be set. :)

( http://www.oopo.net/consoledev )
Yes, I did look in "toolchain.sh", honest! :)

The additional environment variables I found I needed to define where: PS2LIB, PS2DRV, PS2ETH, PS2ETH, PS2IP, SBVLITE. Perhaps it was unnecessary for me to do that, I was experiencing several problems getting everything setup so maybe these problems compounded with each other.

Sorry, my comment probably did come over a bit harsh. Please try to understand my perspective, I've been working with the ps2dev libraries and toolchain for the last three weeks and I've found it has a high barrier to entry. I don't consider that to be intentional, but the result of certain pieces of code and information becoming out-dated. This makes life really tough for the newbie, and I wouldn't be surprized if some people have given up in frustration.

When I first came across the ps2dev.org site I was stunned by how much work and progress has been made to allow homebrew software to be developed on the PS2. This is one heck of an achievement guys!

The problem now (as I see it) is that the ps2dev team has a lot of information and knowledge in their collective heads that is probably "obvious" to the them/you, but not to us newbies. Having a single point of reference, like a FAQ, is essential if you want others to join in and to make good use of what you've created.

Posted: Sat Aug 28, 2004 2:18 pm
by ooPo
You know, if you were using the script a couple months ago when it still used ps2lib/etc, you would have been ok. :)

I run into the same nonsense whenever I get interested in compiling the latest projects just to see what's new. I spend a few hours tracking down some arcane environment variables, change a bit of code to compile with gcc3, etc... in the end I give up and never bother. Its quite a pain...

Hopefully ps2sdk will solve a lot of this. It combined a bunch of these projects together, although they were the easy ones to begin with... *shrug*

Posted: Sat Aug 28, 2004 11:38 pm
by mharris
redcoat wrote:Adding a created/modified timestamp to the FAQ would be a great help. Maybe, even to each section (& sub-section) so us newbies have a clue as to how recent/relevant a piece of information is. It is really frustrating to bang your head against the wall for hours/days only to discover that the information that you are using is so old it should be in a muesum. :(
There will be a version number, date, and a changelog, so that should help.

ooPo, have you considered putting your scripts and patches into ps2dev's CVS repository? That might make some things easier too (e.g., "if you're using revision 1.7 or earlier of toolchain.sh, you'll also need to set these variables...")