/* BrightControlerXMB source file
This plugin has been made by dj51_Shura.
Without DeViaNTe I CANNOT made this. So much thanks to him!
Este plugin fue hecho por dj51_Shura.
Sin DeViaNTe yo NO PODRíA haberlo creado. Así que muchas gracias por todo,
especialmente por decirme mis errores y a qué se debían.
*//* CONTROLS
Analogic Pad up = Upgrade screen bright level 5%
Analogic Pad down = Downgrade screen bright level 5%
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
*/#include <pspsdk.h> // Librería PSPSDK Utility#include <pspkernel.h> // Librería básica para el funcionamiento#include <pspthreadman.h> // Librería que no sé para lo que sirve, pero que DeViaNTe me ha dicho que hace falta (XD)#include <pspdebug.h> // Librería Debug Utility#include <pspctrl.h> // Librería de manejo de los controles#include <pspdisplay.h> // Librería de manejo de algunas funciones de la pantalla#include <pspdisplay_kernel.h> // Librería de manejo avanzado de algunas funciones de la pantalla
PSP_MODULE_INFO("BC",0x1000,1,0);// Kernel powered + ejecución 'infinita'
PSP_MAIN_THREAD_ATTR(0);// Main Thread attribute: Kernel mode#define PRIORIDAD 0x30 // Prioridad a la hora de re-ejecutar el thread desde el 'module_start'#define MODOTHREAD 0x1000 // Modo Kernel a la hora de re-ejecutar el thread desde el 'module_start'int main_thread(SceSize argc,void* argp){
SceCtrlData pad;// Asignamos la lectura de los controles a la variable 'pad'int brillo;// Creamos una variable vacía 'brillo'
sceDisplayGetBrightness(&brillo,0);// Asignamos el nivel de brillo actual a la variable 'brillo'
sceCtrlSetSamplingCycle(0);
sceCtrlSetSamplingMode(PSP_CTRL_MODE_ANALOG);// Establecemos el modo de los controleswhile(1){
sceCtrlPeekBufferPositive(&pad,1);// Asignamos la lectura de los controles a la variable 'pad'if(pad.Ly<60){// Si el 'AnalogicPad.Y' tiene un valor negativo (pad analógico hacia abajo) ...if(brillo <=95){// Si el nivel de brillo es menor o igual que 95 ...
brillo = brillo +5;// La varible 'brillo' será igual al valor actual de 'brillo' + 5 ...
sceDisplaySetBrightness(brillo,0);// Establecemos el nivel de brillo de la pantalla según la variable 'brillo'}}if(pad.Ly>220){// Si el 'AnalogicPad.Y' tiene un valor negativo (pad analógico hacia abajo) ...if(brillo >=10){// Si el nivel de brillo es mayor o igual que 5 ...
brillo = brillo -5;// La varible 'brillo' será igual al valor actual de 'brillo' - 5 ...
sceDisplaySetBrightness(brillo,0);// Establecemos el nivel de brillo de la pantalla según la variable 'brillo'}}
sceDisplaySetBrightness(brillo,0);/*
Esta linea en el bucle infinito sirve para que, aunque apaguemos la pantalla mantiendo la tecla
'SCREEN', al volver a encenderla, vuelva a estar con el brillo que la dejamos. Sin esto,
si apagásemos la pantalla, al encenderla de nuevo pulsando 'SCREEN' el brillo se setearía
a uno de los niveles por defecto (el mínimo, según mis testeos).
*/
sceKernelDelayThread(150000);// Esto evitará el crasheo (freezeo) de la PSP ...}return0;// Devolvemos 0 para cerrar el thread}int module_start(SceSize args,void*argp){int thid = sceKernelCreateThread("BC", main_thread, PRIORIDAD, MODOTHREAD,0, NULL);// Creamos un thread y lo asignamos a la variable 'thid'return sceKernelStartThread(thid, args, argp);// Devolvemos el inicio del thread asignado antes a 'thid'}
de mi plugin BrightControlerXMB, además del Makefile:
adaptándolos a lo que quieres hacer, es decir, incluyendo la librería psploadexec.h y viendo las diferentes funciones que tiene, aquí: http://psp.jim.sh/pspsdk-doc/
Un saludo
PD: no te doy el código ya hecho... pero sí una base. Lo que tienes que hacer es borrar lo que sobre, y añadir que 'si se está pulsando L' cargue un EBOOT.
Coge este código
te lo dejo:
de mi plugin BrightControlerXMB, además del Makefile:
adaptándolos a lo que quieres hacer, es decir, incluyendo la librería psploadexec.h y viendo las diferentes funciones que tiene, aquí: http://psp.jim.sh/pspsdk-doc/
Un saludo
PD: no te doy el código ya hecho... pero sí una base. Lo que tienes que hacer es borrar lo que sobre, y añadir que 'si se está pulsando L' cargue un EBOOT.
http://www.mhypnok.blogspot.com/
Gracias a Dark_AleX, Total_Noob, VirtuousFlame, Coldbird, Codestation...
Pues la verdad es que no
Pues la verdad es que no se.
Tendria que ser con algun plugin o modificando la flas0
Con un plugin
y la librería psploadexec.h y opcionalmente psploadexec_kernel.h
Tocando la flash0 obtendrías un brick, además de que con un plugin es mucho más sencillo
http://www.mhypnok.blogspot.com/
Gracias a Dark_AleX, Total_Noob, VirtuousFlame, Coldbird, Codestation...