EDIT: geht nicht psp freezet ich glaub du hast falsch verstanden
ich brauche ein befehl das den Bildschirm solange anhält bis ich eine Taste drücke.
Nein damit kannst du das HB über die Home Taste beenden du kannst das natürlich auch mit den Tasten machen aber der Callback Code ist eigentlich Standart in jedem HB ;D
Und lies meinen Edit. Und am ende machst du sceKernelSleepThread
Hatte ich doch recht mit sceKernelSleepThread();
Naja standart in jedem HB? Nicht in jedem, in vielen.
z.B. bei einem HB mit vlflib, brauchst du den Callback Code nicht
Jaja schon klar nicht in jedem aber es ist besser man macht ihn rein...
Gehts secret
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspdisplay.h>
#include <pspctrl.h>
PSP_MODULE_INFO("count", 0, 1, 1);
#define printf pspDebugScreenPrintf
/* Exit callback */
int exit_callback(int arg1, int arg2, void *common) {
sceKernelExitGame();
return 0;
}
/* Callback thread */
int CallbackThread(SceSize args, void *argp) {
int cbid;
cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
sceKernelRegisterExitCallback(cbid);
sceKernelSleepThreadCB();
return 0;
}
/* Sets up the callback thread and returns its 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();
SceCtrlData pad; //pad undeklariert
while(1)
{
sceCtrlReadBufferPositive(&pad, 1); //pad kriegt den wert der kontrols.
if(pad.Buttons & PSP_CTRL_CROSS)
{
printf("(X)\n\a");
/////////////////////////////////////////////////////
}
if(pad.Buttons & PSP_CTRL_CIRCLE)
{
printf("(Kreis)\n\a");
/////////////////////////////////////////////////////
}
if(pad.Buttons & PSP_CTRL_SQUARE)
{
printf("(Viereck)\n\a");
/////////////////////////////////////////////////////
}
if(pad.Buttons & PSP_CTRL_TRIANGLE)
{
printf("(Dreieck)\n\a");
/////////////////////////////////////////////////////
}
if(pad.Buttons & PSP_CTRL_RTRIGGER )
{
printf("(R)\n\a");
/////////////////////////////////////////////////////
}
if(pad.Buttons & PSP_CTRL_LTRIGGER)
{
printf("(L)\n\a");
/////////////////////////////////////////////////////
}
if(pad.Buttons & PSP_CTRL_SELECT)
{
printf("(SELECT)\n\a");
/////////////////////////////////////////////////////
}
if(pad.Buttons & PSP_CTRL_START)
{
printf("(START)\n\a");
/////////////////////////////////////////////////////
}
if(pad.Buttons & PSP_CTRL_UP)
{
printf("(OBEN)\n\a");
/////////////////////////////////////////////////////
}
if(pad.Buttons & PSP_CTRL_DOWN)
{
printf("(UNTEN)\n\a");
/////////////////////////////////////////////////////
}
if(pad.Buttons & PSP_CTRL_LEFT)
{
printf("(LINKS)\n\a");
/////////////////////////////////////////////////////
}
if(pad.Buttons & PSP_CTRL_RIGHT)
{
printf("(RECHTS)\n\a");
/////////////////////////////////////////////////////
}
}
sceKernelSleepThread();
return 0;
}
über all wo eine ///////////////////////////////////////////// ist da soll mein anhalte code rein weil wenn ich ein Knopf drücke wird der Text tausendmal geprintet.