Antwort schreiben  Thema schreiben 
Seiten (2): « Erste < Vorherige 1 [2] Letzte »
Verfasser Nachricht
Yata
Halbprofi
***


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

Status: Offline
Danke erhalten: 23
Beitrag: #16
xPSP  RE: keine EBOOT.PBP beim debuggen

Werds morgen ausprobieren,vielen dank.

Greetz
Yata

25.07.2010 00:11
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: #17
RE: keine EBOOT.PBP beim debuggen

Man kann nur auf der OFW 1.5 Elfs debuggen.
Ab der 3.4 kann man nur noch prx's über PSPLink starten. Auch wenn sich bei mir die PSP meistens dabei aufhängt Sad




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!


25.07.2010 12:31
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: #18
RE: keine EBOOT.PBP beim debuggen

Hi,

ich hab' eine CFW 5.50 GEN irgendwas....da klappt das debuggen mit psplink ohne probleme :o)

Als kurze Erklärung:
Ich arbeite mit Eclipse und habe dort usbhost als externes Tool eingebunden - ebenso wie pspsh (shell für psp)...
Dann auf der PSP die PSP-Link HBN starten. USB Kabel rein und das externe Tool usbhost und danach pspsh über eclipse gestartet....dann kann man in eclipse den Debugger einrichten. In der psp-shell wird über den Befehl "debug myHB.prx" die HB im Debug-Modus gestartet...dann noch den Eclipse debugger anschmeißen und die HB wird gestartet und der debugger hält als erstes in der main.c/.cpp an....läuft bei mir auch unter Windows 7(64Bit) ohne knurren :o)

Gruß AnMaBaGiMa

25.07.2010 18:51
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
HacKmaN
Ex-Developer
*


Beiträge: 2.423
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 3319
Beitrag: #19
xPSP  RE: keine EBOOT.PBP beim debuggen

pspbricker :
Man kann nur auf der OFW 1.5 Elfs debuggen.
Ab der 3.4 kann man nur noch prx's über PSPLink starten. Auch wenn sich bei mir die PSP meistens dabei aufhängt Sad


PRXs sind auch ELFs... ("Portable Relocateable eXecuteable"), nur dass sie keine festen Adressen in der ELF selber haben (dass heißt sie können überall in den RAM geladen werden).
Standart ELFs dagegen (wie man sie mit EXTRA_TARGETS = EBOOT.PBP erstellt) müssen auf eine feste, von der ELF bestimmte Adresse im RAM geladen werden (elf_header.p_vaddr, auf der PSP dasselbe wie elf_header.p_paddr, da es auf der PSP keine virtuellen Adressen gibt), sonst werden sie wegen den festen Adressen nicht funktionieren.

25.07.2010 19:01
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
anmabagima (Jul-25-2010)
Yata
Halbprofi
***


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

Status: Offline
Danke erhalten: 23
Beitrag: #20
xPSP  RE: keine EBOOT.PBP beim debuggen

Hay,
hab wieder ein Problem.Hab versucht ein bissl rum zu coden und hab versucht den Batteriestand etc. von der PSP auszulesen.
Vom Compiler aus ist alles in Ordnung (0 Fehler und 0 Warnungen) aber die PSP hängt immer und wenn ich über den Homebutton das Homebrew verlasse geht die PSP nach ein paar Sekunden aus Noidea
Hier ist der Code

Code:
/*Author: Yata*/

#include &lt;pspkernel.h&gt;
#include &lt;pspdebug.h&gt;
#include &lt;pspkerneltypes.h&gt;
#include &lt;pspctrl.h&gt;
#include &lt;pspwlan.h&gt;
#include &lt;psppower.h&gt;

#define printf pspDebugScreenPrintf
#define prints printTextScreen

/* Define the module info section */
PSP_MODULE_INFO("Service", 0, 1, 1);

/* Define the main thread's attribute value (optional) */
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);



//.............................................................
//Callbacks



int exit_callback(int arg1, int arg2, void *common) {
          sceKernelExitGame();
          return 0;
}


int CallbackThread(SceSize args, void *argp) {
          int cbid;

          cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
          sceKernelRegisterExitCallback(cbid);

          sceKernelSleepThreadCB();

          return 0;
}


int SetupCallbacks(void) {
          int thid = 0;

          thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
          if(thid &gt;= 0) {
                    sceKernelStartThread(thid, 0, 0);
          }

          return thid;
}


//.............................................................

int aktivmenu = 0;
int maxmenu = 2;




char menupoints [3] [20] = {"Check Batterie Life","Check Batterie Exist","Exit"};

