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 2000
- Octubre/Noviembre 2000 – Publicada la PlayStation 2
Año 2001
- 01.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 2002
- 06.03.02 – Primeros tutoriales de DreamtimeLos 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 2003
- 02.01.03 – Publicado PS2IPPS2IP 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 2004
- 02.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 2005
- El 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 2006
- 26.01.06 – USBD añadido a PS2SDKDriver 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 2007
- 30.08.07 – freepad y freemtap añadidos a PS2SDKfreepad y freemtap son drivers libres del joypad y el multi-tap para el IOP, compatibles PADMAN y MTAPMAN, publicadas por mi mismo (lukasz).
Año 2008
- 19.05.08 – Publicado Free McBootOriginalmente conocido como “Free OsDatel Boot MC 1.0 BETA” en los foros de PSX-Scene, Free McBoot permite iniciar un ELF directamente desde la memory card. Esto es posible debido a que el OSD busca actualizaciones de si mismo en forma de ELFs cifrados con Magic Gate en la memory card. La gente detras del proyecto Free McBoot fueron capaces de coger un ELF cifrado ya existente e inyectar un pequeño cargador de ELF propio y dejar que el OSD lo cargase como si fuera una actualizacion desde la memory card. Este pequeño cargador de ELF cargaba un ELF sin cifrar desde la memory card o desde un pendrive. Una vez que Free McBoot esta instalado en una memory card, arrancara en cualquier PS2 en la que se inserte, siempre y cuando la PS2 busque actualizaciones en la memorycard. Que creo que todos los modelos de PS2 hasta la publicacion de Free McBoot lo hacen.
Desde el punto de vista del desarrollo, esto es interesante, ya que no necesitas modificar el hardware de tu PS2 para poder arrancar una herramienta de desarrollo como PS2Link y empezar a trabajar con PS2DEV. La unica desventaja de esta herramienta es que para poder instalar Free McBoot en la memory card, necesitas una PS2 capaz de arrancar el ELF de instalacion. Como alternativa puedes comprar la memory card Datel Memory Plus 64MB que viene con un ELF de actualizacion OSD preinstalado. Utiliza el mismo metodo que Free McBoot para cargar ELFs de una memory card o pendrive USB. El cargador de ELF usado en la memory card de Datel tiene algunas limitaciones y problemas, de los que podras leer mas y obtener una solucion aqui.