[PSP] Como programar para PSP (mini-HOWTO)

Este mini-tutorial esta pensado para Linux, pero es muy fácil hacerlo igual para Windows con Cygwin.

Antes de hacer nada, decir que tenéis que tener instalado en vuestra máquina los paquetes básicos de programación en C y en C++, también hay que tener el CVS, también tenéis que tener una buena conexión ADSL por que hay que descargar unos 50 megas, dicho esto, vamos al lío.

Como supongo que sabréis hasta el momento los programas “caseros” de PSP se están compilando con el compilador GNU para PS2, así que lo primero que haremos es instalar el compilador para PS2.

Nos bajamos unos pequeños “scripts“ que nos hacen todo el trabajo sucio, es decir, se bajan el GCC y las BINUTILS, le aplican unos parches para PS2 y los compilan, como es podéis imaginar esto tarda un poquito, así que hacemos lo siguiente:
# cd /tmp/
# cvs -z9 -d:pserver:anonymous@ps2dev.org:/home/ps2cvs login
// Como password hay que poner “anonymous” sin las comillas
# cvs -z9 -d:pserver:anonymous@ps2dev.org:/home/ps2cvs co -P ps2toolchain

Esto es rápido, ahora tenemos un directorio que se llama “ps2toolchain”, entramos en el y tendremos varios ficheros .sh, .patch y un README, simplemente tenemos que ejecutar el “script” toolchain.sh y a esperar un ratito:
# cd ps2toolchain/
# chmod +x toolchain.sh
# ./toolchain.sh

Cuando esto finalice ya tendremos listo nuestro entorno de programación para PS2, todos los ficheros están en “/usr/local/ps2dev/”, ahora tenemos que establecer unas variables de entorno para compilar, etc..., yo lo he puesto en el directorio “profile.d”, también se puede poner en el “.bashrc” o donde mejor nos venga:
# cd /etc/profile.d/
# vi ps2dev.sh
//---- Contenido del fichero ----
## PS2DEV SETTINGS
export PS2DEV="/usr/local/ps2dev"
export PS2SDK="$PS2DEV/ps2sdk"
export CVSROOT=":pserver:anonymous@cvs.ps2dev.org:/home/ps2cvs"
export PATH="$PATH:$PS2DEV/bin:$PS2DEV/ee/bin:$PS2DEV/iop/bin:$PS2DEV/dvp/bin:$PS2SDK/bin"
//---- Fin del contenido del fichero ----
# chmod +x ps2dev.sh

Ahora para que las variables de entorno funcionen tenemos que cerrar y volver a abrir la consola, si estamos a través de ssh hay que hacer un logout y volver a entrar, cuando estemos otra vez dentro podemos comprobar que ha funcionado haciendo un “echo” de las variables por ejemplo:
# echo $PS2DEV
/usr/local/ps2dev
# echo $PS2SDK
/usr/local/ps2dev/ps2sdk

Si todo es correcto seguimos.

Ahora nos bajamos el “Hello World” de nem para compilarlo y ver que todo funciona, voy a poner todo lo relacionado con PSP en el directorio “/usr/local/ps2dev/psp” así lo tenemos controladito:
# cd $PS2DEV
# mkdir psp
# cd psp
# wget [url]http://anon.ug.to/sec/pub/hellopsp_src_Rel1.zip[/url]
# unzip hellopsp_src_Rel1.zip
# cd hellopsp_src

Muy bien, ya tenemos el código fuente del “Hello” y lo hemos extraído, antes de poder compilar hay que retocar algunos ficheros, que son, el “outpatch.cpp” y el “mk.bat”, primero tenemos que compilar el “outpatch” a parte y para ello tenemos que crear un fichero que se llame “stdafx.h” en el mismo directorio con el siguiente contenido:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

Ahora editamos el fichero “outpatch.cpp” y buscamos la línea:
int _tmain(int argc, _TCHAR* argv[])

Y la cambiamos por:
int main(int argc, char *argv[])

Ahora ya podemos compilarlo con:
g++ -o outpatch outpatch.cpp


Ahora le cambiamos el nombre al fichero mk.bat por mk.sh:
# mv mk.bat mk.sh

Y lo editamos para que nos quede así:
#!/bin/sh

