[PSDK3v2] Windows PS3 SDK con psl1ght v2, Tiny3D y PS3 Soundilb

Basándome en los últimos compiladores que publicó marioga, presento éste SDK llamado v2 para evitaros colisiones con lo antiguo y para remarcar que se hace uso de PSL1GHT v2 también.

marioga nos dejó los compiladores hechos, que soportan el atributo que permite pasar direcciones con tamaño de 32 bits. Yo he recompilado las ps3libraries, portado Tiny3D, PS3 Soundlib, adaptado los ejemplos, añadida una aplicación nueva para firmar con la scetool y añadida otra antigua, por si la usáis en vuestros proyectos.

El resultado es que tenemos unas librerías preparadas para funcionar. Los ejemplos de PSL1GHT no están adaptados aún, por lo que alguno os funcionará y otros no (eso no es culpa mía, obviamente). Eso es lo que me ha motivado a sacar todo esto de forma pública, pues lo que necesitamos es un entorno de compilación y unas librerías estables y no que cada dos por tres nos lo cambien todo y algunos, (como yo) nos quedemos triplemente bloqueados, por no poder crear los compiladores que te exigen, por no poder adaptar fácilmente las mejoras en las librerías a lo antiguo y por tener que readaptar TODO lo que se hizo anteriormente.

Así que la idea es tener esas herramientas, que ya digo que lo mas importante es lo de las direcciones, funcionando con la scetool para firmado de aplicaciones, con todo lo necesario para poder compilar y trabajar y con la idea de no tocar nada que funcione y si se toca algo que no funcione o se añade algo nuevo, mantener la compatibilidad hacia atrás de las librerías.

Los binarios y fuentes están colgados aquí:

https://github.com/Estwald/PSDK3v2

Para bajarlo podéis usar el botón ZIP. Son unos 330 MB de descarga y las instalación, una vez descomprimido todo, requiere unos 2GB de disco.

Cuando tenga algo de tiempo, intentaré arreglar los ejemplos de PSL1GHT y añadir alguna utilidad más.

Saludos
Genial esto servira tambien para compilar iris?, ademas esta tiene soporte todavia de sdl?...

Gracias por el curro maestro
Siempre se agradecen estas cosas. Gracias! :o
Vita-user escribió:Genial esto servira tambien para compilar iris?, ademas esta tiene soporte todavia de sdl?...

Gracias por el curro maestro


La SDL compiló: no se si funcionará o no, por que yo no la uso, pero forma parte de las ps3libraries.

Lo que no compilé fueron la librería ogg, la de mp3 y otra que creo que se llama theora o algo así, que guarda relación con estas, por que me saltó un error compilando ogg y además, la PS3 Soundlib ya tiene todo eso (se pueden reproducir mods, mp3 u ogg y de hecho, el ejemplo fireworks 3D te muestra que puede XD )

Y por supuesto, Iris lleva tiempo funcionando con esto, pero el Iris nuevo que tengo que publicar ;)
Gracias Estawald! Justo cuando estuve toda la mañana de ayer compilando el toolchain en el cygwin!!

Un usuario de este foro, mas precisamente xerpi, habia logrado portar tiny3d a la verson 2 de pslqght, has hablado con el o algo?
racinglocura07 escribió:Un usuario de este foro, mas precisamente xerpi, habia logrado portar tiny3d a la verson 2 de pslqght, has hablado con el o algo?


Se comentó en el hilo de Iris Manager, pero yo ya había portado la librería, aparte de que dije como tuve que hacerlo (no se si lo leyó o no o simplemente, tuvo la misma idea)

La versión mía arregla un problema que arrastraba la librería desde sus comienzos, aparte de que añade alguna cosilla más para usuarios avanzados, tiene los ejemplos actualizados y no colisiona con psl1ght. Incluso, podría utilizarse con compiladores antiguos con solo definir una etiqueta.
Estwald escribió:
racinglocura07 escribió:Un usuario de este foro, mas precisamente xerpi, habia logrado portar tiny3d a la verson 2 de pslqght, has hablado con el o algo?


Se comentó en el hilo de Iris Manager, pero yo ya había portado la librería, aparte de que dije como tuve que hacerlo (no se si lo leyó o no o simplemente, tuvo la misma idea)

La versión mía arregla un problema que arrastraba la librería desde sus comienzos, aparte de que añade alguna cosilla más para usuarios avanzados, tiene los ejemplos actualizados y no colisiona con psl1ght. Incluso, podría utilizarse con compiladores antiguos con solo definir una etiqueta.


