Cual es el mejor SDK para PSP???

He leido algo sobre el SDK de PS2Dev.. hay otros? (no oficiales, por supuesto)
NOTA: Uso win pero no me importa pasar a linux, lo digo por si hay algun sdk que solo este en linux.
Gracias!!
si trabajas bajo windows lo mejor es que uses el sdk precompilado de heimdall:

http://minpspw.sourceforge.net/

yo lo uso para compilar mis propios programas y el daedalusx64, y mal no va jajaj
ok gracias!! Este finde me pondre a trastear aver q tal
edito: Acabo de ver que es minpspw un port del sdk de ps2dev. El de ps2dev es solo para lnx? Mejor uso lnx que win? :S:S:S
Has conseguido pintar objetos con las librerias que trae este sdk? (no tengo ni idea de lo que trae estoy bastante liado con mil cosas y solo he mirado esto de programar para psp muy por encima. Tengo muchas ganas de empezar pero no kiero empezar ya pq lo dejare a medias por las otras cosas que estoy haciendo)
puesss a ver el sdk es el mismo para linux que para windows, solo que el de linux si te lo compilas tu desde el svn pues tendras la ultima version, sin embargo la de windows es de alguna revision anterior a la actual del svn. Respecto a lo de pintar cosas pues como que no tengo ni idea, me he hecho 2 o 3 homebrews en plan terminal y poco mas, tampoco le he podido dedicar mucho tiempo [carcajad]
anoche consegui compilar un helloworld!!!!! :D:D:D
PERO hasta que no le pasé el PSPBrew al EBOOT.PBP recien compilado no consegui arrankar el helloworld. (El PSPBrew se supone que pasa el pbp de 1.0 a 1.5 (frmw) y viceversa.
Sabes si hay algun compilador que deje el .pbp listo para cualkier psp??
Que diferencia hay entre v1.0 y 1.5 de psp? la 1.0 ejecuta homebrew sin mas, no? Pero entonces las psps mas nuevas que? siguen teniendo el kernel de 1.5? las 3000 no, no?
Estoy hecho un lio!!!!!!!!!!!!!!!
A ver, voy a intentar dejarte con menos dudas xDDD

c00l1d escribió:anoche consegui compilar un helloworld!!!!! :D:D:D
PERO hasta que no le pasé el PSPBrew al EBOOT.PBP recien compilado no consegui arrankar el helloworld. (El PSPBrew se supone que pasa el pbp de 1.0 a 1.5 (frmw) y viceversa.

Esto ya no es necesario, eso se hacía para que los usuarios con versión 1.5 pudieran correr homebrews compilados para la 1.0; la razón era que esos homebrews no estaban actualizados para 1.5 (a razón de sus creadores).

c00l1d escribió:Sabes si hay algun compilador que deje el .pbp listo para cualkier psp??

El mismo que utilizas, solo es cuestión de crear el makefile para que compile para los CFW recientes (más abajo te dejaré un ejemplo que debe correr en los CFW más recientes apenas lo compiles).

c00l1d escribió:Que diferencia hay entre v1.0 y 1.5 de psp? la 1.0 ejecuta homebrew sin mas, no? Pero entonces las psps mas nuevas que? siguen teniendo el kernel de 1.5? las 3000 no, no?
Estoy hecho un lio!!!!!!!!!!!!!!!

A ciencia cierta no puedo decirte la diferencia real entre la 1.0 y 1.5 (cuando llegué a este mundillo de PSP ya las cosas estaban por el CFW 3.03 y cuando me interesé en programar, si mal no recuerdo, estaba por el CFW 3.90); pero la diferencia (que conozco) estaba en que para 1.5 se necesitaba compilar y/o pasarle con el KXploit (que es o como se hacía exactamente no se, como dije, llegué mucho después).

Ya que hablamos de diferencia pues te digo las diferencias principales que se toman en cuenta entre programar para 1.5 y 3.XX (así se ha denominado a los nuevos kernels):
- en 1.5 los homebrews (mayormente) se hacían en modo kernel (existen dos modos: kernel y usuario), en cambio en 3.XX es obligatorio (a menos que sea un plugin) que el homebrew este en modo usuario. Esto se logra con esta línea:
modo usuario:
PSP_MODULE_INFO("Hola Mundo",0,1,0);

modo kernel:
PSP_MODULE_INFO("Hola Mundo", 0x1000, 1, 0);


- para 1.5 se compilaba un ELF (que es estático en cuanto a su colocación en RAM) y para 3.XX hay que compilar un PRX (que es dinámico). El formato PBP es un contenedor de varios archivos. para compilarlo en PRX hay que agregar la siguiente línea al makefile:
BUILD_PRX =1


- para 3.XX no se necesita KXploit.

Sobre el kernel 1.5 y las PSP:
Slim, 3000 y (supongo) GO no lo soportan.

Dark_Alex creó un parche llamado LEDA que permite a las Slim correr homebrews compilados para kernel 1.5 (no todos los homebrews corren, pero son muchos los que sí). Para las PSP 1000 (FAT), como soporta el kernel 1.5, se crearon addons, para algunos CFW, que agregaban el kernel 1.5.

Nota: Actualmente se considera obsoleto crear homebrews para kernel 1.5.

Ahora vamos con el ejemplo:

main.c
#include <pspkernel.h>
#include <pspdebug.h>

PSP_MODULE_INFO("Hola Mundo",0,1,0);

/* Llamada de salida */
int exit_callback(int arg1, int arg2, void *common) {
          sceKernelExitGame();
          return 0;
}

/* Llamada thread */
int CallbackThread(SceSize args, void *argp) {
          int cbid;

          cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
          sceKernelRegisterExitCallback(cbid);

          sceKernelSleepThreadCB();

          return 0;
}

/* Configura llamada thread y vuelve a su thread id */
int SetupCallbacks(void) {
          int thid = 0;

          thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
          if(thid >= 0) {
                    sceKernelStartThread(thid, 0, 0);
          }

          return thid;
}

int main()
{
   pspDebugScreenInit();
   SetupCallbacks();
   
   pspDebugScreenPrintf("hola Mundo");
   
   sceKernelSleepThreadCB();
   
   return 0;
}

Nota: lo que esta desde /* Llamada de salida */ hasta antes del int main() es para salir mediante la tecla HOME.

makefile:
TARGET = HolaMundo
OBJS = main.o

PSPSDK=$(shell psp-config --pspsdk-path)
PSPBIN = $(shell psp-config —psp-prefix)/bin
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)

LIBS =

BUILD_PRX =1
PSP_FW_VERSION = 500
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Hola Mundo
include $(PSPSDK)/lib/build.mak


Espero que esto te aclare un poco xDDD
Cualquier pregunta, por aquí estamos.
En mi blog publique una entrada para instalar el PSP SDK en Linux (Ubuntu), y unas librerías, si alguien sabe algo mas, lo pongo en el tuto!

Saludos
Gracias iceman755! Ara ya lo piyo todo. Lo que no tngo ninguna psp 3000 pa provar si funcionan mis programas :(
Tonces compilando como compilo ahora que me sale el EBOOT.PBP solo me sirve para FAT o 2000 con m33 no?
Como puedo hacer para que funcione en todas? O no se puede..? :S
7 respuestas