Developing for the Playstation 2?
Kentai asks: "Im thinking of building my final year CS project around developing a piece of software for the Playstation 2 and I am wondering what various pitfalls I should expect. Bringing our own software to the living room on nice hardware seems like a whole new computer medium that would be fun to exploit. Problems I am expecting so far include: issues like obtaining a compiler (pretty important), the whole Playstation 2 CDR issue and legal issues. What compilers can one use to develop PS2 software, and how much does each solution cost? Also, has anyone had any luck or placed any hope on a Java VM for this platform?"
You might want to keep an eye on www.javagaming.org . A few of the Sun Guys Frequent that site, and will sometimes post little bits of information.
Less Talk, More Beer.
Here is a link to Metrowerks CodeWarrior for Playstation 2. I'm not sure about the pricing, but there is a pricing link there where you can send a request for pricing on it. There is also a datasheet, FAQ, etc.. there. Definitely a place to start.
bbh
well, codewarrior seems to be popular with the kids despite its $5000+ price tag and that isn't even counting the $40,000 sony charges to be a licensed developer, a title without which Metrowerks won't sell you a PS2 compiler. Besides, there has to be something free out there (or maybe make your project a PS2 compiler!!!)
Python has been used for commercial games on the PlayStation 2. I don't think that the development tools are on the Web because of Sony licensing. But if you know who to talk to and where to look, you can probably find them.
The dreamcast has an EXCELLENT community built up around homebrew.
There is an awesome library/miniOS called KOS which gives you hooks into everything, you compile with an SH4/ARM crosscompiled gcc, and it's easy to do once you're set up.
http://dcdev.allusion.net/
The PS2 homebrew crowd is JUST STARTING to get off the ground, but there's still problems of having to hack your ps2 with a soldering iron to get it to boot a cdr/etc, as well as very weak library support.
Homebrew console programming is very fun, but go for dreamcast, ESPECIALLY with how cheap dc's are right now.
There's even ways to get a serial cable hooked up, so you get debug info and can upload your program without burning a disc every revision.
Better support will not be found!
That would be me :)
The main thing to expect from the PS2 is that you have minimal to no library support. If you want to get polygons or bitmaps on the screen, you have to manage video memory yourself, you have to talk to the graphics hardware directly, and so on. If you want to really get performance, then you have to write custom assembly code for the vector processors.
The bottom lines are: (A) the learning curve is very steep; and (B) expect to do very embedded-systems type of work, and not be able to rely on fancy C++, Java, or the like.
One of the cross-platform multimedia libraries that has already been ported to the PS2 is SDL. f you have the PS2 Linux Dev kit (hard to get) then you can just download PS2 SDL from here.
I have no idea how well the support is... or the speed... but it works well enough that there is a port of Maelstrom for it. I have heard that you may also be able to use the SDL OpenGL wrappers to make 3D PS2 apps.
If you are using the PS2 Linux dev kit, you can use the GCC (I think) as well as autoconf|automake.
That would be me, too :-)
:-)
The development system costs $10,000 and requires signing an NDA. Also, SCEA generally want to see a business plan or some indication that you're going to release product.
It's very complex hardware to work with in any significant way. Very powerful, but when you have 6 functional units (EE, VU0, VU1, GS, IOP and SPU) all operating in parallel and synchronised (generally) by DMA commands, it's going to be tough to program. At least C++ and STL do work pretty well, there are plenty of companies relying on them for their games. Be thankful for small mercies
In all honesty I would not recommend you look to straight PS2 development for your project. I have some alternate recommendations:
PS2 Linux kit - may not be released in the USA, or not in time for your needs. Runs on the consumer PS2 (with the HDD addon) and has more library support.
Gameboy Advance - has some of the PS2 issues, namely expensive development hardware and NDAs, but much easier for a single programmer to produce something credible on with.
XBox - you can do most of your work on a regular PC under DX8. Easiest programming environment of the 3. But if you do this, maybe you would be better just on a PC with a GeForce 3?
Graham
Check out these sites http://ps2dev.livemedia.com.au
Napalm
and of course
PS2Dev on Sourceforge