Ah esta bien, yo te digo por las dudas.

Para el que tenga problema, como yo, que dice que falta el archivo python27.dll, descarguenlo de aca, si no se puede lo saco, y pongalo dentro de la carpeta o C:\PSDK3v2\MinGW\Python27\ o dentro de C:\Windows\System32\

Saludos
racinglocura07 escribió:Para el que tenga problema, como yo, que dice que falta el archivo python27.dll, descarguenlo de aca, si no se puede lo saco, y pongalo dentro de la carpeta o C:\PSDK3v2\MinGW\Python27\ o dentro de C:\Windows\System32\

Saludos


Coño, que cosa mas rara: me falta la DLL, pero en el directorio original está [+risas] ¿que hice con ella).

En fin, cuando acabe de recomprimir subo el MinGW con la DLL incluida
Buah tio muchas gracias por el aporte, para mi no es de utilidad, claro esta, pero esto ayudara a sacar nuevos homebrew buenisimos para nuestras pequeñajas ^^.
Gracias de nuevo Estwald.
Isma_OMG escribió:Buah tio muchas gracias por el aporte, para mi no es de utilidad, claro esta, pero esto ayudara a sacar nuevos homebrew buenisimos para nuestras pequeñajas ^^.
Gracias de nuevo Estwald.

+100 [oki] [oki] Se agradece todo.
Para los que queráis probar si funciona (o para trastear un poquito con Tiny3D xD), he portado un sample a la versión nueva.
Descarga: http://www.mediafire.com/?ut2426uu03kgiux

Por cierto Estwald, creo que sería buena idea añadir
@cp source/old_nv40.h $(PORTLIBS)/include

a la sección install del Makefile de Tiny3D, de esta forma podemos incluirlo en cualquier proyecto.

EDITO: Se me ha ocurrido hacer un git con el PSL1GHT v2 y el nuevo Tiny3D para Linux (64 bits) como has hecho tu para Windows, ¿que te parece la idea?
Gracias crack por todo lo que haces por la comunidad,grande donde los hallla ;)
xerpi escribió:Por cierto Estwald, creo que sería buena idea añadir
@cp source/old_nv40.h $(PORTLIBS)/include

a la sección install del Makefile de Tiny3D, de esta forma podemos incluirlo en cualquier proyecto.


No creo que sea buena idea. Es decir, el nuevo nv40.h tiene todo eso y más, pero como mi intención era aislarme de eso, pues he dejado lo antiguo. EN mis ejemplos antiguos tiraba de alguna cosilla de allí para el Blend, pero ya estaba definido dentro de tiny3d.h.

Podría ser interesante, eso sí, añadir algunas definiciones al estilo de como lo hago en Tiny3D para evitar que quien no tenga el nv40.h antiguo tenga que volverse simio y que si mañana tocan el de ahora, pase igual.

xerpi escribió:EDITO: Se me ha ocurrido hacer un git con el PSL1GHT v2 y el nuevo Tiny3D para Linux (64 bits) como has hecho tu para Windows, ¿que te parece la idea?


Si vas a suministrar los compiladores y las librerías de forma similar a como lo hacía Marioga y ahora yo que le he tomado el relevo XD, me parece una idea estupenda.

La gente no puede perder el tiempo con una toolchain que cuando no es por h o por b, te da error y que a veces, te faltan las versiones de librería que te piden y no es sencillo de incluir. O como en mi caso, que mi ordenador es viejo, lento y con poca memoria para estas tareas tan duras [+risas]

Saludos
Estwald escribió:el nuevo nv40.h tiene todo eso y más

Vale, acabo de ver que ya hay los nuevos defines del blend. Antes al intentar compilar el sprites2D no encontraba algunos defines (los NV30_) ya que no están definidos en el nv40.h nuevo, así que lo que hecho ha sido incluir el old_nv40.h y me ha funcionado, pero viendo que ya hay los defines correspondientes en Tiny3D no va a hacer falta el old_nv40.h, así que retiro lo que he dicho antes de copiar el old_nv40.h junto Tiny3D (al hacer make install y eso). xD


Estwald escribió:Si vas a suministrar los compiladores y las librerías de forma similar a como lo hacía Marioga, me parece una idea estupenda


Voy a tener que ponerme en contacto con él ya que no se muy bien como lo hacía. Mi idea sería simplemente subir los contenidos de la carpeta ps3dev tal y como lo has hecho tu, no se si será así o no xD
Grande Estwald , gracias por el trabajo [plas]
ya pude compilar algunos samples XD,realmente es muy facil con esto
aunque he tenido un error al querer compilar el IRIS , quizas habre hecho algo mal

