The PS2DEV DISC Project

Discuss the development of software, tools, libraries and anything else that helps make ps2dev happen.

Moderators: cheriff, Herben

Post Reply
ooPo
Site Admin
Posts: 2023
Joined: Sat Jan 17, 2004 9:56 am
Location: Canada
Contact:

The PS2DEV DISC Project

Post by ooPo »

As our newest toolchain busy bee, pixel, has been doing a lot of work lately I've decided to start my push for a standardized set of compilers, assemblers, and tools for people to get into ps2dev. This is just a vague plan and I'd like to get input from anyone in the scene whether you're an expert or not. Well, as long as its constuctive. :)

Basically, I see these parts:

1) A getting started guide that we can point new users to. Hopefuly something simple enough to read and follow that we won't have to hold anyone's hands. This should be made easier by having:

2) Standardized gcc/binutils versions, patches, and locations. Basically we can state the the currently supported versions are X. If you have bugs or problems, make sure you're using them, etc...

3) Standardized set of libs and tools. Probably ps2lib/ps2sdk/etc, a couple loaders, maybe even a binary distribution of ps2link.

4) Standard set of example code/tutorials **that will compile with the standard sets of compilers and libs**. Hopefully this can put an end to people downloading sample code and spending weeks trying to get it to work with non-ancient libs.

5) Standard set of documentation. Something we can point people at when they have a technical question, and a place to add info as we get it. Perhaps using the ps2linux documentation as a base. I am unsure how legal that would be, though.

6) And finally: The PS2DEV DISC. Basically a bootable ps2link/send0r disc with all these other parts on it. A single iso we can get people to download and use. It would contain source and binary releases, demo code, whatever... Aim for a release/update of this every quarter or 6 months or so.

How does this sound? I know half of you hate it already. :)
pixel
Posts: 791
Joined: Fri Jan 30, 2004 11:43 pm

Post by pixel »

^^

Well, I think I have to get this as a compliment, thanks :)

And of course, I think it's clearly the right thing to do. That's even what I tried to start by creating these debian packages (since all the packages compile and work together)

Why not having a wiki somewhere? That would be easier to build-up all of this if certain users can create and tweak wiki pages so the newcomers would be guided safely.
pixel: A mischievous magical spirit associated with screen displays. The computer industry has frequently borrowed from mythology. Witness the sprites in computer graphics, the demons in artificial intelligence and the trolls in the marketing department.
Oobles
Site Admin
Posts: 347
Joined: Sat Jan 17, 2004 9:49 am
Location: Melbourne, Australia
Contact:

Post by Oobles »

Yep. Sounds like a great idea. I had been thinking about creating a binary memory card for Xport, Nport, etc with everything required to boot from the exploit (eg. ps2menu, ps2link ).

As far as the wiki goes. ps2dev.org is actually a wiki. Its just a little unstable at the moment and really needs the "Add File" and "Register User" put back. I'll get it done soon.. really I will. :)

Something to add to the guide is all the domains of ps2dev.org and their features.

ps2dev.org : news and wiki.
forums.ps2dev.org : User forums
cvs.ps2dev.org : Web CVS viewer
bugzilla.ps2dev.org : Bug tracking
docs.ps2dev.org : Doxygen documentation for cvs
quotes.ps2dev.org : #ps2dev quotes from IRC.

Oobles.
newbie007

The View of a newbie

Post by newbie007 »

Thats a great idea. I had tons of problems by starting ps2dev and it wouldn't have been possible without the aid of the ppl in #ps2dev. The whole problems for me started with the programing language. I didn't have any ideas about "C" and as a windows infected person I had no idea about what cygwin or bash is and how to get the GNU-EE-GCC to work. There should be something like a CHECKLIST to get through before starting all the things. It would be ok too if there would be some explanations what the libs do or what the bootloader is for, too. It was/is nearly impossible for me to understand which part of the whole thing which software does.
But all over it would be perfect to have such a package like you will do.
I'm looking forward to test your package :wink:
pixel
Posts: 791
Joined: Fri Jan 30, 2004 11:43 pm

Post by pixel »

I'm actually sure that we might get benefits by having "unified" packages, ie, having only two source packages that can build several (ee, iop and dvp) targets. That would mean getting rid of the old "iop-binutils" and "iop-gcc". Especially iop-gcc, since it's based on a reaaaaaaally old version of gcc.

However, getting rid of the iop-gcc shouldn't be difficult at all imho, since the iop-gcc patch is rather small. iop-binutils would be a little bit more difficult, but not impossible though.

What do you think? Would it be worth the effort to tweak the sources in order to stick to versions "2.13.2.1" of binutils and "3.2.2" of gcc for the whole toolchain for PS2?


Different subject: I managed to canadian cross compile some things out from linux to mingw32, but not everything. In the following package, you'll find a small mingw32 toolchain, containing iop-binutils, ee-binutils and ee-gcc, with only C support: http://www.nobis-crew.org/ps2-mingw32-20040202.zip (iop-gcc is just tooooo old in order to canadian cross compile it actually...)

Could some of you give it a short try? Thanks :)
pixel: A mischievous magical spirit associated with screen displays. The computer industry has frequently borrowed from mythology. Witness the sprites in computer graphics, the demons in artificial intelligence and the trolls in the marketing department.
ooPo
Site Admin
Posts: 2023
Joined: Sat Jan 17, 2004 9:56 am
Location: Canada
Contact:

Post by ooPo »

A single unified source package is a great idea. Get right on it. :) You may want to talk to mrbrown about specific versions and coordinate with him on it.

There's also a bugzilla bug opened to port IOP support to newer versions of binutils/gcc located at: http://bugzilla.ps2dev.org/show_bug.cgi?id=5

