Antwort schreiben  Thema schreiben 
Seiten (2): « Erste [1] 2 Nächste > Letzte »
Verfasser Nachricht
knopper
Halbprofi
***


Beiträge: 135
Gruppe: User
Registriert seit: Apr 2010

Status: Offline
Danke erhalten: 58
Beitrag: #1
xPSP  PSP3004 "Hello World"-Anfrage

Hallo, bin Anfänger und neu hier. Habe schon etliches im Forum gelesen, aber leider keine Antwort auf mein Problem gefunden.

Habe eine PSP3004 (8D, 5.51) und möchte mittels eLoader ein simples selbstgemachtes "Hello World"-Programm starten. Da der eLoader grundsätzlich mit ein paar einfachen Homebrews funktioniert, bin ich davon ausgegangen, dass ein simples Testprogramm, das lediglich "Hello World" anzeigt kein Problem sei.

Habe folgenden Code (pspfreak.de) mit pspsdk0.9.5 fehlerlos kompiliert, aber trotzdem funktioniert es nicht. Beim Starten über den eLoader passiert nichts, außer das sich die PSP nach einer Weile abschaltet. Kennt sich jemand aus und kann mir einen Tipp geben? Vielen Dank.

Code
#include #include
PSP_MODULE_INFO("Hello World", 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();

printf("Hello World");

sceKernelSleepThread();

return 0;

}


PSP 3004, FW 6.6
19.04.2010 13:48
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Superfly
Super Mod
**


Beiträge: 6.017
Gruppe: Super Moderator
Registriert seit: Jun 2009

Status: Offline
Danke erhalten: 5976
Beitrag: #2
RE: PSP3004 "Hello World"-Anfrage

kann es sein dass du versuchst auf den kernel zuzugreifen?

19.04.2010 13:54
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
anmabagima
Ex-Developer
****


Beiträge: 348
Gruppe: User
Registriert seit: Dec 2009

Status: Offline
Danke erhalten: 530
Beitrag: #3
RE: PSP3004 "Hello World"-Anfrage

Hi,

was dir fehlt ist eine Warteschleife in deinem Haupt-Thread.

Sowas wie