Saludos
ps3_psx escribió:aunque he tenido un error al querer compilar el IRIS , quizas habre hecho algo mal
Saludos


No puedes compilar ese Iris con esto: mañana si no hay nada raro (estoy de tests de copiado, que por cierto, le he puesto una doble barra muy chula [+risas] ), publicaré la versión 2.0, que esa si que compila XD
Estwald escribió:
No puedes compilar ese Iris con esto: mañana si no hay nada raro (estoy de tests de copiado, que por cierto, le he puesto una doble barra muy chula [+risas] ), publicaré la versión 2.0, que esa si que compila XD


ha ok , gracias por la aclaración , ya me parecia raro que lo intente varias veces reinstalando,cambiando la ruta,etc [+risas]
gracias por todo [oki]
Estwald escribió:
ps3_psx escribió:aunque he tenido un error al querer compilar el IRIS , quizas habre hecho algo mal
Saludos


No puedes compilar ese Iris con esto: mañana si no hay nada raro (estoy de tests de copiado, que por cierto, le he puesto una doble barra muy chula [+risas] ), publicaré la versión 2.0, que esa si que compila XD


Necesitas una mano con el iris? o con cualquier cosa!
Por cierto,cosas que debéis saber:

Si echáis un ojo a la carpeta C:\PSDK3v2\libraries-src\PSL1GHT-master\ppu\librt

Veréis que hay una serie de funciones que conectan con newlib.

Pues bien, cómo podéis observar, faltan remove(), o por ejemplo, rename(). El unlink() (equivalente a remove()) se lo añadí yo, pero no conecta.

Así que quitando las que hay ahí y teniendo en cuenta que esas funciones suelen puentear syscalls, lo mejor es tirar de syscalls.

incluuyendo:

#include <sys/file>

Tenéis por ejemplo:

sysLv2FsRename(const char *path,const char *newpath); // renombra ficheros/directorios

sysLv2FsUnlink(const char *path); // borra ficheros (yo recomendaría asegurarse de que se trata de ficheros y no carpetas)

Que son lo mismo.

Con estas no se, pero con las antiguas, las funciones de conversión UTF estaban chungas: por ejemplo la de UTF16 a cadena tenía el problema de que se saltaba una letra si y otra no, por un problema interno.

De hecho, en los fuentes de Iris podéis ver en osk_input.c que me tuve que currar funciones de conversión como:

UTF16_to_UTF8(u16 *stw, u8 *stb)
UTF8_to_Ansi(char *utf8, char *ansi, int len)

Y el motivo es que las de la librerías iban chungas (por suerte la Wikipedia explica como va codificado eso [+risas] )

Luego alguno se extrañará de que suela hacer funciones que se podrían usar de la biblioteca estandar, pero es que cuando te pasan cosas TAN raras, acabas por hacer tus propias cosas (al menos yo estoy hasta los cojones de tratar con cadenas y me basto y me sobro para eso) que esas al menos, si te equivocas, sabes que es lo que tienes que tocar para arreglarlas, pero estas otras... es que tendrías que montar hasta el compilador de nuevo XD
Estwald! Tengo un problema con esto.

Tengo un proyecto, el uSaveMe, el cual estaba trabajando con cygwin y funcionaba todo perfecto, ahroa con esto, compila bien, pero cuando lo quiero probar con el PS3load, me devuelve al xmb, si el mismo codigo lo compilo con el cygwin, y le doy a make run para probarlo, anda perfecto, alguna idea?

EDITO:

Pasa lo mismo con el sample del tiny3d sprites 2D
racinglocura07 escribió:Estwald! Tengo un problema con esto.

Tengo un proyecto, el uSaveMe, el cual estaba trabajando con cygwin y funcionaba todo perfecto, ahroa con esto, compila bien, pero cuando lo quiero probar con el PS3load, me devuelve al xmb, si el mismo codigo lo compilo con el cygwin, y le doy a make run para probarlo, anda perfecto, alguna idea?

EDITO:

Pasa lo mismo con el sample del tiny3d sprites 2D


Yo he compilado PS3load (el que está en la carpeta samples en PSDK3v2\libraries-src\PSL1GHT-master\samples\network\ps3load), que por cierto, hay que añadirle la opción de que haga .pkg así:

#---------------------------------------------------------------------------------
run:
   ps3load $(OUTPUT).self

#---------------------------------------------------------------------------------
pkg:   $(BUILD) $(OUTPUT).pkg



Instalado el pkg, luego he compilado sprites 2D, editado uno de los bat para añadir mi ip, he ejecutado ambos y me han salido los fantasmas en pantalla.

Si estás tirando de algo antiguo, cambia a lo nuevo y mira a ver si no tienes un path o lo de la ip mal

Saludos
Estwald escribió:
racinglocura07 escribió:Estwald! Tengo un problema con esto.

Tengo un proyecto, el uSaveMe, el cual estaba trabajando con cygwin y funcionaba todo perfecto, ahroa con esto, compila bien, pero cuando lo quiero probar con el PS3load, me devuelve al xmb, si el mismo codigo lo compilo con el cygwin, y le doy a make run para probarlo, anda perfecto, alguna idea?

EDITO:

Pasa lo mismo con el sample del tiny3d sprites 2D


Yo he compilado PS3load (el que está en la carpeta samples en PSDK3v2\libraries-src\PSL1GHT-master\samples\network\ps3load), que por cierto, hay que añadirle la opción de que haga .pkg así:

#---------------------------------------------------------------------------------
run:
   ps3load $(OUTPUT).self

#---------------------------------------------------------------------------------
pkg:   $(BUILD) $(OUTPUT).pkg



Instalado el pkg, luego he compilado sprites 2D, editado uno de los bat para añadir mi ip, he ejecutado ambos y me han salido los fantasmas en pantalla.

Si estás tirando de algo antiguo, cambia a lo nuevo y mira a ver si no tienes un path o lo de la ip mal

Saludos


Lo que me queda por probar es compilar el psload con las herramientas nuevas, porque e ip lo estoy pasando bien ya que sino no pasaria la app...

Me di cuenta que si quiero ejecutar el make_self me cuelga el proceso y tengo que cerrrar la consola...
Que regalo!!!

gracias Estwald [oki]
racinglocura07 escribió:
Lo que me queda por probar es compilar el psload con las herramientas nuevas, porque e ip lo estoy pasando bien ya que sino no pasaria la app...

Me di cuenta que si quiero ejecutar el make_self me cuelga el proceso y tengo que cerrrar la consola...


Yo ya te digo que el que incluye va perfectamente, una vez añades la línea esa para que te genere el .PKG

La versión de PSL1GHT que tengo yo, es la que tenía Parlane en github. El make_self por lo visto se modificó para que firmara para los nuevos firmawares, pero como tu dices, da una excepción. Entonces tiré de la mía antigua y daba el mismo problema y esta corre con las dll de Cygwin. Así que la conclusión que saco, sin haberlo mirado a fondo obviamente, es que han cambiado algo en la construcción del elf que causa una incompatibilidad. Y ojo, por que lo del ps3load tuyo, quizá guarde relación con que los self van firmados para 3.40 y tu versión antigua no tenga los flags necesarios para lanzarlo.

De hecho, mi intención esta mañana al compilarlo, es que si efectivamente, no me permitiera lanzar el . self, añadir los flags extras que contiene Iris Manager (caps_flash, etc) que seguramente, con eso se hubiera solucionado. Pero no fue: con compilar el self con la scetool seguramente haya bastado.

De hecho, aunque el "nuevo" make_self me hubiera funcionado, la verdad es que prefiero la scetool por que no podemos estar con ejecutables o pkg (verás que ignoro el pkgfinalize o como se llame) que no son compatibles.

scetool a 3.40 y pkg a lo debug es lo que funciona en todos los CFW que hemos usado y si para que la scetool no fuera un incordio, había que crear un estúpido programa que me llevaba dos minutos hacerlo, pues parece buena idea llevarlo a cabo.

Pasa igual que la posibilidaad de generar el EBOOT.BIN por separado: a mi me ha salvado la vida y el trabajar por FTP se ha convertido en imprescindible y me otorga más flexibilidad que ps3load. Como lo qu euso ahora no sería compilable y me parece mejor idea tirar de Tiny3D y de los fuentes del FTP que incluyo en Iris, a ver si saco rato para hacer un PKG con el FTP integrado que añada alguna cosilla extra más y así os proporciono una alternativa a ps3load.