As for dvp/vu stuff? Maybe give blackd a poke whenever he gets back from his trip. I hear he's the kung vu master.
pixel
Posts: 791
Joined: Fri Jan 30, 2004 11:43 pm

Post by pixel »

Hum, I just created an account. I'll try to help :)
pixel: A mischievous magical spirit associated with screen displays. The computer industry has frequently borrowed from mythology. Witness the sprites in computer graphics, the demons in artificial intelligence and the trolls in the marketing department.
ooPo
Site Admin
Posts: 2023
Joined: Sat Jan 17, 2004 9:56 am
Location: Canada
Contact:

Post by ooPo »

Ok, so here's what I have for a plan so far:

1) The disc will be a bootable ps2link disc, probably version 1.3 if I can bug adresd/whoever into releasing it. It would be nice to have it use dhcp to get its network info, but that can come later. :)

2) TOOLS: The toolchain directory will contain binary packages for win32, linux, and osx. Warren has volunteered to do win32 with his nice installer but this is a cooperative effort - if anyone wants to help, step up. As for what's included, here's the list as I see it now:

EE TOOLCHAIN:
binutils-2.13.2.1
gcc-3.2.2 (C, C++)

IOP TOOLCHAIN:
binutils-2.9.1
gcc-2.8.1 (C)

VU TOOLCHAIN:
????????

LIBS:
newlib-1.10.0
ps2lib-2.1
ps2drv-1.0
libhdd-1.0
libcdvd-1.13
ps2eth-?.??
ps2ip-?.??
bin2s
sjcrunch2
(maybe add gslib?)

CLIENTS:
inlink (win32)
ps2client (unix)
pksh (unix)

3) DEMOS: A directory of demos and other nifty toys. Basically something for the new user to play with once he's all set up. A copy of send0r, some TTC demos, a few homebrew games. Something to show off a little. I'll poke through the TTC archives for some good ones and ask for permission to include them.

4) CODE: A collection of sourcecode that the new user can compile and toy with to get an idea of how the process works. A hello world, a spinning cube, etc. We can probably grab a lot of this out of ps2lib and other packages. If you want to donate something interesting, please do.

5) DOCS: A getting started guide outlining the process from installing to running a demo for the first time, maybe few tutorials on how to do stuff, perhaps tied into some of the demo code. Some technical references like from my site, maybe if someone feels fiesty they can transcribe the documentation from the ps2linux kit over in a legal fashion. Also, we're going to have a CREDITS document to give everyone something to point to if they're trying to get employment or whatever.

6) SOURCE: Copies of the source code for everything used in the toolchain, along with a script to build it yourself if there's no binary package available for you.

==============

Questions? Suggestions? Volunteers? Now's the time to speak up. I hope to have a beta version of this disc thrown together by the weekend. If you can contribute ANYTHING, especially documentation, please do so.
User avatar
dagamer34
Posts: 35
Joined: Sat Jan 24, 2004 12:04 pm
Contact:

Post by dagamer34 »

So, when will this magical disc be ready?

Some things that might be good to include in the demos:

1) Loading a 2D bitmap
2) Alpha-blending
3) Rendering a 3D polygon
4) Rendering a textured 3D polygon
5) Rendering a lit 3D polygon
6) Rendering a textured-lit 3D polygon
7) "Moving" around (camera system)
8) Basic animation
9) Special effects
10) etc...

Mostly the PS2 specific stuff. It shouldn't include like a PS2 implementation of a BSP tree or heightmapping, even though it would be good, most newbies who are using the PS2 should know the theory.

Also, doesn't the PS2 support vertex shaders? Or is just undocumented?
while (your_engine >= my_engine)
my_engine++; :P
Oobles
Site Admin
Posts: 347
Joined: Sat Jan 17, 2004 9:49 am
Location: Melbourne, Australia
Contact:

Post by Oobles »

In terms of Libs.. all the libs listed are pretty much all intended to move to ps2sdk. I'd like to see ps2disc include that, but I guess it might need to be 1.1 release if no-one is working on ps2sdk.

I also suggest that we have a set number of target environments. I can think of three main environments.

*nix
cygwin (which is pretty much the same as *nix)
win32 (using only cygwin dll)

There seems to be problems with makefile configurations under win32.

Just some random thoughts,
Oobles.
ooPo
Site Admin
Posts: 2023
Joined: Sat Jan 17, 2004 9:56 am
Location: Canada
Contact:

Post by ooPo »

As ps2sdk gets developed, the disc will move over to it. I'm hoping to have a regular update schedule, so... don't worry. :)

As for target binary environments, I'm going to try to support:

linux-x86
win32
cygwin
macosx 10.3

...with an autobuild script for those using other unixes.

For demos/tutorials, I don't know if any has ported already or would want to port some of those nehe opengl demos.

When will it be ready? I don't know yet... the sooner the better, though.
redfield
Posts: 10
Joined: Wed Jan 21, 2004 4:58 am
Location: France
Contact:

Excellent idea !

Post by redfield »

This could be very helpfull for beginners, i'd like to contribute by providing additionnal french support for some documents, i know it isn't a priority but i'm sure it would help a lot of new coders.

Just tell me if i can do anything.
Image

REDFIELD
ooPo
Site Admin
Posts: 2023
Joined: Sat Jan 17, 2004 9:56 am
Location: Canada
Contact:

Post by ooPo »

Write whatever you want and send it to me. I'll put it on the disc.
redfield
Posts: 10
Joined: Wed Jan 21, 2004 4:58 am
Location: France
Contact:

thanks

Post by redfield »

allright i'll do so, i know it's a very small contribution but i've learned a lot from ps2dev and really want to share my experience for this wonderfull project :)

thanks again
Image

REDFIELD
Post Reply