buenas, me gustaria preguntar, cual es el codigo para escribir en la flash de la psp, desde la memoria en C, resulta que e provado varias opciones, en una si me copila, pero cuando lo testeo, se queda trabado, soy nuevo en esto de la programacion, pero me gustaria aprender, agradezco sus respuestas...
ejemplo de codigo que no marca error pero se traba al parchear:
#include <pspsdk.h>
#include <pspkernel.h>
#include <psppower.h>
#include <pspctrl.h>
#include <pspdisplay.h>
#include <pspdebug.h>
#include "Astaroth.h"
PSP_MODULE_INFO("parche", 0, 1, 0);
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER);
SceCtrlData currentPad, lastPad;
void menu()
{
pspDebugScreenClear();
pspDebugScreenPrintf(" Pulse X para parchear\n");
pspDebugScreenPrintf(" Pulse Triangulo para Salir de la Aplicacion");
while (1)
{
sceCtrlReadBufferPositive(¤tPad, 1);
if( currentPad.Buttons != lastPad.Buttons )
{
lastPad = currentPad;
if(currentPad.Buttons & PSP_CTRL_CROSS)
{
pspDebugScreenClear();
pspDebugScreenPrintf("Parcheando... Espere...");
writetoflash0("ms0:/psp/game/xxx/xxx.prx", "flash0:/kd");
{
char write_buffer[128*1024];
sceIoUnassign("flash0:");
sceIoAssign("flash0:", "lflash0:0,0", "flashfat0:", IOASSIGN_RDWR, NULL, 0);
int primero;
int segundo;
primero = open("ms0:/psp/game/xxx/xxx.prx", PSP_O_RDONLY, 0777);
if(primero <0>= 0)
{
int bytesleidos = 1;
segundo = open("flash0:/kd", PSP_O_WRONLY | PSP_O_CREAT | PSP_O_TRUNC, 0777);
bytesleidos = read(primero, write_buffer, sizeof(write_buffer));
while((bytesleidos > 0) && (segundo >= 0))
{
write(segundo, write_buffer, bytesleidos);
bytesleidos = read(primero, write_buffer, sizeof(write_buffer));
}
if(segundo >= 0)
{
close(segundo);
}
if(primero >= 0)
{
close(primero);
}
}
}
writetoflash0("ms0:/psp/game/xxx/xxx.bin", "flash0:/kd/xxx.bin");
{
char write_buffer[128*1024];
sceIoUnassign("flash0:");
sceIoAssign("flash0:", "lflash0:0,0", "flashfat0:", IOASSIGN_RDWR, NULL, 0);
int primero;
int segundo;
primero = open("ms0:/psp/game/xxx/xxx.bin", PSP_O_RDONLY, 0777);
if(primero <0>= 0)
{
int bytesleidos = 1;
segundo = open("flash0:/kd/xxx.bin", PSP_O_WRONLY | PSP_O_CREAT | PSP_O_TRUNC, 0777);
bytesleidos = read(primero, write_buffer, sizeof(write_buffer));
while((bytesleidos > 0) && (segundo >= 0))
{
write(segundo, write_buffer, bytesleidos);
bytesleidos = read(primero, write_buffer, sizeof(write_buffer));
}
if(segundo >= 0)
{
close(segundo);
}
if(primero >= 0)
{
close(primero);
}
}
}
menu();
}
if(currentPad.Buttons & PSP_CTRL_TRIANGLE)
{
pspDebugScreenClear();
pspDebugScreenPrintf("Saliendo... Espere...");
sceKernelDelayThread(2*1000*1000);
sceKernelExitGame();
}
}
}
}
int main(int argc, char *argv[])
{
sceCtrlReadBufferPositive(&lastPad, 1);
pspDebugScreenInit();
menu();
return 0;
}
salu2!!
Impossible is Nothing!!
MMM
1. Debe ser la librería que no esta completa. O sino, le falta una librería al makefile.
2. WTF!!?? un plugin a la carpeta KD?? mmm... Eso no me suena bien xD. Que estarás tramando? xD.
Un saludo
Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderas trucos para resolver tus dudas antes.
No preguntes por MP, mejor pregunta aquí.
jajaja
gracias por la respuesta, te agradeceria si me enseñaras un poco a programar, asi te diria lo que estoy tramando, XD, te mando un MP con mi Email, para ponernos en contacto, claro si gustas...
salu2!!!
Impossible is Nothing!!
Recomendación!
Ehmm... si estas tokando archivos por primera vez... por favor... juega tokando archivos en la ms0, no en la flash... una vez sepas crear mover copiar borrar etc... entonces pasa a la flash... (que es solo cambiar la ruta... de ms0 a flash0...).
Lo digo pq si tokas lo k no tienes k tokar, te causarás brick xD
Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es
gracias bro...
si se a lo que me arriesgo, ya tengo mucho en tiempo en esto, tengo psp fat, no hay mucho problema, lo nuevo, es lo de programacion jeje
salu2!!!
Impossible is Nothing!!