$PS2DEV/ee/bin/ee-gcc -march=r4000 -g -mgp32 -mlong32 -c hellopsp.c
$PS2DEV/ee/bin/ee-gcc -march=r4000 -g -mgp32 -mlong32 -c pg.c
$PS2DEV/ee/bin/ee-gcc -march=r4000 -g -mgp32 -c -xassembler -O -o startup.o startup.s
$PS2DEV/ee/bin/ee-ld -O0 startup.o hellopsp.o pg.o -M -Ttext 8900000 -q -o out > hellopsp.map
./outpatch
echo "You got outp as psp elf"

Ya solo tenemos que darle privilegios de ejecución al fichero “mk.sh” y compilar:
# chmod +x mk.sh
# ./mk.sh

El resultado de la compilación debería ser algo así:
successed filesize:000125DA modulename:0000F1A4 scemoduleinfo:0001085F
You got outp as psp elf

Con todo esto hemos conseguido un ejecutable para PSP que es el fichero “outp”, para poder ejecutarlo en la PSP con Firmware 1.0 lo tenemos que convertir a PBP, loser tiene un programita para pasar un ELF a PBP así que lo vamos a usar, es muy sencillo, lo bajamos, lo compilamos y desde el fichero “mk.sh” lo llamamos así ya tendremos nuestro PBP listo para ejecutar:
# cd $PS2DEV/psp
# mkdir elf2ebp
# cd elf2ebp
# wget [url]http://www.internalreality.com/elf2pbp3.zip[/url]
# unzip elf2pbp3.zip
# cd src/
# g++ -o elf2pbp main.cpp
# cp elf2pbp ../../hellopsp_src
# cd ../../hellopsp_src

Bueno, como ya he dicho es fácil, ahora ya tenemos en el mismo directorio el elf2pbp para convertir nuestro ELF en un PBP, editamos el fichero “mk.sh” y detrás de “./outpatch” ponemos “./elf2pbp outp "Hello World!!!"”, resumiendo, quedaría así:
#!/bin/sh

$PS2DEV/ee/bin/ee-gcc -march=r4000 -g -mgp32 -mlong32 -c hellopsp.c
$PS2DEV/ee/bin/ee-gcc -march=r4000 -g -mgp32 -mlong32 -c pg.c
$PS2DEV/ee/bin/ee-gcc -march=r4000 -g -mgp32 -c -xassembler -O -o startup.o startup.s
$PS2DEV/ee/bin/ee-ld -O0 startup.o hellopsp.o pg.o -M -Ttext 8900000 -q -o out > hellopsp.map
./outpatch
./elf2pbp outp "Hello World!!!"
echo "You got outp as psp elf"

Ahora ejecutamos el fichero “mk.sh” y obtendremos el fichero “EBOOT.PBP”, este fichero lo copiamos en “/mnt/PSP/GAME/HELLO/” y a probar.

Como es evidente yo tengo el firmware 1.5 así que no puedo probar nada, si tuviera el 1.0 no estaría escribiendo este tutorial, seguramente estaría programando algo para la PSP :-).

Si empezamos a trastear el código vemos que:

bitmap.c: Imagen del logo
font.c: La fuente para imprimir textos en pantalla
hellopsp.c: Programa
pg.c: Funciones para pintar en pantalla

Evidentemente en “startup.s” están definidas las funciones especificas para PSP con su “hash” correspondiente, si nos pasamos por los foros de PS2Dev encontraremos algunos hilos dedicados a buscar estas funciones.