Saludos
Como andas estwald! Creo haber encontrado el problema, compile el ps3load, cree el pkg con la linea esa que habia que agregarle lo psue en la ps3 y me dice error 80010017... Seguramente pasa lo mismo con los self q intentaba cargar antes! Ahora, como solucionarlo? tengo entendido que este error es por tema de keys, puede ser?
racinglocura07 escribió:Como andas estwald! Creo haber encontrado el problema, compile el ps3load, cree el pkg con la linea esa que habia que agregarle lo psue en la ps3 y me dice error 80010017... Seguramente pasa lo mismo con los self q intentaba cargar antes! Ahora, como solucionarlo? tengo entendido que este error es por tema de keys, puede ser?

Tienes que firmarlo correctamente el eboot para que la ps3 lo coja.
ederedereder escribió:
racinglocura07 escribió:Como andas estwald! Creo haber encontrado el problema, compile el ps3load, cree el pkg con la linea esa que habia que agregarle lo psue en la ps3 y me dice error 80010017... Seguramente pasa lo mismo con los self q intentaba cargar antes! Ahora, como solucionarlo? tengo entendido que este error es por tema de keys, puede ser?

Tienes que firmarlo correctamente el eboot para que la ps3 lo coja.



Claro, pero como!? yo pongo make pkg y me lo arma...
racinglocura07 escribió:
ederedereder escribió:
racinglocura07 escribió:Como andas estwald! Creo haber encontrado el problema, compile el ps3load, cree el pkg con la linea esa que habia que agregarle lo psue en la ps3 y me dice error 80010017... Seguramente pasa lo mismo con los self q intentaba cargar antes! Ahora, como solucionarlo? tengo entendido que este error es por tema de keys, puede ser?

Tienes que firmarlo correctamente el eboot para que la ps3 lo coja.



Claro, pero como!? yo pongo make pkg y me lo arma...


dale un ojo a esto hilo_tutorial-firmar-aplicaciones-para-cfw-4-21-4-30_1828387
Hola

en el git he actualizado cosas en relación al SDK: he añadido en "psl1ght" las syscalls net que faltaban (que no se incluyen en v2, no se porqué) y también he eliminado alguna librería e include que no deberían estar ahí (recomiendo que borréis o renombreis la carpeta antigua y copieis la nueva nueva "psl1ght" compilada tal cual. Por supuesto, en "libraries-src" tenéis los cambios

Los ejemplos todavía no los he tocado: ahora mismo ando ocupado con cambios en Iris Manager y si estoy con una cosa, no puedo estar con otras [+risas]

Saludos
Hola,
¿existe algún entorno virtual para probar las aplicaciones en pc de ps3?

Gracias.
Viendo que me han pedido mi devkit para linux por privado un par de veces, he pensado prepararlo bien y hacer unos paquetes debian. Son para Ubuntu 12.04.2 LTS (amd64) yo creo que la cantidad de personas que les puede interesar va a ser pequeña, pero bueno ahí quedarán ;)

He preparado dos versiones una oficial, como bajada del github de psl1ght y la otra que sería exactamente esta v2. Y en esta versión de estwald hay una especie de libogg+libvorbis, unificados en un libogg.a supongo que lo uniste por que te cansaste de pelear con makefiles XD

En principio eso que ha hecho Estwald con libogg está muy feo (quizás podríamos cambiarle el nombre a libogg-full.a), pero son las librerías que usamos en iris, así que son las que yo recomiendo. Igualmente tenéis los dos sabores a elegir ;)

Bueno mañana termino de subir los ficheros y no se si crear un tema, ya que este es para windows. O si Estwald lo ve bien añadirlo al post inicial :?

ps3dev-toolchain_20130408-1_amd64.deb
estwald/ps3dev-ps3libraries_2.estwald.20130408-1_amd64.deb
estwald/ps3dev-psl1ght-sdk_2.estwald.20130408-1_amd64.deb
oficial/ps3dev-ps3libraries-sdk_2.20130408-1_amd64.deb
oficial/ps3dev-psl1ght-sdk_2.20130408-1_amd64.deb

Está todo compilado, hasta SDL, theora, etc...

Bueno ya me decís lo que sea [fumando]

Update
Al no obtener respuesta oficial (XD) monto el post aparte para no ensuciar el hilo de estwald:
hilo_psdk3v2-ubuntu-ps3-sdk-con-psl1ght-v2-tiny3d-ps3-soundlib-oscetool_1886884

Un Saludo y buenas noches! ZzzZZ
Vaya, me alegro de ver que mi compilador sigue dando guerra por ahi jaja, gracias por mantenerlo al dia por mi Estwald
Gracias a todos por vuestro trabajo
32 respuestas