void printmenu()
{
    int i;
    printf("Service Tool for the PSP (by Yata)\n\n\n\n\t");
    for (i = 0; i&lt;maxmenu+1; i++)//+1
    {
        if (aktivmenu == i)
        {
            printf("-&gt;%s\n",menupoints[i]);
        }
        
        else
        {
            printf("-&gt;  %s\n",menupoints[i]);
        }
    }
}



int main(int argc, char *argv[])
{
    pspDebugScreenInit();
    SetupCallbacks();
    SceCtrlData pad;
    
    int scePowerGetBatteryLifePercent();
    int scePowerGetBatteryLifeTime ();
    int scePowerIsBatteryExist ();
    int sceWlanDevIsPowerOn();
    
    int button = 0;

    
    printmenu();

    
    sceCtrlReadBufferPositive(&amp;pad, 1);

    while(1)
    {
        sceCtrlReadBufferPositive(&amp;pad, 1);

        if ((pad.Buttons &amp; PSP_CTRL_DOWN) &amp;&amp; (aktivmenu != maxmenu) &amp;&amp; (button == 0))
        {
            aktivmenu++;
            pspDebugScreenClear();
            printmenu();
        }

        if ((pad.Buttons &amp; PSP_CTRL_UP) &amp;&amp; (aktivmenu != 0) &amp;&amp; (button == 0))
        {
            aktivmenu -= 1;
            pspDebugScreenClear();
            printmenu();
        }

        if ((pad.Buttons &amp; PSP_CTRL_UP) || (pad.Buttons &amp; PSP_CTRL_DOWN))
        {
            button = 1;
        }
        else
        {
            button = 0;
        }



        if ((aktivmenu == 0) &amp;&amp; (pad.Buttons &amp; PSP_CTRL_CROSS))
        {
            pspDebugScreenClear();


            printf("Batterylife:%d\n",scePowerGetBatteryLifePercent());
            break;
            

        }
        
        if ((aktivmenu == 1) &amp;&amp; (pad.Buttons &amp; PSP_CTRL_CROSS) &amp;&amp; scePowerIsBatteryExist() == 0)
        {
            
            printf("Battery: No exist");
            break;
        
        }

        if ((aktivmenu == 1) &amp;&amp; (pad.Buttons &amp; PSP_CTRL_CROSS) &amp;&amp; scePowerIsBatteryExist() == 1)
        {
            printf("Battery: Yes exist");
            break;
        
        
        }

        
        if ((aktivmenu == 2) &amp;&amp; (pad.Buttons &amp; PSP_CTRL_CROSS))
        {
            break;
            sceKernelExitGame();
        }
    }
        
    
    if (pad.Buttons &amp; PSP_CTRL_CIRCLE)
    {
        pspDebugScreenClear();
        printmenu();
    }

        
    return 0;
}


Bitte helft mir ....

Grüße
Yata

26.07.2010 12:53
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Yata
Halbprofi
***


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

Status: Offline
Danke erhalten: 23
Beitrag: #21
RE: keine EBOOT.PBP beim debuggen

*PUSH*

26.07.2010 15:35
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: #22
RE: keine EBOOT.PBP beim debuggen

Hi,

so wie ich das sehe liegt es an deiner Schleife : while(1)...
diese wird niemals beendet. Darum hängt sich die PSP irgendwann auf, da sie ja über sceKernelExitGame();
weiß das die HB eigentlich zu ende ist, dein Thread aber noch in der schleife läuft...

Besser ist hier eine Bedingung zu nutzen wie z.Bsp.