Bueno, esto es todo, ni que decir que para programar algo para PSP hay que saber un poco de C y tener muchas ganas y tiempo libre, Ahhhh!!! y el Firmware 1.0 [+furioso]
muchisimas gracias, en cuanto llegue a casa me pongo a probar. Muy currado tio
Un saludo
y porque me habra enseñado turbopascal en lugar de C/C++? sigo sin entederlo :(

muy currado el "mini" tutorial!
gran trabajo Mrsiir! Gracias por el tuto. salu2!
Ya he compilado todas las historias... no habra el PSP Emulator para Linux porque sino tengo que volver al windows o configurar el wine...

Editado: acabo de ver tu post en ps2dev asique me voy olvidando por el momento [tadoramo]
Paloseco escribió:Ya he compilado todas las historias... no habra el PSP Emulator para Linux porque sino tengo que volver al windows o configurar el wine...

Editado: acabo de ver tu post en ps2dev asique me voy olvidando por el momento [tadoramo]
Es un poco humillante que a los Linuxeros no nos tengan en consideración, el PSPE esta programado con las SDL que son multiplataforma y evidentemente funcionan en Linux, así que pasar el PSPE a Linux seguramente será muy sencillo y quien dice a Linux dice a Mac, pero hay gente que se piensa que solo existe Windows y encima se piensan que son libres [qmparto]
Le he mandado ayer un mail al tio que sale en el font.c del pspe a ver si me contesta. No creo que sea probable que me conteste pero esperemos a ver si tiene alguna relacin con el creador.
Bueno, a mi es algo que no me gusta, pero siempre nos queda el Wine, yo uso una versión del Wine compilada por CodeWeavers, se llama CrossOffice, pero supongo que funcionará igual con el Wine normal.

Yo hago lo siguiente:

1.- Creo la carpeta bin/pspe y dentro copio el pspe.exe y la SDL.dll
2.- En el Makefile me pongo un "run":
run:
        $(HOME)/cxoffice/bin/wine ./bin/pspe/pspe.exe EBOOT.PBP

3.- Así despues de "make" hago "make run" y ahi tenemos funcionando el emulador, eso si, emulador por el Wine

Os dejo una imagen de como queda:
Imagen

Es un poco triste, pero algo es algo.
Muy buenas estoy realizando la instalación de las ps2toolchain
y cuando ha descargado todo y se dispone instalar al final da el siguiente error :

.
.
patching file newlib/libm/math/erf_lgamma.c
creating cache ./config.cache
checking host system type... i686-pc-cygwin
checking target system type... mips64r5900el-scei-elf
checking build system type... i686-pc-cygwin
cc: not found
*** The command 'cc -o conftest -g conftest.c' failed.
*** You must set the environment variable CC to a working compiler.
ERROR CONFIGURING BINUTILS (binutils-2.14 ee)

Estoy con cygwin, mis conocimientos de linux son nulos, me podías
decir si tengo que configurar algo , donde, y si me tengo que descargar algo. Gracias.

P.D.
Si ejecuto cc me da el siguiente error.
$ cc
bash: cc: command not found

Un saludo.
alh4k escribió:Muy buenas estoy realizando la instalación de las ps2toolchain
y cuando ha descargado todo y se dispone instalar al final da el siguiente error :

.
.
patching file newlib/libm/math/erf_lgamma.c
creating cache ./config.cache
checking host system type... i686-pc-cygwin
checking target system type... mips64r5900el-scei-elf
checking build system type... i686-pc-cygwin
cc: not found
*** The command 'cc -o conftest -g conftest.c' failed.
*** You must set the environment variable CC to a working compiler.
ERROR CONFIGURING BINUTILS (binutils-2.14 ee)

Estoy con cygwin, mis conocimientos de linux son nulos, me podías
decir si tengo que configurar algo , donde, y si me tengo que descargar algo. Gracias.

P.D.
Si ejecuto cc me da el siguiente error.
$ cc
bash: cc: command not found

Un saludo.


Veamos, CC no es un comando, es una variable de entorno.
Prueba a hacer un
># echo $CC
a ver si apunta a algun compilador válido de C o C++ ...
si no es así, dale un valor
># export CC=aqui_el_compilador

No garantizo que te funcione, pero debería.
Gracias por la ayuda Time2SaiL, parece que en la instalación de
Cygwin no instalé el compilador de c.
Y ahora parece que si funciona cc. Pero ahora he vuelto a lanzar el
comando ps2toolchain y ahora parece que si instala pero lleva casi una hora y sigue instalando no se si se ha embuclado ¿ Es normal esto ?.

Un saludo
Hola, ante todo gracias por el tuto MrSiir[S], decir k trabajo bajo windows [noop] y estoy teniendo algunos problemas compilando el Hello World, cuando ejecuto el mk obtengo varios mensajes de error, entre ellos "cc1.exe: Invalid option `arch=r4000' ". Sabeis a que puede debe ser debido? Gracias por anticipado. Salu2!!!!
Esto todavía sigue instalando lleva unas cuentas horas ¿ No es normal ?
..
..

../../libiberty/regex.c:1428: warning: traditional C rejects string constant con
catenation
../../libiberty/regex.c: In function `xregcomp':
../../libiberty/regex.c:8099: warning: signed and unsigned type in conditional e
xpression
../../libiberty/regex.c: At top level:
../../libiberty/regex.c:8234: warning: unused parameter 'preg'
if [ x"" != x ]; then \
gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I../../libiberty/../include -W -Wall -Wtra
ditional -pedantic ../../libiberty/cplus-dem.c -o pic/cplus-dem.o; \
else true; fi
gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I../../libiberty/../include -W -Wall -Wtradi
tional -pedantic ../../libiberty/cplus-dem.c
../../libiberty/cplus-dem.c: In function `ada_demangle':
../../libiberty/cplus-dem.c:1003: warning: dereferencing type-punned pointer wil
l break strict-aliasing rules
../../libiberty/cplus-dem.c:1056: warning: dereferencing type-punned pointer wil
l break strict-aliasing rules
if [ x"" != x ]; then \
gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I../../libiberty/../include -W -Wall -Wtra
ditional -pedantic ../../libiberty/cp-demangle.c -o pic/cp-demangle.o; \
else true; fi
gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I../../libiberty/../include -W -Wall -Wtradi
tional -pedantic ../../libiberty/cp-demangle.c

y sigue y sigue . ¿ Esto no se habrá embuclado ?
Paro o lo dejo ?

Un saludo.
compilar el gcc lleva bastante tiempo, luego intenta bajarse otra vez el siguiente paquete y tambien lo compila, a mi en un amd 1600 me llevo ¿3 horas? puedes bajarte primero todos los paquetes y luego instalarlos offline tendrias que modificar el script mk.sh Si no sabes como modificar el script para descargar solo los archivos de los CVS y luego para compilar offline pregunta y te ayudaremos [buenazo]

Te dejo aqui la lista de paquetes que tengo yo y que los puedes (debes) seleccionar con el cygwin y te los bajas para trabajar offline:

./gnome
./gnome/libbonobo2
./gnome/libbonobo2/libbonobo20
./gnome/libbonobo2/libbonobo20/libbonobo20-2.8.0-1.tar.bz2
./gnome/libbonobo2/libbonobo2-2.8.0-1.tar.bz2
./gnome/libgnomeprint22
./gnome/libgnomeprint22/libgnomeprint22-2.8.0.1-1.tar.bz2
./gnome/libgnomeprintui22
./gnome/libgnomeprintui22/libgnomeprintui22-2.8.0-1.tar.bz2
./GraphicsMagick
./GraphicsMagick/libGraphicsMagick0
./GraphicsMagick/libGraphicsMagick0/libGraphicsMagick0-1.0.6-1.tar.bz2
./ImageMagick
./ImageMagick/libMagick6
./ImageMagick/libMagick6/libMagick6-6.0.4-1.tar.bz2
./x11
./x11/cygwin-x-doc
./x11/cygwin-x-doc/cygwin-x-doc-1.0.4-1.tar.bz2
./x11/fontconfig
./x11/fontconfig/libfontconfig1
./x11/fontconfig/libfontconfig1/libfontconfig1-2.2.2-1.tar.bz2
./x11/fontconfig/fontconfig-2.2.2-1.tar.bz2
./x11/freetype2
./x11/freetype2/libfreetype26
./x11/freetype2/libfreetype26/libfreetype26-2.1.5-1.tar.bz2
./x11/freetype2/freetype2-2.1.5-1.tar.bz2
./x11/gd
./x11/gd/libgd-devel
./x11/gd/libgd-devel/libgd-devel-2.0.33-1.tar.bz2
./x11/gd/libgd2
./x11/gd/libgd2/libgd2-2.0.33-1.tar.bz2
./x11/gd/gd-2.0.33-1.tar.bz2
./x11/lesstif
./x11/lesstif/lesstif-0.93.94-2.tar.bz2
./x11/libXft
./x11/libXft/libXft1
./x11/libXft/libXft1/libXft1-1.0.0-1.tar.bz2
./x11/libXft/libXft2
./x11/libXft/libXft2/libXft2-2.1.6-1.tar.bz2
./x11/libXft/libXft-2.1.6-1.tar.bz2
./_obsolete
./_obsolete/cygipc
./_obsolete/cygipc/cygipc-2.03-2.tar.bz2
./_obsolete/mhash
./_obsolete/mhash/mhash-0.9.1-1.tar.bz2
./_obsolete/sh-utils
./_obsolete/sh-utils/sh-utils-2.0.15-5.tar.bz2
./_update-info-dir
./_update-info-dir/_update-info-dir-00245-1.tar.bz2
./apr
./apr/libapr0
./apr/libapr0/libapr0-0.9.6-1.tar.bz2
./apr-util
./apr-util/libaprutil0
./apr-util/libaprutil0/libaprutil0-0.9.6-1.tar.bz2
./ash
./ash/ash-20040127-1.tar.bz2
./audiofile
./audiofile/libaudiofile0
./audiofile/libaudiofile0/libaudiofile0-0.2.6-2.tar.bz2
./audiofile/audiofile-0.2.6-2.tar.bz2
./base-files
./base-files/base-files-3.4-2.tar.bz2
./base-passwd
./base-passwd/base-passwd-2.2-1.tar.bz2
./bash
./bash/bash-2.05b-17.tar.bz2
./binutils
./binutils/binutils-20050520-1.tar.bz2
./bzip2
./bzip2/libbz2_0
./bzip2/libbz2_0/libbz2_0-1.0.2-1.tar.bz2
./bzip2/libbz2_1
./bzip2/libbz2_1/libbz2_1-1.0.2-6.tar.bz2
./bzip2/bzip2-1.0.2-6.tar.bz2
./coreutils
./coreutils/coreutils-5.3.0-5.tar.bz2
./cron
./cron/cron-3.0.1-19.tar.bz2
./crypt
./crypt/crypt-1.1-1.tar.bz2
./curl
./curl/curl-7.11.1-1.tar.bz2
./cvs
./cvs/cvs-1.11.17-1.tar.bz2
./cvsutils
./cvsutils/cvsutils-0.2.3-1.tar.bz2
./cygrunsrv
./cygrunsrv/cygrunsrv-1.10-1.tar.bz2
./cygutils
./cygutils/cygutils-1.2.8-1.tar.bz2
./cygwin
./cygwin/cygwin-1.5.17-1.tar.bz2
./cygwin-doc
./cygwin-doc/cygwin-doc-1.4-2.tar.bz2
./cyrus-sasl
./cyrus-sasl/libsasl2
./cyrus-sasl/libsasl2/libsasl2-2.1.19-3.tar.bz2
./cyrus-sasl/libsasl2-devel
./cyrus-sasl/libsasl2-devel/libsasl2-devel-2.1.19-3.tar.bz2
./db
./db/db4.2
./db/db4.2/libdb4.2
./db/db4.2/libdb4.2/libdb4.2-4.2.52-1.tar.bz2
./diffutils
./diffutils/diffutils-2.8.7-1.tar.bz2
./editrights
./editrights/editrights-1.01-1.tar.bz2
./esound
./esound/libesound0
./esound/libesound0/libesound0-0.2.35-1.tar.bz2
./exif
./exif/libexif
./exif/libexif/libexif-0.6.9-1.tar.bz2
./expat
./expat/expat-1.95.8-1.tar.bz2
./expect
./expect/expect-20030128-1.tar.bz2
./file
./file/file-4.12-1.tar.bz2
./findutils
./findutils/findutils-20041227-1.tar.bz2
./freeglut
./freeglut/freeglut-2.2.0-1.tar.bz2
./gawk
./gawk/gawk-3.1.4-3.tar.bz2
./gcc
./gcc/gcc-ada
./gcc/gcc-ada/gcc-ada-3.3.3-3.tar.bz2
./gcc/gcc-core
./gcc/gcc-core/gcc-core-3.3.3-3.tar.bz2
./gcc/gcc-g++
./gcc/gcc-g++/gcc-g++-3.3.3-3.tar.bz2
./gcc/gcc-g77
./gcc/gcc-g77/gcc-g77-3.3.3-3.tar.bz2
./gcc/gcc-gdc
./gcc/gcc-gdc/gcc-gdc-3.3.3-3.tar.bz2
./gcc/gcc-gpc
./gcc/gcc-gpc/gcc-gpc-3.3.3-3.tar.bz2
./gcc/gcc-java
./gcc/gcc-java/gcc-java-3.3.3-3.tar.bz2
./gcc/gcc-objc
./gcc/gcc-objc/gcc-objc-3.3.3-3.tar.bz2
./gcc/gcc-testsuite
./gcc/gcc-testsuite/gcc-testsuite-3.4.1-1-src.tar.bz2
./gcc/gcc-3.3.3-3.tar.bz2
./gcc-mingw
./gcc-mingw/gcc-mingw-ada
./gcc-mingw/gcc-mingw-ada/gcc-mingw-ada-20040810-1.tar.bz2
./gcc-mingw/gcc-mingw-core
./gcc-mingw/gcc-mingw-core/gcc-mingw-core-20040810-1.tar.bz2
./gcc-mingw/gcc-mingw-g++
./gcc-mingw/gcc-mingw-g++/gcc-mingw-g++-20040810-1.tar.bz2
./gcc-mingw/gcc-mingw-g77
./gcc-mingw/gcc-mingw-g77/gcc-mingw-g77-20040810-1.tar.bz2
./gcc-mingw/gcc-mingw-gpc
./gcc-mingw/gcc-mingw-gpc/gcc-mingw-gpc-20040810-1.tar.bz2
./gcc-mingw/gcc-mingw-java
./gcc-mingw/gcc-mingw-java/gcc-mingw-java-20040810-1.tar.bz2
./gcc-mingw/gcc-mingw-objc
./gcc-mingw/gcc-mingw-objc/gcc-mingw-objc-20040810-1.tar.bz2
./gcc-mingw/gcc-mingw-20040810-1.tar.bz2
./gdbm
./gdbm/libgdbm
./gdbm/libgdbm/libgdbm-1.8.0-5.tar.bz2
./gdbm/libgdbm-devel
./gdbm/libgdbm-devel/libgdbm-devel-1.8.3-7.tar.bz2
./gdbm/libgdbm3
./gdbm/libgdbm3/libgdbm3-1.8.3-3.tar.bz2
./gdbm/libgdbm4
./gdbm/libgdbm4/libgdbm4-1.8.3-7.tar.bz2
./gdbm/gdbm-1.8.3-7.tar.bz2
./gettext
./gettext/libgettextpo0
./gettext/libgettextpo0/libgettextpo0-0.14.1-1.tar.bz2
./gettext/libintl
./gettext/libintl/libintl-0.10.38-3.tar.bz2
./gettext/libintl1
./gettext/libintl1/libintl1-0.10.40-1.tar.bz2
./gettext/libintl2
./gettext/libintl2/libintl2-0.12.1-3.tar.bz2
./gettext/libintl3
./gettext/libintl3/libintl3-0.14.1-1.tar.bz2
./gettext/libintl3/libintl3-0.14.1-1.tar.tar
./gettext/libintl3/md5.sum
./gettext/libintl3/setup.hint
./glib
./glib/glib-1.2.10-2.tar.bz2
./glib2
./glib2/glib2-devel
./glib2/glib2-devel/glib2-devel-2.4.8-1.tar.bz2
./glib2/glib2-doc
./glib2/glib2-doc/glib2-doc-2.4.8-1.tar.bz2
./glib2/glib2-runtime
./glib2/glib2-runtime/glib2-runtime-2.4.8-1.tar.bz2
./glib2/glib2-2.4.8-1.tar.bz2
./gmp
./gmp/gmp-4.1.4-2.tar.bz2
./grep
./grep/grep-2.5.1a-2.tar.bz2
./groff
./groff/groff-1.18.1-2.tar.bz2
./gsl
./gsl/gsl-1.6-1.tar.bz2
./gtk+
./gtk+/gtk+-1.2.10-2.tar.bz2
./guile
./guile/libguile12
./guile/libguile12/libguile12-1.6.7-1.tar.bz2
./guile/libguile12abi13
./guile/libguile12abi13/libguile12abi13-1.6.4-3.tar.bz2
./guile/libguile16
./guile/libguile16/libguile16-1.7.2-1.tar.bz2
./gzip
./gzip/gzip-1.3.5-1.tar.bz2
./jasper
./jasper/jasper-1.701.0-1.tar.bz2
./jbigkit
./jbigkit/jbigkit-1.5-3.tar.bz2
./jpeg
./jpeg/libjpeg62
./jpeg/libjpeg62/libjpeg62-6b-11.tar.bz2
./jpeg/libjpeg6b
./jpeg/libjpeg6b/libjpeg6b-6b-8.tar.bz2
./jpeg/jpeg-6b-11.tar.bz2
./lcms
./lcms/lcms-1.13-1.tar.bz2
./less
./less/less-381-1.tar.bz2
./libart_lgpl
./libart_lgpl/libart_lgpl-2.3.16-1.tar.bz2
./libcroco
./libcroco/libcroco-0.5.1-2.tar.bz2
./libfpx
./libfpx/libfpx-1.2.0.9-1.tar.bz2
./libgc
./libgc/libgc-6.4-1.tar.bz2
./libgcrypt
./libgcrypt/libgcrypt-1.2.0-2.tar.bz2
./libgeotiff
./libgeotiff/libgeotiff-devel
./libgeotiff/libgeotiff-devel/libgeotiff-devel-1.2.2-1.tar.bz2
./libgeotiff/libgeotiff1
./libgeotiff/libgeotiff1/libgeotiff1-1.2.2-1.tar.bz2
./libgeotiff/libgeotiff-1.2.2-1.tar.bz2
./libgpg-error
./libgpg-error/libgpg-error-1.0-2.tar.bz2
./libiconv
./libiconv/libcharset1
./libiconv/libcharset1/libcharset1-1.9.2-1.tar.bz2
./libiconv/libiconv2
./libiconv/libiconv2/libiconv2-1.9.2-1.tar.bz2
./libiconv/libiconv-1.9.2-1.tar.bz2
./libmcrypt
./libmcrypt/libmcrypt-devel
./libmcrypt/libmcrypt-devel/libmcrypt-devel-2.5.7-2.tar.bz2
./libmcrypt/libmcrypt-2.5.7-2.tar.bz2
./libmng
./libmng/libmng-1.0.8-1.tar.bz2
./libpng
./libpng/libpng10
./libpng/libpng10/libpng10-1.0.15-4.tar.bz2
./libpng/libpng10-devel
./libpng/libpng10-devel/libpng10-devel-1.0.15-4.tar.bz2
./libpng/libpng12
./libpng/libpng12/libpng12-1.2.5-4.tar.bz2
./libpng/libpng12-devel
./libpng/libpng12-devel/libpng12-devel-1.2.5-4.tar.bz2
./libpng/libpng2
./libpng/libpng2/libpng2-1.0.12-1.tar.bz2
./libpng/libpng-1.2.5-4.tar.bz2
./libtool
./libtool/libtool-devel
./libtool/libtool-devel/libltdl3
./libtool/libtool-devel/libltdl3/libltdl3-1.5.10-1.tar.bz2
./libtool/libtool-devel/libltdl6
./libtool/libtool-devel/libltdl6/libltdl6-1.9f_20041024-1.tar.bz2
./libungif
./libungif/libungif-4.1.0-3.tar.bz2
./libwmf
./libwmf/libwmf-0.2.8.3-1.tar.bz2
./login
./login/login-1.9-7.tar.bz2
./m4
./m4/m4-1.4.3-1.tar.bz2
./make
./make/make-3.80-1.tar.bz2
./man
./man/man-1.5p-1.tar.bz2
./mc
./mc/mc-4.6.1-1.tar.bz2
./mingw-runtime
./mingw-runtime/mingw-runtime-3.7-1.tar.bz2
./minires
./minires/minires-1.00-1.tar.bz2
./mktemp
./mktemp/mktemp-1.5-3.tar.bz2
./nano
./nano/nano-1.2.2-1.tar.bz2
./ncurses
./ncurses/libncurses5
./ncurses/libncurses5/libncurses5-5.2-1.tar.bz2
./ncurses/libncurses6
./ncurses/libncurses6/libncurses6-5.2-8.tar.bz2
./ncurses/libncurses7
./ncurses/libncurses7/libncurses7-5.3-4.tar.bz2
./ncurses/libncurses8
./ncurses/libncurses8/libncurses8-5.4-1.tar.bz2
./ncurses/ncurses-demo
./ncurses/ncurses-5.4-1.tar.bz2
./neon
./neon/libneon24
./neon/libneon24/libneon24-0.24.7-1.tar.bz2
./openldap
./openldap/libopenldap2
./openldap/libopenldap2/libopenldap2-2.1.25-1.tar.bz2
./openldap/libopenldap2_2_7
./openldap/libopenldap2_2_7/libopenldap2_2_7-2.2.26-1.tar.bz2
./openssl
./openssl/openssl-0.9.7g-1.tar.bz2
./patch
./patch/patch-2.5.8-8.tar.bz2
./patchutils
./patchutils/patchutils-0.2.30-1.tar.bz2
./pcre
./pcre/libpcre
./pcre/libpcre/libpcre-4.1-1.tar.bz2
./pcre/libpcre0
./pcre/libpcre0/libpcre0-4.5-1.tar.bz2
./perl
./perl/perl-5.8.6-4.tar.bz2
./popt
./popt/libpopt0
./popt/libpopt0/libpopt0-1.6.4-4.tar.bz2
./proj
./proj/libproj-devel
./proj/libproj-devel/libproj-devel-4.4.8-1.tar.bz2
./proj/libproj0
./proj/libproj0/libproj0-4.4.8-1.tar.bz2
./readline
./readline/libreadline4
./readline/libreadline4/libreadline4-4.1-2.tar.bz2
./readline/libreadline5
./readline/libreadline5/libreadline5-4.3-5.tar.bz2
./readline/libreadline6
./readline/libreadline6/libreadline6-5.0-1.tar.bz2
./readline/readline-5.0-1.tar.bz2
./sed
./sed/sed-4.1.4-1.tar.bz2
./tar
./tar/tar-1.13.25-5.tar.bz2
./termcap
./termcap/termcap-20050421-1.tar.bz2
./terminfo
./terminfo/terminfo-5.4_20041009-1.tar.bz2
./tetex
./tetex/libkpathsea3
./tetex/libkpathsea3/libkpathsea3-2.0.2-15.tar.bz2
./tetex/libkpathsea4
./tetex/libkpathsea4/libkpathsea4-3.0.0-3.tar.bz2
./texinfo
./texinfo/texinfo-4.8-1.tar.bz2
./tiff
./tiff/libtiff-devel
./tiff/libtiff-devel/libtiff-devel-3.7.0beta2-1.tar.bz2
./tiff/libtiff3
./tiff/libtiff3/libtiff3-3.6.0-2.tar.bz2
./tiff/libtiff4
./tiff/libtiff4/libtiff4-3.6.0-5.tar.bz2
./tiff/libtiff5
./tiff/libtiff5/libtiff5-3.7.0beta2-1.tar.bz2
./unzip
./unzip/unzip-5.50-5.tar.bz2
./upx
./upx/upx-1.24-1.tar.bz2
./w32api
./w32api/w32api-3.2-1.tar.bz2
./wget
./wget/wget-1.9.1-2.tar.bz2
./which
./which/which-1.7-1.tar.bz2
./xerces-c
./xerces-c/libxerces-c21
./xerces-c/libxerces-c21/libxerces-c21-2.1.0-1.tar.bz2
./xerces-c/libxerces-c22
./xerces-c/libxerces-c22/libxerces-c22-2.2.0-1.tar.bz2
./xerces-c/libxerces-c23
./xerces-c/libxerces-c23/libxerces-c23-2.3.0-4.tar.bz2
./xerces-c/libxerces-c24
./xerces-c/libxerces-c24/libxerces-c24-2.4.0-4.tar.bz2
./xerces-c/libxerces-c25
./xerces-c/libxerces-c25/libxerces-c25-2.5.0-1.tar.bz2
./zip
./zip/zip-2.3-6.tar.bz2
./zlib
./zlib/zlib-1.2.2-1.tar.bz2
viericrespo escribió:Hola, ante todo gracias por el tuto MrSiir[S], decir k trabajo bajo windows [noop] y estoy teniendo algunos problemas compilando el Hello World, cuando ejecuto el mk obtengo varios mensajes de error, entre ellos "cc1.exe: Invalid option `arch=r4000' ". Sabeis a que puede debe ser debido? Gracias por anticipado. Salu2!!!!


No es arch=r4000 sino march=r4000

Mmmm, programar para la PSP, suena muy interesante. Tendre que hacer algun programa aunque no tenga PSP XD
Muchas gracias, a todos efectivamente tarda bastante en instalarse. Sigo con los siguientes puntos, espero que antes de acostarme esto esté funcionando. Gracias.
me da este error:
cvs -z9 -d:pserver:anonymous@ps2dev.org:/home/ps2cvs co -P ps2toolchain
cvs server: cannot find module `ps2toolchain' - ignored
cvs [checkout aborted]: cannot expand modules
bueno,sin problemas,ya he encontrado el script (por si alguno lo necesita,está aquí: toolchain
aps,otra modificacion,las variables de entorno (usando la actualizacion del script),ahora son:
## PSPDEV SETTINGS
export PSPDEV="/usr/local/pspdev"
export PATH="$PATH:$PSPDEV/bin"
primer error compilando el hello_world:
$PSPDEV/bin/psp-gcc -march=r400
0 -g -mgp32 -mlong32 -c pg.c
pg.c: En la función ‘pgFillvram’:
pg.c:110: aviso: el puntero que apunta en la asignación difiere en signo
pg.c: En la función ‘pgBitBlt’:
pg.c:124: aviso: el puntero que apunta en la asignación difiere en signo
pg.c: En la función ‘pgPutChar’:
pg.c:153: aviso: la comparación siempre es falsa debido al rango limitado del ti
po de datos
pg.c:155: aviso: el puntero que apunta en la asignación difiere en signo
despues de una busqueda intensa para solucionar el problema de la compilación del hello_world,resulta que el hello_world es un problema en sí (sacado de los foros de ps2dev).

he compilado algunos de los ejemplos que vienen con la nueva instalacion del sdk.Para probarlos uso el vmware,porque no consigo que el wine funcione correctamente.
Alguno puede pasarme su configuracion del wine,por favor?
21 respuestas