
Información
¿Cómo puedo programar para la PS2?
Si tienes algún interés en la programación de PS2 tienes las siguientes opciones:
Aquí nos centraremos concretamente en la tercera opción. El primer paso es instalar el entorno de desarrollo de PS2DEV que puedes descargar de ps2dev.org o ps2dev.ofcode.com. Tengo pensado colgar en esta web mi instalación personalizada con la última versión que encontré de ps2sdk compilada y puede que con algunas librerías mas. Cuando consigas instalar, compilar y hacer que funcione correctamente el entorno de desarrollo necesitas una forma de cargar los programas en tu PS2. El método más común para cargar programas en la PS2 es utilizar ps2link, para utilizar ps2link necesitas tener el adaptador de red de la PS2. También existe otro método para cargar programas, utilizando NapLink. Para utilizar NapLink necesitas un cable USB PL-2301 para conectar la PS2 al PC. Tanto si usas ps2link como NapLink necesitas ejecutar la parte servidor en la PS2 y para ello necesitaras tener instalado un modchip o tener el Independence Exploit. Yo personalmente utilizo el servidor ps2link y el cliente InLink, con un pequeño programilla que hice para arreglar un fallo que me salía en el InLink. En la sección de videos encontrarás los pequeños programas que vaya creando y puedes descargarlos para ejecutarlos en tu PS2. :D
Historia de PS2DEV
Para cualquiera que sea nuevo en PS2DEV, siempre esta bien tener algún conocimiento sobre que paso en el pasado y como ha cambiado hasta ahora. Así que en esta sección se dará una visión general de hechos más significativos en PS2DEV. Si quieres mayor información sobre los eventos listados a continuación, puedes encontrarla aquí http://ps2dev.org/News Año 2000Octubre/Noviembre 2000 - Publicada la PlayStation 2 Año 200101.02.01 - Publicado EE GCC 2.95.2 Un port de GCC 2.95.2 es publicado por SNSYS, tenía soporte para instrucciones MMI y los VUs. 17.03.01 - Publicada la demo 3 Stars Demo con código fuente
3 Stars Demo de Duke of Napalm fue la primera demo de código abierto para la PS2, esta escrita en ensamblador. 05.04.01 - Se pone online ps2dev.livemedia.com.au Esta es la website que mas tarde se llamo PS2DEV.org (En 04.03.03 para ser exactos). Fue iniciado por Oobles (David Ryan) y a día de hoy, el sigue manteniendola. No hace falta decir, que esta web ha sido de gran importancia como punto de encuentro para 'PS2DEVing'. 12.07.01 - Duke’s GCC library Primera pequeña librería gráfica para PS2 para ser usada con GCC. No creo que alguien la usara y recuerdo que tenia bastantes fallos. 01.07.01 - Publicada la beta del Kit de Linux para la PS2 Se publica el Kit de Linux para la PS2 en Japón, pero lo mas importante es que viene con los manuales de la PS2, que documentan el EE, los VUs y el GS. 23.07.01 - Publicada Pillgen
Pillgen de Vzzrzzn es la primera demo escrita completamente en C. Venia con el código fuente y tenia un buen funcionamiento para su época. Yo (lukasz) utilicé este código fuente como referencia para varias cosas cuando fue publicado. 17.09.01 - Publicada PS(x)lib Se publica Psx2lib, anteriormente ps2lib y finalmente ps2sdk, de Gustav Scotti. Este es el primer intento público de reversar las librerías SIFRPC, que fue el primero en tener soporte de E/S (IOP). Mas tarde resultó que este código tenia bastantes fallos y fue completamente reemplazado en PS2SDK por el código de SIFRPC de Marcus R. Brown, que es el que se usa hoy en día y que ha demostrado con el tiempo ser bastante estable. 15.10.01 - Publicado Funslower
Demo del grupo danes Soopa Doopa, primer programa de PS2DEV en usar VU1 para el renderizado. Un hito en PS2DEV. 11.12.01 - Publicado Naplink
Otro hito importante en PS2DEV, Napalm publica una herramienta para cargar programas de PS2 desde un PC, comúnmente llamado loader. El código fuente de Naplink nunca se ha publicado. 21.12.01 - Publicada Padlib Pukko reversó la librería EE SIFRPC (padlib) para joypads para usarlo junto con ps2lib, primer uso real del código SIFRPC en ps2lib. El primer código para utilizar joypads en PS2DEV. Más tarde le han seguido otras librerías SIFRPC, la mayor parte de ellas forman parte de PS2SDK. Año 200206.03.02 - Primeros tutoriales de Dreamtime Los tutoriales de Dreamtime llamaron bastante la atención (y todavía lo hacen) y consiguió introducir a muchas personas a PS2DEV. Sin embargo, el código esta bastante anticuado y requiere algunos cambios para hacerlo funcionar con las actuales librerías y toolchains. 20.04.02 - IOP GCC produce IRX Karmix parcheó el port de IOP GCC para que produzca directamente archivos IRX. Antes se usaba elf2irx que tenia bastantes fallos y este parche realmente mejoró la calidad de GCC para el IOP. 22.04.02 - Publicado PSMS 0.1 Alpha PSMS es un emulador de Sega Master System por Sjeep. lo que lo hace interesante es que es uno de los primeros programas de PS2 que soporta cargar archivos, joypads y sonido. 21.05.02 - The Third Creation Round #1 The Third Creation empezó como una competición de demos iniciada por varias personas en el canal #PS2DEV de IRC en EFNet (ahora en freenode). La “competición” consistía básicamente en publicar algún programa en PS2DEV cada cierto tiempo. La competición se celebró mensualmente durante dos años. Muy pocas personas de las que enviaron demos eran realmente demo sceners, eran simplemente personas interesadas en una plataforma alternativa. La WebSite de The Third Creation ya no esta disponible, Puedes ver un mirror del archivo de The Third Creation aquí. 31.05.02 - Publicada Libito Libito fue mi librería gráfica (de lukasz), fue una de las primeras librerías gráficas reales. El proyecto no esta descontinuado y ahora la mayoría de la gente usa gsKit de Neovanglist. 22.05.02 - Publicado el Kit de Linux para PS2 PAL/NTSC Se publica el PS2Linux en territorios PAL/NTSC y se abre la website playstation2-linux.com. Con este kit se pueden programar los VUs, echa un vistazo a sps2 project para programación avanzada de VU. El código VU también se puede utilizar en PS2DEV, si es portado. 17.06.02 - Publicado Amigamod Amigamod de Vzzrzzn fue un reproductor de música .MOD que se ejecuta totalmente en el IOP, el primer modulo IOP avanzado. 15.10.02 - Publicado LIBCDVD El driver original de CD/DVD para la PlayStation 2 solo soporta formatos de CD/DVD muy limitados. LIBCDVD de Hiryu y Sjeep crea una capa sobre el driver original y da soporte a mas formatos de CD/DVD. Este proyecto se usa mayormente en emuladores. 20.10.02 - Publicado SjPCM La programación de sonido en la PS2 fue un poco difícil al principio, ya que requiere un modulo IOP que utilice el modulo LIBSD (librería de sonido a bajo nivel). SjPCM era un modulo simple con una librería EE RPC, que hacia mas fácil enviar datos PCM al SPU2. Este módulo se hizo bastante popular y se utiliza en muchos programas de PS2. Existe también una variante disponible, iSjPCM que no requiere LIBSD. 03.11.02 - [RO]man abre una website [RO]man mantenia una website llamada “PS2DEV: Bios Details for Developers”, donde posteaba código de módulos IOP reversados entre otras cosas. El código en realidad no se compila, sino que muestra lo que está sucediendo dentro de los módulos IOP. La website ya no esta disponible, Aquí tienes un mirror de los archivos. 20.12.02 - PS2Reality publica un reproductor DivX Un grupo español de programadores publica un media player que reproduce películas DivX, tuvo una gran atención en la prensa. Existe otro reproductor de DivX disponible llamado Simple Media System. Año 200302.01.03 - Publicado PS2IP PS2IP junto con el driver SMAP fue el comienzo de lo que se convertiría en Pukklink, ahora PS2Link. 23.01.03 - Publicado Driver SMAP El driver del adaptador de red de PS2Linux portado a PS2DEV. 23.02.03 - Publicado Inlink de InPulSe Team
Inlink es un cliente de Pukklink/PS2Link para Windows que tiene incorporado soporte para sintonizador de TV. Es una gran herramienta si tienes tu PS2 conectada a tu tarjeta de TV (como yo), entonces solo necesitas una herramienta para cargar y probar tus programas de PS2. El cliente ahora es bastante antiguo y podría no ser compatible con todas las características de PS2Link. 02.03.03 - Publicado EE GCC 3.2.2 La EE toolchain usada en PS2DEV era la versión 2.95 y estaba bastante anticuada, MrHTFord inició el esfuerzo de portarlo sobre GCC 3.2.2. Esta es la toolchain usada actualmente en todos los proyectos de PS2DEV. 24.03.03 - Publicado Pukklink
Hasta este punto Naplink era utilizado para desarrollar en PS2DEV. Pukklink de Pukko utiliza el adaptador de red oficial para transferir los programas de PS2 a la PS2 desde el PC. Más tarde pasó a llamarse PS2Link, que es el cargador más utilizado en PS2DEV. 01.03.03 - Se actualiza el código de PS2Lib SifRpc y SifCmd No es un secreto que el código de SifRpc y SifCmd en ps2lib tenia bastantes fallos. Marcus R. Brown había estado trabajando en su propia implementación que era mas estable y lo añadió a ps2lib, reemplazando el código existente. Ha demostrado con el tiempo ser bastante estable y es un salto adelante en PS2DEV, ya que la gente ha estado luchando con la implementación original. Esta es una de las partes fundamentales en PS2dev, sin ella no habría una E/S (estable). 25.04.03 - Publicada gsLib Hiyru publico gsLib, una librería gráfica en C++. El la usó en su emulador de SNES Snes-Station. 06.05.03 - Publicada dreamGL dreamtime publica una mínima implementación de OpenGL para PS2Dev. Utiliza Path 3, por lo que el rendimiento no es bueno y también soporta doubles, que son emulados por software, otro cuello de botella de rendimiento. Esta librería se utilizo en la demo Plasma Tunnel presentada a The Third Creation. 16.05.03 - Publicada PS2lib 2.0 Importante revisión en PS2Lib, tanto en estructura como en código. Este fue el comienzo de lo que más tarde se convertiría en PS2SDK. 24.05.03 - Publicada libGL jenova0 publicó su implementación de OpenGL de código cerrado, también usa Path 3 por lo que sé y no me se utiliza realmente en ningún programa de PS2. 03.07.03 - Publicado ps2drv Marcus R. Brown publica un entorno para la programación de módulos de IOP, llamado ps2drv (ps2 driver). Este entorno hizo mas fácil definir las imports y exports de los modulos IOP. Esto posteriormente se fusionó con PS2Lib y otras bibliotecas a PS2SDK. 04.08.03 - Publicada Aura for Laura
La segunda demo de Soopa Doopa, esta vez con sonido. Esta demo ganó el premio de Mejores Efectos en Scene.org Awards en 2003. 16.08.03 - PS2 Independence Exploit El hacker de PS2 Marcus R. Brown publica el Independence Exploit. Un exploit de desbordamiento del buffer que puede ser activado utilizando un archivo modificado en la memory card y un juego original de PSOne. Este exploit fue parcheado en modelos posteriores. Este exploit no evita la protección de disco original, simplemente carga un programa de PS2 desde la memory card. 07.10.03 - Publicado Send0r Send0r de Oobles fue un programa de PS2 que podía descargar programas de PS2DEV desde internet, este proyecto lamentablemente murió silenciosamente. 23.10.03 - Publicada sbv sbv es una pequeña librería de Marcus R. Brown con un par de parches. Un parche hacia posible cargar modulos de IOP desde la memoria del EE, antes solo se podía carga utilizando E/S. El otro parche permitía cargar modulos de IOP desde la memory card. 06.11.03 - Publicada libhdd libhdd de Sjeep era una librería para acceder al HDD de la PS2. El código mas tarde fue publicado y ahora forma parte de PS2SDK. 18.12.03 - PS2 Serial Cable Herben es el autor original del PS2 serial cable, las instrucciones para construirlo estan posteadas por Marcus R. Brown. Mirror de las instrucciones originales. Año 200402.01.04 - Publicado PS2Link
Pukklink paso a llamarse PS2Link y fue publicado. El código fuente de PS2Link esta bastante anticuado y podría necesitar una revisión. Todavía se le hacen actualizaciones y funciona muy bien, a pesar de que el código este anticuado. 05.02.04 - Publicado el Toolchain script ooPo publica la primera versión de su toolchain script, que automáticamente configura los toolchains, ps2sdk y ps2client. 27.02.04 - Publicado freesd TyRaNiD y Yo (lukasz) trabajamos juntos y publicamos freesd, un sustituto libre de LIBSD. 02.05.04 - Anunciado PS2SDK PS2LIB y PS2DRV se fusionaron en PS2SDK y el proyecto fue anunciado. 23.04.04 - Anunciado gsKit Esta librería gráfica de Neovanglist fue anunciada y mas tarde se convirtió en la librería gráfica mas popular en PS2DEV. 05.04.04 - Publicada Oddment Demo
adresd, emoon, jar, raizor y TyRaNiD trabajaron juntos para crear esta demo para Breakpoint 2004. Música de Trinodia. Acabó 7º en la categoría Console/Real Wild. Descargalo aquí 06.09.04 - Publicado PS2SDK 1.1 Fue publicada la primera versión actualizada de PS2SDK de forma binaria, nos se publicaron muchas versiones en binario despues de esta. Yo (lukasz) siempre recomiendo compilar PS2SDK, ya que hay muchos cambios desde la última publicación oficial en binario. 24.10.04 - Publicado OpenVCL emoon y chip publicaron su propia variante libre de VCL, una herramienta disponible para los desarrolladores licenciados que permite escribir programas de VU en un lenguaje parecido a C y que podía generar código VU optimizado. Unos meses mas tarde fueron publicados los binarios para Linux y Windows y este proyecto no ha actualizado desde entonces. 12.12.04 - Publicada PlayStation Portable Cuando se publicó la PSP, muchos desarroladores se trasladaron a ella y PS2DEV empezó a ralentizarse. 23.12.04 - Publicados los binarios de VCL Se publicaron los binarios de VCL, una herramienta para escribir código VU en un lenguaje parecido a c. Descargalo aquí Año 2005El 2005 fue un año verdaderamiente lento para PS2DEV, muchos proyectos fueron actualizados, pero no paso nada importante. 2005 fue el año en que PSPDEV despego y en un corto periodo de tiempo ha demostrado ser mucho mas popular que PS2DEV. 09.02.05 - Publicada Llibplanar Llibplanar es una librería gráfica de neofar. La librería parece bastante avanzada, no obstante toda la documentación esta escrita en español, por lo que además de ser utilizado en algunos de los proyectos de neofar, Yo (lukasz) nunca he visto mucho uso de esta librería en ningún otro lugar. Website PS2Dev de neofar. Año 200626.01.06 - USBD añadido a PS2SDK Driver USB de cody56 se añade al PS2SDK. 17.04.06 - Publicada demo 4 Edges Demo Demo de The Black Lotus (TBL) publicada en Breakpoint 2006. Demo muy avanzada, mostrando el potencial de PS2DEV. enlace a Poüet 20.06.06 - Publicado PS2 Racer
Ps2 Racer de jbit fue el juego que ganó la competición de juegos de PS2DEV.org. Utiliza renderizador VU1 y es muy jugable, Yo (lukasz) recomiendo probarlo. Descargalo aquí, post original de jbit. 06.11.06 - Publicada PS3 Cuando se publicó la PS3, la mayoría de los desarrolladores que quedaban en PS2DEV que no cambiaron a la PSP, cambiaron a la PS3. Despues de publicarse la PS3, la PS2 se convirtió en “vieja” y PS2DEV se ralentizó de forma espectacular. Año 200730.08.07 - freepad y freemtap añadidos a PS2SDK freepad y freemtap son drivers libres del joypad y el multi-tap para el IOP, compatibles PADMAN y MTAPMAN, publicadas por mi mismo (lukasz). |
VIDEOS
Primer video
Primer programilla
Primeros pasos
Presentación del juego del Boli
Unofficial Llibplanar
Primer video de Ifcaro3d
Implementacion de ODE en Ifcaro3d
ENLACES
ps2dev.org
ps2dev.ofcode.com
|