Buenas a todos.
En el siguiente enlace esta un homebrew que he creado para la 2.0 el cual aun no he podido probar (hasta q no llegue a casa xq estoy en el curro).
El programa comprueba repetidamente el estado de los controles de la PSP mostrandolo posteriormente en pantalla... teoricamente claro, aun no he tenido tiempo de probarlo.
2.0 PSPController Test
Si esto funciona podria ser un comienzo para ejecutar aplicaciones interactivas
En el zip estan el h.bin y las dos imagenes para el exploit (sacadas del helloworld)
El codigo principal del programa hace lo siguiente:
void Main(void)
{
SceCtrlData pad;
sceCtrlSetSamplingCycle(0);
sceCtrlSetSamplingMode(PSP_CTRL_MODE_ANALOG);
drawframe=0;
while(1){
printf("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", -1,0);
printf("PSP Controller Test by Testereto", -1,1);
printf("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!", -1,2);
sceCtrlRead(&pad, 1);
printf("Analog X = ", pad.Lx,3);
printf("Analog Y = ", pad.Ly,4);
if (pad.Buttons != 0){
if (pad.Buttons & PSP_CTRL_SQUARE) printf("Square pressed ",-1,5);
if (pad.Buttons & PSP_CTRL_TRIANGLE) printf("Triangle pressed ",-1,5);
if (pad.Buttons & PSP_CTRL_CIRCLE) printf("Cicle pressed ",-1,5);
if (pad.Buttons & PSP_CTRL_CROSS) printf("Cross pressed ",-1,5);
if (pad.Buttons & PSP_CTRL_UP) printf("Up pressed ",-1,5);
if (pad.Buttons & PSP_CTRL_DOWN) printf("Down pressed ",-1,5);
if (pad.Buttons & PSP_CTRL_LEFT) printf("Left pressed ",-1,5);
if (pad.Buttons & PSP_CTRL_RIGHT) printf("Right pressed ",-1,5);
if (pad.Buttons & PSP_CTRL_START) printf("Start pressed ",-1,5);
if (pad.Buttons & PSP_CTRL_SELECT) printf("Select pressed ",-1,5);
if (pad.Buttons & PSP_CTRL_LTRIGGER) printf("L-trigger pressed ",-1,5);
if (pad.Buttons & PSP_CTRL_RTRIGGER) printf("R-trigger pressed ",-1,5);
}
PrintLines();
drawframe=(drawframe?0:1);
}
return 0;
}
Si a alguien le va que me avise por privado o en este hilo ^^
----
prueba 2:
A alguien parece que se le congelaba la consola.. he pensado que puede ser por la forma de "entrar" en la rutina principal, pero no estoy seguro. He eliminado la pequeña optimización que hice para que se parezca mas a la version original. El enlace tiene la nueva versión.
----
prueba 3:
Creo que no estaba refrescando bien la pantalla y por eso no se veian los mensajes... probe con las syscall para la 1.0 y no iban, vuelvo a usar las de hitman
----
prueba 4:
Al parecer cada syscall tiene una direccion diferente segun la version del firmware q se use. Las de 2.0 no estan muy documentadas aun, auqn van apareciendo poco a poco. Aqui teneis una lista q se ha ido actualizando estos dias:
Hitmen Syscall List
----
prueba 5:
Bueno, con unos truquillos por aqui, y unas syscall sacadas a hostias por alla, he conseguido echarlo a andar. Ademas sin parpadeos si vais a visualizar la imagen. Supongo q si consiguiese meterlo en un unico .tif no existiria ni el parpadeo inicial.. tiempo al tiempo