Code:
int main() {

pspDebugScreenInit();
SetupCallbacks();

while (running){
//do something like printf
}
return 0;


dabei wird "running" als globale BOOL variable definiert und mit true initialisiert.
In deinem exit_callback wird running dann auf false gesetzt.

19.04.2010 14:18
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
knopper
Halbprofi
***


Beiträge: 135
Gruppe: User
Registriert seit: Apr 2010

Status: Offline
Danke erhalten: 58
Beitrag: #4
xPSP  RE: PSP3004 "Hello World"-Anfrage

Ja, pspkernel.h und pspdebug.h sind eingebunden, werden aber leider im Code nicht angezeigt. Aber wie soll's ohne pspkernel.h funktionieren?


PSP 3004, FW 6.6
19.04.2010 14:19
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
knopper
Halbprofi
***


Beiträge: 135
Gruppe: User
Registriert seit: Apr 2010

Status: Offline
Danke erhalten: 58
Beitrag: #5
xPSP  RE: PSP3004 "Hello World"-Anfrage

Erstmal vielen Dank für die schnelle Hilfe. Der Tipp von anmabagima hat die Sache transparenter gemacht. Nach den Code-Änderungen gibt der Compiler Fehlermeldungen aus. Werde daraus leider nicht schlauer, ganz im Gegenteil.



Ist es vielleicht doch ein Kernel-Problem?


PSP 3004, FW 6.6
19.04.2010 14:49
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
_Kai_
be linux
**


Beiträge: 2.680
Gruppe: Programmierung
Registriert seit: Nov 2009

Status: Abwesend
Danke erhalten: 2809
Beitrag: #6
xPSP  RE: PSP3004 "Hello World"-Anfrage

knopper :
Erstmal vielen Dank für die schnelle Hilfe. Der Tipp von anmabagima hat die Sache transparenter gemacht. Nach den Code-Änderungen gibt der Compiler Fehlermeldungen aus. Werde daraus leider nicht schlauer, ganz im Gegenteil.



Ist es vielleicht doch ein Kernel-Problem?


Nein du hast "running" nicht deviniert.
Entweder schreibst du "while(1)" das würde funktionieren, oder du schreibst oben "int running" oder so.


PSVita mit 16gb Memorystick und PlayStation+
+ Uncharted + Army Corps of Hell + Assassins Creed
+ NFS Most Wanted + COD Black Ops + Resistance
+ Everybodys Golf + Modnation Racers
Für PSN ID => PN
19.04.2010 15:05
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
knopper
Halbprofi
***


Beiträge: 135
Gruppe: User
Registriert seit: Apr 2010

Status: Offline
Danke erhalten: 58
Beitrag: #7
xPSP  RE: PSP3004 "Hello World"-Anfrage

Habe jetzt den Code geändert (while(1)) und neu compiliert. Hat auch fehlerlos geklappt. Aber beim Starten von "Hello World" über den eLoader hat sich nichts verändert. Die Ladeanzeige blinkt kurz und das wars dann. Wenig später verabschiedet sich die PSP3004.

Code (unterer Teil)
int main() {
pspDebugScreenInit();
SetupCallbacks();
while (1){
printf("Hello World");
}
return 0;
}


PSP 3004, FW 6.6
19.04.2010 16:09
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
pspbricker
Mod a.D.
*


Beiträge: 3.428
Gruppe: User
Registriert seit: May 2008

Status: Offline
Danke erhalten: 1641
Beitrag: #8
RE: PSP3004 "Hello World"-Anfrage

Wenn du jetzt auf deiner PSP Produktiv programmieren willst, musst du leider auf die Finale Version des HBL warten.
Willst du jetzt aus Spaß ein Hello World coden, dann schau die mal die Funktionen aus dem Hello World Tutorial von Hackman an:
http://www.pspking.de/forum/showthread.php?tid=16919




Meine PS3 Games : Warhawk , NFS: Pro Street, Motorstorm ,Midnight Club LA, LittleBigPlanet, GTA4, Uncharted 2, Overlord, Killzone2, PES10, Battlefield ´43, Socom: Confrontation,


Forum Regeln Beachten! KEIN ISO Talk! KEINE Beleidigungen! KEINE illegalen Links!


19.04.2010 18:03
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
knopper
Halbprofi
***


Beiträge: 135
Gruppe: User
Registriert seit: Apr 2010

Status: Offline
Danke erhalten: 58
Beitrag: #9
xPSP  RE: PSP3004 "Hello World"-Anfrage

@pspbricker

Danke für den Tipp, werde ich mir heute Nacht reinziehen.

Grüße...


PSP 3004, FW 6.6
19.04.2010 19:25
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Arcanum
Halbprofi
***


Beiträge: 170
Gruppe: User
Registriert seit: Apr 2010

Status: Offline
Danke erhalten: 48
Beitrag: #10
xPSP  RE: PSP3004 "Hello World"-Anfrage

Das ist kein Hello World Tutorial. Hier der Code den den du brauchst, kurz und schmerzlos:

Code:
#include <pspsdk.h>
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspctrl.h>
#include <pspthreadman.h>

PSP_MODULE_INFO("HalloWelt", 0, 1, 0);
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER);
PSP_MAIN_THREAD_STACK_SIZE_KB(256);

int main(int argc, char *argv[])
{
        SceCtrlData pd;
        pspDebugScreenPrintf("Hallo Welt\n\nDrücke [X] um das Programm zu beenden...");
        while(1)
        {
                 sceCtrlReadBufferPositive(&pd,1);
                 if(pd.Buttons == PSP_CTRL_CROSS) { break; }
        }
        pspDebugScreenClear();
        pspDebugScreenPrintf("Bye :)");
    return 0;
}




PSP 1004 - Datecode 6B - CFW 5.00 M33-6
PSP 3004 - Datecode 8D - OFW 6.20

Dieser Beitrag wurde zuletzt bearbeitet: 19.04.2010 20:22 von Arcanum.

19.04.2010 20:21
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
anmabagima
Ex-Developer
****