while (running){
}
außerhalb der schleife setzt du dann sceKernelExitGame();
den wert für running setzt du auf false, wenn die home-Taste gedrückt wurde (und dann der callback thread "ENDE" signalisiert, oder wenn du die HB von dir aus beenden magst...

27.07.2010 08:33
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Folgende User bedanken sich:
Yata (Jul-27-2010)
Yata
Halbprofi
***


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

Status: Offline
Danke erhalten: 23
Beitrag: #23
RE: keine EBOOT.PBP beim debuggen

Danke für deine hilfe anmabagima.Ob while(running){} oder while(1){} ist das selbe nur while(1){} geht schneller xD.Aber hab das Problem gelöst,funktioniert jetzt einwandfrei mein menü xD.

Greezt
Yata

27.07.2010 22:33
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: #24
RE: keine EBOOT.PBP beim debuggen

Kann kann aber auch die While-Bedinung auf "1" lassen, wenn man z.B. folgendes macht:

Code:
SceCtrlData pd;

while(1)
{
        sceCtrlReadBufferPositive(&amp;pd,1);
        if(pd.Buttons &amp; PSP_CTRL_CROSS)
                break;
}

sceKernelExitGame();


Mit "break" kann man die Schleife stoppen.




PSP 1004 - Datecode 6B - CFW 5.00 M33-6
PSP 3004 - Datecode 8D - OFW 6.20
27.07.2010 22:39
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: #25
RE: keine EBOOT.PBP beim debuggen

Hi,

in der Theorie hast du 100% recht, aber im Sinne von Software-Engeneering ist dies eher ein schlechter Stil. Man sollte es vermeiden mit GOTO, BREAK oder ähnlichen Sprungmarken-Befehlen den Programablauf zu steuern, da die Programme dadurch schnell unleserlich werden...

28.07.2010 08:14
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
HacKmaN
Ex-Developer
*


Beiträge: 2.423
Gruppe: User
Registriert seit: Oct 2009

Status: Offline
Danke erhalten: 3319
Beitrag: #26
RE: keine EBOOT.PBP beim debuggen

Ich machs üblicherweiße so:

Code:
SceCtrlData paddata;
while(paddata.Buttons != PSP_CTRL_CROSS)
{
     sceCtrlReadBufferPositive(&amp;paddata, 1);
     // und so weiter
};


Dann kann man halt den X Knopf nicht in der Schleife benutzten.

Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2010 13:27 von HacKmaN.

28.07.2010 13:26
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: #27
xPSP  RE: keine EBOOT.PBP beim debuggen

anmabagima :
Hi,

ich hab' eine CFW 5.50 GEN irgendwas....da klappt das debuggen mit psplink ohne probleme :o)

Als kurze Erklärung:
Ich arbeite mit Eclipse und habe dort usbhost als externes Tool eingebunden - ebenso wie pspsh (shell für psp)...
Dann auf der PSP die PSP-Link HBN starten. USB Kabel rein und das externe Tool usbhost und danach pspsh über eclipse gestartet....dann kann man in eclipse den Debugger einrichten. In der psp-shell wird über den Befehl "debug myHB.prx" die HB im Debug-Modus gestartet...dann noch den Eclipse debugger anschmeißen und die HB wird gestartet und der debugger hält als erstes in der main.c/.cpp an....läuft bei mir auch unter Windows 7(64Bit) ohne knurren :o)

Gruß AnMaBaGiMa

Danke. Ich hab Ubuntu. Normalerweise hab ich Sachen einfach mit ./test.prx gestartet ich probier es mal mit dem debug Befehlt.




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!


28.07.2010 13:50
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: #28
xPSP  RE: keine EBOOT.PBP beim debuggen

So gehts doch viel einfacher:

1. usbhostfs_pc starten
2. Irshell auf der PSP starten
3. Bei irshell auf Directory List (1. Icon)
4. Dann auf usbhost0:/
5. Dann die Eboot auswählen
6. Starten

Wenn man das HB beendet landet man wieder bei IRshell und die Eboot ist noch ausgewählt.
So mach ich es jedenfalls.

Einfach immer nur am Rechner auf Build & Clean drücken und auf der PSP einfach 2x X und die Eboot ist an. Big Grin

@anmabagima:

Also ich arbeite gerne mit break; und continue; und der Code wird aus meiner Sicht nicht unübersichtlich.




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

Dieser Beitrag wurde zuletzt bearbeitet: 28.07.2010 16:14 von Arcanum.

28.07.2010 16:12
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: #29
RE: keine EBOOT.PBP beim debuggen

Hey,

jeder hat seinen eigenen Stil Smile don't worry Big Grin

29.07.2010 15:58
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Seiten (2): « Erste < Vorherige 1 [2] Letzte »
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
xGames EBOOT.PBP decompilieren middey 4 2.424 05.11.2012 02:33
Letzter Beitrag: dx3m
xPSP Eboot.pbp Version Information ändern ? shaplayer 16 6.407 13.05.2012 15:58
Letzter Beitrag: shaplayer
xPSP LUA - hilfe beim coden benötigt SIM sk 23 4.860 06.02.2012 17:37
Letzter Beitrag: duLouser
xPSP (LUA) Problem beim PSP Quiz pandoraboy 7 2.113 23.07.2011 17:01
Letzter Beitrag: secret
xPSP PSP stürzt ab beim Laden der EBOOT Arktos 4 2.728 29.06.2011 14:05
Letzter Beitrag: Arktos

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




» zum Seitenanfang