Here are a few hints for beginners
Procedure for installing clean and legal development environment for PS2 (PS2Dev) on Windows :
(successfully tested on October 1st 2006)
(based on page
http://www.ps2dev.org)
1) Be sure to have last version of cygwin (a free and legal unix-like environment for Windows)
Go on
www.cygwin.com, click "install or update now!" in middle of page. The small setup program will offer you to download or update all components of cygwin (take them all). That can take all the day. Be patient.
Repository in Belgium is very good. Will consume several gigabytes of disk space. Try to have 20Gb available for safety. Choose c:\cygwin and c:\cygwin_downloads, for example, when pathes are asked.
Cygwin includes GNU compilers and all stuff you may need later in order to produce your own programs.
2) Download PS2Dev directly from SVN
Start the cygwin icon to start a unix session, and navigate :
cd ..
cd ..
cd usr
cd local
You are now in /usr/local (c:\cygwin\usr\local for Windows)
Create directory ps2dev right here
cd ps2dev
Use the following commands to obtain the list of available directories :
svn list svn://svn.pspdev.org/ps2/trunk >ps2.txt
svn list svn://svn.pspdev.org/ps2ware/trunk >ps2ware.txt
svn list svn://svn.pspdev.org/ps2/trunk/ps2sdk >ps2sdk.txt
There are other directories for PSP and PS3 developpers :
svn list svn://svn.pspdev.org/psp/trunk >psp.txt
svn list svn://svn.pspdev.org/pspware/trunk >pspware.txt
svn list svn://svn.pspdev.org/ps3 >ps3.txt
Download the following directories with these commands :
svn checkout svn://svn.pspdev.org/ps2/trunk/ps2toolchain
svn checkout svn://svn.pspdev.org/ps2/trunk/ps2sdk
svn checkout svn://svn.pspdev.org/ps2/trunk/gsKit
svn checkout svn://svn.pspdev.org/ps2/trunk/ps2client
svn checkout svn://svn.pspdev.org/ps2ware/trunk/SMS
ps2toolchain : allows you to create /usr/local/ps2dev contents
(In this directory /bin, /ee and /iop will hold specific needed
executables. The file README.TXT explains everything.)
ps2sdk : libraries to link with your program (samples supplied)
gsKit : library useful to send primitives to GPU through DMA
(version 0.3 manages to display 27800 triangles per frame)
ps2client : a command that can be triggered in your makefile and
will upload the .elf executable in your ps2 (with ps2link runs)
SMS : A whole application, allowing to see movies and such.
The most confusing in ps2 development is the need to upload code
in the iop (ps1 processor) then have the main code located in the
ee (ps2 processor) running and able to communicate with the iop.
SMS shows a way to encapsulate irx files (code modules for iop)
inside the ee main program source code, and how to upload them.
The result is just one .elf file (code module for ee) that loads
well and fast in ps2. File can be burnt on cd-r (use cdgenps2 to
create iso file then burn it with alcohol 120% in DAO/SAO mode)
or upload it through network with ps2link cd running inside ps2.
3)Try to compile SMS
Personally I got hard to understand compiler errors in 2 files.
I fixed them by just moving functions at top of files (because
of forward references you will have to add some prototypes for
these moved functions). I think errors are just symbols buffers
overflows and they disappear by changing order of functions...
4)Run it. You should at least see the main menu.
There are constants in graphic initialization function that allow
to switch to HDTV resolution (480p). With a HDTV component cable
and a compotent to VGA adapter you obtain incredible quality
on a 16/9 TV that has a VGA input. Same trick works for gsKit.
Have fun with your PS2!