Beiträge: 348
Gruppe: User
Registriert seit: Dec 2009

Status: Offline
Danke erhalten: 530
Beitrag: #11
RE: PSP3004 "Hello World"-Anfrage

Hi,

@BattleMaster246:
ein recht guter code, der nur einen "Haken" hat. Diese HB kann nicht über den Home-Button wie üblich beendet werden.

@PSP-Hilfe: Auch die Nutzung von while(1) hat einen Haken, denn die Schleife wird auch beim Drücken der home-Taste nicht beendet. Das kann unterumständen auch zum Freeze/absturz der PSP führen. Darum sollte man immer vermeiden infinite Loops in den Programmen zu haben, es sollte immer eine EXIT-Bedingung geben.

20.04.2010 08:03
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
knopper
Halbprofi
***


Beiträge: 135
Gruppe: User
Registriert seit: Apr 2010

Status: Offline
Danke erhalten: 58
Beitrag: #12
xPSP  RE: PSP3004 "Hello World"-Anfrage

Hallo,

@ pspbricker
Hackmans Hello World Tutorial ist 'ne feine Sache, aber für einen Anfänger nicht einfach. Mal sehen, wann und wie ich das hinkriege.

@ BattleMaster246
Der "kurz & schmerzlos"-Code ändert leider nichts daran, dass der eLoader die wenigen Code-Zeilen von "Hello World" nicht richtig lesen kann. Die Ladeanzeige leuchtet jetzt so lange, bis sich die PSP3004 nach ca. 10 Sekunden abschaltet.

Mir will einfach nicht einleuchten, dass einige Homebrews funktionieren, aber kein simples "Hello World".


PSP 3004, FW 6.6

Dieser Beitrag wurde zuletzt bearbeitet: 20.04.2010 13:09 von knopper.

20.04.2010 12:32
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
anmabagima
Ex-Developer
****


Beiträge: 348
Gruppe: User
Registriert seit: Dec 2009

Status: Offline
Danke erhalten: 530
Beitrag: #13
RE: PSP3004 "Hello World"-Anfrage

Hi,

sind die paar wenigen Homebrews die funktionieren vielleicht im Kernel-Mode und nicht im User-Mode ?
Dein Hello World ist definitiv ein User-Mode HB....

20.04.2010 13:40
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
flofrucht
Banned


Beiträge: 2.470
Gruppe: Banned
Registriert seit: Jul 2009

Status: Abwesend
Danke erhalten: 4709
Beitrag: #14
RE: PSP3004 "Hello World"-Anfrage

HBL lädt nur UMode Homebrews..
@anmabagima:
wie würde der code ausschauen das man mit dem home button auch beenden kann.
?
mfg.flo

20.04.2010 13:47
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
knopper
Halbprofi
***


Beiträge: 135
Gruppe: User
Registriert seit: Apr 2010

Status: Offline
Danke erhalten: 58
Beitrag: #15
xPSP  RE: PSP3004 "Hello World"-Anfrage

Hallo, weiß leider nicht in welchem Mode die wenigen lauffähigen Homebrews sind:

PSP_Snake
PSP_Tetris
PSP_Plasma
Bookr (PDF-Viewer)


PSP 3004, FW 6.6
20.04.2010 14:01
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Seiten (2): « Erste [1] 2 Nächste > Letzte »
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
xPSP [Projekt]PSPokemon World Blacky94 73 15.755 28.12.2012 02:07
Letzter Beitrag: ~Hook~
xPSP Hello World programmieren pandoraboy 49 8.874 29.06.2011 19:15
Letzter Beitrag: dark-awesome
xPSP Hello World Problem? phil229 18 4.082 23.12.2010 21:18
Letzter Beitrag: Unbekannt
xPSP 2 Fragen zu Lua (Hello World) scheissaue 33 6.762 23.07.2010 19:26
Letzter Beitrag: scheissaue
xPSP Hello World auf der GO by D @ rk-$ Mn Soulreaver1993 5 1.979 31.01.2010 20:52
Letzter Beitrag: PSP3k

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang